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

Step 1: The Parts

An Arduino compatible is super easy to make requiring just over a dozen different components

Required Parts:

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.

Step 3: Programming

This is a slightly complicated step. Because we do not have any USB-serial circutry on our breadboard additional hardware is required.

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.

Step 2 - Connect the appropriate wires
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)

Step 3 - Program your BBAC
  • You're done open up the Arduino IDE and program your BBAC the same way you did your Duemilanove board

option 2 - Using an FTDI USB-Serial Cable
  • This option will use an FTDI USB-Serial cable (In the UK (farnell). In the US they can be found here(adafruit))

Step 1 - Plug the cable in
  • 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)

Step 2 - Program
  • 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).
<p>Just a note to let you know I have added this ( a year ago ) to the instructable:</p><p> Comprehensive Guide to Electronic Breadboards: A Meta Instructable</p><p>&gt;&gt; <a href="https://www.instructables.com/id/Comprehensive-Guide-to-Electronic-Breadboards-A-Me/" rel="nofollow"> https://www.instructables.com/id/Comprehensive-Gui...</a></p><p>Take a look at a bunch of ideas for using breadboards.</p>
Thank you or this instructable but I see some things I do not understand. <br>1) why are you using 0 ohm resistors instead of wiring. I thought 0 ohm resistors were for machines and PCBs. <br> <br>2) wouldn't you kill your 5v regulator when programming the chip?
Can I program it with an arduino without taking out the Atmega chip??
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? <br><br><br><br>You could do it by cutting tracks on your Arduino board but I guess that's not what you want. <br><br><br><br>You <i>might</i> 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.
I have problem with uploading.<br>It works fine with option 1 - Using an Arduino Duemilanove Board but not with option 2 - Using an FTDI USB-Serial Cable. <br><br>I did press reset button many times before uploading but the problem still remains.<br>The error shows &quot;avrdude: stk500_recv(): programmer is not responding&quot;<br><br>Anyone has ideas to solve this problem?<br><br>Please...<br>
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?<br><br>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).<br><br>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.<br><br>If you are doing all of that and it's not working, I would check your connections - do you have TX &amp; RX the right way around? Do you have power to everything?<br><br>From the error you report, my guess is it's a driver or COM port issue.
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)
That's rather clever.
Great instructable, thanks! Would you mind if I linked to this instructable from one of mine?
What's the point of those 0&Omega; resistors? Why won't you use just wires instead?
if u read the second picture in Step1, you will notice that it says &quot;0 Ohm resistors (used as jumper wires)&quot;<br>
Oh, you're right! And I was right too.
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.
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&Omega; resistors and there was written something like &quot;zero ohm resistors (jumper wires)...&quot; So I think they are just for making things look tidier.<br />
Nice job. Sort of bullet-proof.
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.

About This Instructable




More by oomlout:How to Breadboard Arduino Compatible. RGB LED Tutorial (using an Arduino) (RGBL) Solderless Breadboard Layout Sheets (plug and play electronics) 
Add instructable to: