• Register
  • Login
  • Need more Arduino board? Do not spend more money for another one. Why not try to build your own DIY Arduino board? It is easy and simple.

    DIY Arduino Step 1

    Get an Atmega328–PU or Atmega328P-PU (with bootloader inside).

    atmega328p

    atmega328p

    A brief introduction on the Atmega328 chip:

    • 8-bit MCU
    • 32kB Flash Memory
    • 1kB EEPROM
    • 2kB SRAM
    • 23 general purpose IO lines
    • 6-channel 10 bit ADC
    • SPI and I2C capabilities

    Make Your Arduino Step 2

    Connect the circuit as below:

    arduino breadboard

    Arduino Breadboard schematic

    TAKE NOTE

    In this post, I will talk about uploading sketches using FTDI programming port. In the next post, I will talk more about uploading sketches and burning bootloader using the ICSP programming port. Get one FTDI programmer here.

    Build Your Arduino Step 3

    Using FTDI programmer:

    Now I will address one of the issues of making your own Arduino. On the Uno boards, there’s an IC which is responsible as a USB to serial converter and it makes it possible to program the Arduino and also communicate with it from the computer.

    The problem here is the IC is an SMD (Surface Mounted Device). The R3 uses an ATmega 16U2 while the older revisions uses the 8U2. So, we need an FTDI programmer for the purpose of uploading the code/sketch into the chip.

    FTDI programmer

    FTDI programmer

    When you first plug in your FTDI programmer into your laptop, you have to install the driver file. Get the driver file here.

    Once installed, just connect the FTDI programmer to the FTDI programming port of DIY Arduino accordingly.
    Finally just click on upload to upload the code into the chip!

    If you don’t have the extra 16 MHz crystal and 18-22 picofarad capacitors used in the above examples, you can configure the ATmega328 to use its internal 8 MHz RC oscillator as a clock source instead. You don’t really need the 10K pullup resistor on the reset pin either, so we remove it to get a truly minimal configuration.

    You’ll need to install support for an additional hardware configuration:

    • Download this hardware configuration archive: breadboard.zip
    • Create a “hardware” sub-folder in your Arduino sketchbook folder (whose location you can find in the Arduino preferences dialog). If you’ve previously installed support for additional hardware configuration, you may already have a “hardware” folder in your sketchbook.
    • Move the “breadboard” folder from the zip archive to the “hardware” sub-folder of your Arduino sketchbook.
    • Restart the Arduino software.
    • You should see “ATmega328 on a breadboard (8 MHz internal clock)” in the Tools > Board menu.

    Once you’ve done this, you can burn the bootloader and upload programs onto your ATmega328 as described above. Be sure to select “ATmega328 on a breadboard (8 MHz internal clock)” when burning the bootloader.

    If you select the wrong item and configure the microcontroller to use an external clock, it won’t work unless you connect one.

    Finally, you have success in making your own DIY Arduino, meaning that you can upload arduino coding into your chip!

    VINduino on stripboard

    VINduino on stripboard

    
    subscribe to newsletter

    11 Responses to "Build Your Own Arduino Board"

    1. It looks very interesting now to find a source here in South Africa

    2. In all honestly, it doesn’t look that difficult.
      The only thing that I’d find difficult about it, is to where you’d find some of the components. Like for example the 28 pin chip.

    3. txdo_msk says: on May 2, 2013 at 4:48 am

      Just make sure you know what you’ve ordered. If its super cheap, it probably doesn’t have a bootloader installed.

      That is a problem if you don’t have access to a fully operable Arduino or AVR programmer.

      I purposely bought bare chips to learn Arduino from the ground up, so I didn’t mind loading a boot loader. I’m designing my own shield to go on my boards so I can program quantities of chips.

    4. prinsa says: on May 15, 2013 at 5:29 pm

      i am looking forward to make this one during my vacations. thanks

    5. all the component such as resistor and capacitor dont have value. better put the value.

    6. Really you don’t need a 16mhz cristal? the codes you upload work fine? like as if you should have an a 16mhz cristal?
      I’m very insterested in this part.. in my country the components are very expensive and I’ve need to remove all I can!

      Thanks for reading..

      Best Regards!

    What do you think about this article? Leave a comment!

    You may add a picture too