Making your own Arduino Board

The most important part of Arduino Uno R3 (the board that you are using) is ATMega328 chip. It is the micro-controller of the board. A micro-controller can be thought of as a mini-computer. It has a processor, RAM and execution capabilities. So if we get ATMega328 can we build an arduino board by ourselves? Lets find out!

Things required:

  1. An arduino bootloader ATmega328 [microcontroller chip]
  2. LM7805 IC [for voltage regulation]
  3. 16 Mhz crystal [for providing the clocks]
  4. Tactile button [for resetting]
  5. LEDs
  6. Capacitors – 22pF (2 Nos), 10uF (2 Nos), 0.1uF (2 Nos)
  7. Resistors – 220Ohm (2 Nos), 1k (2 Nos)
  8. Pin headers (Male) [for analog and digital pins]
  9. 28 pin IC socket [to host ATMEga328]
  10. Another Arduino Uno R3 board [to be used for copying bootloader for the first time]
  11. Mini-breadboard

Software required:

  1. Arduino IDE [ link: ]

Circuit Diagram:

Arduino on breadboard

The circuit diagram of the circuit above is as follows:

Schematic of Arduino on breadboard
Schematic of Arduino on breadboard

Uploading the bootloader to the blank ATmega chip

Linking two Arduino together to copy bootloader
Linking two Arduino together to copy bootloader

Make connections as per the diagram above. You will also need two arduino boards for this : one will be a working arduino board and in the other one the blank ATmega chip needs to be inserted. We will be using the ICSP (In Circuit Serial Programmer) pins of the arduino for this. After making the connections shown connect the working arduino to your PC. Next, open the arduino IDE and go to the tools menu; select burn bootloader and from it’s options click on w/ Arduino as ISP.  Now the chip will be bootloaded with arduino.

Using the board to upload the code:

Now you have an arduino board with an arduino bootloader ATmega chip. Now use the Rx, Tx and Gnd pins to connect to a USB-UART TTL converter which can be used to connect to your PC. Or just insert a chip that has been uploaded with the program (from an arduino board) into this board’s socket.

Kudos! 🙂

Post ref: #C68M3K1.NK