I often use Arduino to test out my project prototype before complete it. Sometimes, I wanted to test more than one project at the same time. I would need more Arduino, but the original Arduino is over my budget for prototyping purpose. Therefore, I decided to make my own Arduino. Some of the benefits of making your Arduino (at least for me) are it is cheap, easy, learn to design PCB and electronics at the same time. Although there are a lot of guides on how to make your own Arduino, I decided to make one so as I can share with my readers, and at the same time document it for myself.

Official Arduino Uno Board
Official Arduino Uno Board

First, I am going to list a few basic items and parts required for standalone Arduino.

– Atmega328P microcontroller with  UNO Bootloader ( An empty chip will do if you have an Arduino and burn the bootloader on your own)

– 16MHz Crystal x1

– 22pF ceramic capacitor x2


– LM7805 voltage regulator x1

– 100uF capacitor x1

– 10uF capacitor x1

– Tact switch x1 (For reset)

– 10k ohm resistor (For reset)

– LED (For pin13 indicator)

– 330 ohm resistor (LED)

– 28 pins IC Socket

Besides, the parts mentioned above, another important part that you need is a USB to UART converter. You would need this to program your Arduino from your computer. There are a few USB to UART converter available to you, most of them uses FT232RL IC, but I will also show you the one that I am using, which uses PL2303 IC.

Breakout Board for FT232RL USB to Serial from Sparkfun
Breakout Board for FT232RL USB to Serial from Sparkfun
USB to UART converter from Cytron
USB to UART converter from Cytron
Pin mapping of Atmega328P with Arduino functions

Although the image are of Atmega168, but the pins are same as Atmega328. The difference between them are the programming space where Atmega328 has double the space as Atmega168.

The official webisite for Arduino provides the schematic of Arduino Uno Design which is available here. You can take this as a reference when designing your board. However, I will share with you the schematic I used while making my own Arduino.

Schematic of Arduino in Eagle Cadsoft

A simple schematic of Arduino designed with Eagle Cadsoft. Basically it consists of two parts, which is the power supply and the microcontroller part. I used LM7805 linear voltage regulator to supply the whole circuit. Note that the input voltage should be at least 1.5V to 2V higher than the output voltage for LM78xx linear regulator. A toggle switch is used to turn on and off for the whole circuit.

For the microcontroller part, it is basically minimum circuit to run an Arduino. A pull up resistor on pin 1 (reset) for Atmega328P chip. A 16MHz crystal is used for the clock frequency. A LED is connected to for digital pin 13. Simple.

Layout of Arduino in Eagle Cadsoft

This is the first Arduino I made on a PCB. All the pins of Atmega328P are extended to nearby female header. I couldn’t make it the same as the original Arduino Uno pin. The only downside is I can’t use any available Arduino shield. However, it still able to serve for my purpose to prototype my projects.

My first Arduino on PCB
Bottom view of PCB.
Traces are coated with soldering lead.
Designed by Zx lee

Step by step to build your Arduino on breadboard.

Insert LM 7805 5V Linear Regulator
Insert LM 7805 5V Linear Regulator
Connect the outer rail on breadboard
Connect the inner rail on breadboard
Connect ground of regulator
Connect 5V output of regulator
Connect 100uF capacitor on regulator input
Connect 10uF capacitor on regulator output
Insert Atmega 328P microcontroller
Connect 5V to pin 20
Connect 5V to pin 7
Connect GND to pin 8
Connect GND to pin 22
Connect 5V for USB to UART converter
Connect GND for USB to UART converter
Connect GND for reset button
Make the connection for reset button to pin 1
Connect 100nF capacitor for reset
Connect from capacitor to pin 1
Connect Tx of USB to UART converter to pin 2
Connect Rx from USB to UART converter to pin 3
Insert reset button
Insert 10k ohm pull up resistor to pin 1
Insert 16MHz crystal between pin 9 and 10
Insert two 22pF capacitors from pin 9 to GND and pin 10 to GND
Insert 330 ohm resistor to pin 19
Insert LED from 330 ohm resistor to GND

The video demonstrate a breadboard setup for Arduino and running the LED blinking sketch.

I think that for a hobbyist, one will never have too much of Arduino because there is just too much of things to try out. So, enjoy making your own Arduino and create cool projects.