Picture of Build your own Arduino - Bare Bone System
I’ve read through a lot of tutorials online to make an Arduino Clone on a breadboard, and some of them are great, but none of them really seem to have it all, so I’m going to attempt to bring it all together here and provide a tutorial with schematics, breadboard photos, Bill of Materials, and descriptions of all the materials.

I’m going to provide the schematic for the system I am building here along with breadboard photos as it is constructed. You can also refer to the Standalone Arduino Tutorial on their website for breadboard photos and more explanations. (

My Recommendation:

Before you attempt to make your own, buy one.  Its much easier to troubleshoot this when you know how it works and whats going on. If you buy one or even just borrow one and have a chance to play with it, load some programs, test it all out, it will be a lot easier to troubleshoot what is wrong when you start building it.
Remove these adsRemove these ads by Signing Up

Step 1: What's Needed

Picture of What's Needed
The following is a list of all materials needed for this tutorial.  The next step will go into more depth of each component, what’s necessary, and what can be changed. 

***NOTE*** : BOM stands for Bill Of Materials.  This is simply a detailed list of each item that is needed, the quantity, price, etc to catalog all the necessary information.

Components (included in BOM):

1. 1 x LM1117T-3.3/NOPB Voltage Regulator (3.3V)
2. 1 x LM7805CT Voltage Regulator (5V)
3. 1 x LED RED
4. 1 x LED GREEN
5. 2 x 220 Ohm resistor
6. 1 x 10k Ohm resistor
7. 4 x 10 uF capacitor
8. 2 x 22 pF capacitor
9. 1 x 16 MHz clock crystal
10. 1 x Atmel ATmega328P-PU AVR microcontroller WITH ARDUINO BOOTLOADER
11. 1 x 28 Contact DIP Socket
12. 1 x 9 Volt Battery Connector
13. 1 x 9 Volt Battery

Also needed (not included in BOM):

14. 22 AWG wire
15. 5 Pin Header
16. 1 x small momentary normally open ("off") button
17. 1 x FTDI FT232 USB Breakout board
18. Breadboard (prototyping board)
mithra5007 months ago

I had some problems getting a sketch to upload until I figured out
FTDI pin 4 goes to chip pin 2 and FTDI pin 5 goes to chip pin 3. This instructable has it reversed. Unfortunately I had just etched a PCB. :(

BooRan (author)  mithra5007 months ago

Wow, im really sorry about that mistake. I can't believe I haven't caught that yet. You are correct, RX should go to TX and TX to RX. I'll try to get an updated schematic loaded. Thanks for the catch!

mithra500 BooRan7 months ago

Hey no worries, I found your instructable to great information and I appreciate the time you put into it!

mjvaughn7 months ago
The 1uf electrolytic capacitor is not listed in step 1 or 2 or BOM or anything
BooRan (author)  mjvaughn7 months ago

Sorry about that, it looks like i forgot to explain it. Your circuit may not actually require this component but I like to include it. It's going to help the FTDI chip get the reset pin held when it needs to reset the micro before programming. I believe most of the Arduino boards don't include this component.

mjvaughn8 months ago
Great instructable!!! Maybe you could do one on how to build the FTDI breakout board, there's a schematic on sparkfun and it looks pretty easy
Hi. Thank you for the instructable. I followed the circuit but took out the power supply part (powering with the ftdi breakout) and also the reset button part as I don't think I need it in what I am trying to do. I bootloaded the atmega328p-pu and tried to run the Blink program. but. I am getting this error

avrdude: stk500_getsync(): not in sync: resp=0x00.

reading materials online for hours and I am not able to figure it out. I was wondering if you could point me in the direction so I could solve this issue. thank you.
BooRan (author)  cool_ece_friend11 months ago

I apologize for such a late coming response.

If you havent found a solution yet....

You definitely need to have the reset circuit going. The programmer needs to reset the target immediately before programming it. I guess you could remove the button itself but make sure the pullups and programming connecting are still working properly.

inaydenov12 years ago
can i use this?
BooRan (author)  inaydenov12 years ago
yea, this looks like it should work fine. Just be careful which power you use. You can only connect one to the circuit at a time. You should be able to you either 3.3 or 5 on the Atmega328 chip
hanlin_y BooRan2 years ago
It works but when you upload a program, you have press reset once the status says "Uploading..."

I think the RX pin of the chip should be connected to the TX pin of the TTL converter and vice versa.

Should the capacitor at pin 1 be reversed?
inaydenov12 years ago
(removed by author or community request)
BooRan (author)  inaydenov12 years ago
I don't understand what you're asking here. You're going to need to give some more details.
diy_bloke2 years ago
Just want to let you know that the reset capacitor is not really that critical. I have used a 100nF and even a 50nF capacitor and that worked well. Many FTDI boards may already have a capacitor in the reset line and if so, you do not need one on the breadboard.... as long as you remember this when you are using another FTDIadapter that may not have this capacitor :-)
diy_bloke2 years ago
Interesting. Just a 'word of warning' to people using a breadbord for this: I have build bare bone arduino's on breadboard and had many problems connecting to them (getting sync errors). Mostly this was because of the crystal -that has very thin pins- not connecting well in the breadboard.

That is one of the reasons I always just build one on a PCB :-) cheaper as well. Nevertheless, great article, especially for the less electronically experienced amongst us
this is a F232RL TINY BREAKOUT
BooRan (author)  ferraririder1232 years ago
I can't guarantee from the picture, it looks like it should be fine as long as you wire it up correctly. Can you provide a link to the product somewhere so I can take a better look?


both are same
BooRan (author)  ferraririder1232 years ago
Yea, this looks like a good deal. Basically looking that its F232RL and UART protocol, which it is.
jeffeb32 years ago
Good work. Can you mention early that BOM means Bill of Materials? I was confused for awhile, because I'm not familiar with that term.
BooRan (author)  jeffeb32 years ago
Thanks for the tip, i added a note about it in the second step.
omnibot2 years ago
Well documented.
I find AVR-labels to be very helpful with this. Here's some links:
Bare Bones Breadboard Arduino Labels
Adafruit AVR Sticker for Breadboard Arduino-compatibles – 10 pcs
Arduino chip sticker label - I believe this is the original
BooRan (author)  omnibot2 years ago
AVR labels seem nice and convenient. Im used to looking back and forth at data sheets for pinout charts so i've never really used the labels myself.
very well documented, thanks for this!