Here's how to make a simple, cheap breadboard Arduino. Depending on the chip and bootloader, you can end up with an Arduino Uno or Duemilanove.
- Atmel ATmega328P w/ bootloader $5.50 + shipping from Sparkfun
- Electronics parts $4 + shipping
- FTDI programmer $14 (which you can reuse) + shipping
- Breadboard ($5-15 but if you're like me, you have several laying around)
Breadboard and Protoboard Arduinoshttp://arduinofun.com/blog/2009/10/15/breadboard-arduino/
Buying PartsTo make it super simple, here are most of the parts at Mouser (just order qty 1 of the whole project). Now just buy the wire, the FTDI programmer for Arduino, ATmega328P with Arduino bootloader (from Sparkfun; they are now using the Uno bootloader) and a breadboard from Radio Shack, etc.
If you want to source parts on your own here's the list. You can use this list as a guide to order from Digikey to get free shipping by mail order.
- ATmega328P with Arduino Uno bootloader (Sparkfun)
- 5V FTDI breakout board programmer (Sparkfun)
- Breadboard (30 row minimum) (Sparkfun, Radio Shack 276-0003)
- (opt) 2 x 1K resistors
- 6 pin breakaway header
- 4 x 0.1uF capacitors (MLCC)
- (opt) 3 x 1uF electrolytic capacitors
- 3mm diffused LED (or, really any standard LED)
- 470 ohm resistor
- 16.0000 MHz crystal and 2 x 22pF capacitors -or- 16MHz ceramic resonator (try Sparkfun, Electronics Goldmine, etc)
- Tactile momentary switch (take apart that broken DVD player, VCR, etc)
- 10K resistor
- Hookup wire (red, black, and one other color for the reset line)
- (opt) 7805 voltage regulator (available just about everywhere)
- (opt) 9V battery connector (Radio Shack)
Assembly InstructionsThese instructions are for the type of breadboard with two power rows at top and bottom (like the Radio Shack 276-0003) and it uses a two-pin crystal/resonator, that is, one without capacitors built in.
|An older Arduino with Duemilanove bootloader|
- Install the ATmega328P on the board with pin 1 at row E9.
- Install a 6 pin header at D1-6 for the Sparkfun FTDI programmer
- Wire up power and ground wires as shown above (the AVR uses VCC, Analog VCC, and Analog REFerence)
- Install 0.1 (104) capacitors across 9V power at F1-2 and across G15,17
Now install optional 1uF electrolytic capacitors as above, across 9V power G1-2 and both 5V power rails.
Install the 7805 at I1-3.
Install a reset button at H6,8 with a line from I6 to ground and G8 to pin 1 of the ATmega, D9. I used a reset button I salvaged from a junk CD player. I chose a right angle as it fit best. I cut off the support part of the case to make it fit. See below.
Install the 1k TX/RX resistors across C5,11 and A4,10 (pins 2 and 3 of the ATmega) The serial ports and the reset port are used by the Arduino bootloader.
Install the 10k pull-up resistor across A3,9, that is, between VCC on the FTDI header and ATmega pin 1.
Now squeeze a 0.1 uF (104) capacitor between C6,9, that is DTR on the FTDI and ATmega pin 1
Might as well put a 0.1uF (104) capacitor across the ATmega Vcc/GND pins C15,A16. Install 27pF capacitors for the crystal: one at D16,17 the other at C16,D17. Install the crystal across ATmega pins 9 and 10. I had to install mine diagonally: A16,C17 as below: Or, use my eeZee Breadboard Crystal.
For the final touch, to make it fully compatible with the Arduino, add the LED circuit: a 470 ohm resistor from G18,23 and an LED at F23,24 (digital pin 13 on the Arduino).
And that's it, you now have an Arduino on a prototyping breadboard. I've built a half dozen of these along the way for various prototyping and experimenting.
They work great, they're easy to do once you've done a few. Even better when your Arduino bootloader enabled ATmega has a decal on top labeling pins. Most do, nowadays.