Introduction: How to Breadboard Arduino Compatible.
It's no secret that around oomlout HQ we're huge fans of the open source Arduino micro-controller. The pre-made Duemilanove board is an amazing prototyping platform, but sometimes its fun to make something for yourself. What follows is a guide on how to take a breadboard and pile of components and turn it into your very own Arduino compatible machine.
All the steps below are summarized in a fun printable guide down-loadable below (BBAC-Assembly-Guide.pdf).
The breadboard layout sheet is downloadable from step 2.
Lets get going...
(shameless plug)
We also sell a kit with all the parts (a breadboard, printed layout sheet, and printed guide) so you can get making right away.
(in the UK Breadboard Arduino Compatible Kit (BBAC))
(open source)
We like to be as open as we can be at oomlout, in keeping with this attitude all the design files (sketchup models, corel draw layouts, pdfs etc.) can be found at http://www.oomlout.com/BBAC/ (if you feel something is missing or would like a file in a different format drop as a message (info@oomlout.com) and we'll try and help you out.)
Attachments
Step 1: The Parts
Required Parts:
- 0 ohm Resistor (x12) (digikey)
- 560 Ohm Resistor (x2) (digikey)
- 10 k ohm Resistor (x2) (digikey)
- 100 micro Farad Capacitor (x2) (digikey)
- 100 nano farad capacitor (x2) (digikey)
- 22 Pico Farad capacitor (x2) (digikey)
- 16 MHz Crystal (x1) (digikey)
- 5mm Red LED (x1) (digikey)
- 5 mm Green LED (x1) (digikey)
- 50mm Jumper Wire (x8) (oomlout UK) (adafruit US)
- 6 Pin Header (Programming) (x1) (digikey)
- 7805 5Volt Regulator (x1) (digikey)
- 9 volt Battery clip (x1) (digikey)
- Pushbutton (x1) (digikey)
- Atmega 168 (with Arduino bootloader) (x1) (digikey) (you will need to burn the bootloader yourself)
- BBAC Sheet / Guide (x1) (downloadable on step 2)
- Breadboard (x1) (oomlout UK) (adafruit US)
Step 2: The Layout Sheet and Putting Together
To make component placement easy we've drawn up a breadboard layout sheet.
Simply print it out, lay it over your breadboard, and start placing components, or follow the step by step Lego style instructions below.
Attachments
Step 3: Programming
But do not fret you have a choice of two options, either using a spare Arduino Duemilanove board, or an FTDI USB-Serial cable.
option 1 - Using an Arduino Duemilanove Board
For this option we will use the USB circuitry (and reset capacitor) present on every Duemilanove board.
Step 1 - Remove the ATMega168 Chip
- Delicately pop the large chip out of its socket.
Using jumper wires, (there are notes on the layout sheet)
- connect digital pin 0 to digital pin 0
- connect digital pin 1 to digital pin 1
- connect the reset pin to the reset pin
- connect 5V to the red rail (5V)
- connect gnd to the blue rail (gnd)
- You're done open up the Arduino IDE and program your BBAC the same way you did your Duemilanove board
- This option will use an FTDI USB-Serial cable (In the UK (farnell). In the US they can be found here(adafruit))
- Plug the 6 pin female header on the end of the FTDI cable onto the 6 pin header on your BBAC (match the colors of the wires to those of the markings on the sheet)
- Next open the Arduino IDE, and program your BBAC normally. Well almost normally, you'll need to press the reset button before uploading each sketch.
Step 4: What's Next?
Congrats if all has gone well you have yourself a fully functioning Arduino compatible on a breadboard. (if it hasn't worked don't fret send an e-mail to help@oomlout.com and we'll try our very best to help you get it working).
16 Comments
8 years ago on Introduction
Just a note to let you know I have added this ( a year ago ) to the instructable:
Comprehensive Guide to Electronic Breadboards: A Meta Instructable
>> https://www.instructables.com/id/Comprehensive-Gui...
Take a look at a bunch of ideas for using breadboards.
10 years ago on Introduction
Thank you or this instructable but I see some things I do not understand.
1) why are you using 0 ohm resistors instead of wiring. I thought 0 ohm resistors were for machines and PCBs.
2) wouldn't you kill your 5v regulator when programming the chip?
12 years ago on Step 3
Can I program it with an arduino without taking out the Atmega chip??
Reply 11 years ago on Step 3
Not easily - you are hijacking the USB to serial chip on the Arduino board. How will it know it's talking to your chip on the breadboard rather than the one in the on-board socket if they are both there?
You could do it by cutting tracks on your Arduino board but I guess that's not what you want.
You might be able to do it by not connecting the reset pins together but shorting the reset on the Duemilanove to ground. That would potentially stop that chip interfering. You would need to press reset on your breadboard at the moment the IDE reports the compiled size of your sketch. I do not know whether this will work, but it might.
12 years ago on Step 3
I have problem with uploading.
It works fine with option 1 - Using an Arduino Duemilanove Board but not with option 2 - Using an FTDI USB-Serial Cable.
I did press reset button many times before uploading but the problem still remains.
The error shows "avrdude: stk500_recv(): programmer is not responding"
Anyone has ideas to solve this problem?
Please...
Reply 11 years ago on Step 3
Firstly, did you install the driver for the FTDI cable? Is it showing as a new COM port? Do you have that COM port selected?
If yes, are you selecting the correct chip type in the IDE? You need Duemilanove with '168 (if you are using the chip mentioned here).
If yes, when are you pressing reset? I find I need to release the reset switch just as the IDE reports (in the bottom window) the compiled size of the sketch.
If you are doing all of that and it's not working, I would check your connections - do you have TX & RX the right way around? Do you have power to everything?
From the error you report, my guess is it's a driver or COM port issue.
12 years ago on Introduction
the 0 homs resistors are used in automatic assemblies processes. that way you don't need to change the machine to assemble jumper wires. ... (I've read this somewhere)
Reply 12 years ago on Introduction
That's rather clever.
12 years ago on Introduction
Great instructable, thanks! Would you mind if I linked to this instructable from one of mine?
13 years ago on Introduction
What's the point of those 0Ω resistors? Why won't you use just wires instead?
Reply 12 years ago on Introduction
if u read the second picture in Step1, you will notice that it says "0 Ohm resistors (used as jumper wires)"
Reply 12 years ago on Introduction
Oh, you're right! And I was right too.
13 years ago on Introduction
You said that also right before my comment. And I'm still in that mind, that thay are just to make things look tidier. Just jumper wires.
13 years ago on Introduction
But they are zero ohms witch means they don't have any resistance.. I looked up from my local electronics store's website and find those 0Ω resistors and there was written something like "zero ohm resistors (jumper wires)..." So I think they are just for making things look tidier.
14 years ago on Introduction
Nice job. Sort of bullet-proof.
14 years ago on Introduction
Great tutorial! I just built the freeduino kit which is a pcb board with only two surface mount components and the mini usb component pre-soldered. The rest you do your self. It was very rewarding.