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

Optional

– 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
Atmega168PinMap2
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.

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.

Arduino1
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.

DSC08431
My first Arduino on PCB
DSC08432
Bottom view of PCB.
Traces are coated with soldering lead.
DSC08433
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
DSC08228
Connect the outer rail on breadboard
DSC08227
Connect the inner rail on breadboard
DSC08226
Connect ground of regulator
DSC08225
Connect 5V output of regulator
DSC08224
Connect 100uF capacitor on regulator input
DSC08223
Connect 10uF capacitor on regulator output
DSC08222
Insert Atmega 328P microcontroller
DSC08221
Connect 5V to pin 20
DSC08220
Connect 5V to pin 7
DSC08219
Connect GND to pin 8
DSC08218
Connect GND to pin 22
DSC08217
Connect 5V for USB to UART converter
DSC08216
Connect GND for USB to UART converter
DSC08215
Connect GND for reset button
DSC08214
Make the connection for reset button to pin 1
DSC08213
Connect 100nF capacitor for reset
DSC08212
Connect from capacitor to pin 1
DSC08211
Connect Tx of USB to UART converter to pin 2
DSC08210
Connect Rx from USB to UART converter to pin 3
DSC08209
Insert reset button
DSC08208
Insert 10k ohm pull up resistor to pin 1
DSC08207
Insert 16MHz crystal between pin 9 and 10
DSC08206
Insert two 22pF capacitors from pin 9 to GND and pin 10 to GND
DSC08205
Insert 330 ohm resistor to pin 19
DSC08204
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.

Advertisements