Summary
Okay, so you want a Sanguino but you don't want Zach's Sanguino. It's too expensive ;-> Or too red ;-> Or you just have to have it NOW. And you just used up the last of your solder so a strip board is out. What are you to do ... bread board Sanguino.
Of course, nothing in life is free. While the bread board Sanguino is easy and quick, it also is very limited. You'll need a +5V regulated power source. You can either put one together yourself or use something like the
Solarbotics bread board power supply. And there's not much space left for other components. And it takes up a bit of space. And ... if all that is okay it's a pretty easy way to quickly get a Sanguino.
Oh, and by the way, I lied. You'll need to do a bit of soldering if you are going to download the Sanguino bootloader or use the USB serial cable ...
Thanks
Thanks to the Arduino creators. And the entire Arduino community. I knew nothing about micro-controllers before I got my first Arduino. Now I know just enough to be dangerous. Actually, a whole lot more than just enough ... And thanks to Zack. One of my projects was bumping against the 16K limit. Sanguino to the rescue. Plus he's been quite helpful as I've been designing a bit beefier board derived from Sanguino.
Parts
Breadboard
Atmega644p
16MHz crystal
momentary switch
4 x .1uF capacitor
2 x 22pF capacitor
10K resistor
3 x 6 pin male header
1 3 pin by 2 row male header
6 wire ribbon cable, about 4-6 inches
3/32 heat shrink tubing, about 4-6 inches
22g wire
Wire cutter and stripper
644p pin configuration
I'll list the 644p pins that are important to the bread board sanguino. See the [[http://www.atmel.com/dyn/Products/Product_card.asp?part_id=3896 summary data sheet]] for more info. Pins 1-20 are on the left side of the chip, pin one at top, pin 20 at bottom. Pins 21 to 40 are on the right side of the chip. Pin 21 on the bottom, pin 40 at top.
6 - MOSI. Side A, row
7 - MISO. Side A, row 16.
8 - SCK. Side A, row 17.
9 - Reset. Side A, row 18.
10 - VCC. Side A, row 19
11 - GND. Side A, row 20
12 - XTAL1. Side A, row 21
13 - XTAL2. Side A, row 22
14 - RXD (read from serial port). Side A, row 23
15 - TXD (transmit to serial port). Side A, row 24
30 - AVCC. Side B, row 20
31 - GND. Side B, row 19
32 - AREF. Side B, row 18
Build it
The bread board Sanguino was derived from the Sanguino schematics. I kept all the critical stuff and tossed the rest.
What is critical: The stuff in the parts list above. Need the crystal to give the Sanguino a clock signal. The 22pf caps are required for the crystal. Three of the .1 uF caps are needed to decouple VCC and GND, AVCC and AGND, and AREF and AGND. The fourth .1 uF cap is used for the reset on download feature. 10K resistor is the reset pin pull-up resistor. A pull-up resistor keeps a pin "pulled" high until a switch connects it to ground, which in this case causes the 644 to reset. Two of the 6 pin male headers are used to make a connector for the FTDI USB to serial cable. The third 6 pin header and the 3 pin by 2 row header are used to make a conversion cable from the AVRMK-ISP2 or USBTiny to the bread board. Ribbon cable is used to make the connecting cables. Heat shrink is used for the connecting cables, making sure that the soldered pins don't short. And lastly, the 22g wire is used to make connections.
**Components **
Put the bread board down vertically. Row 1 at top, blue rail left, red rail right.
Place the 644p into the bread board. Pin 1 into bread board hole 10D.
Place the momenteary switch's pins into bread board rows 1 and 3.
Place the crystal into side A, rows 30 and 32, column B.
Place a .1 uF cap into row 9, one pin in side A, the other in side B. This is the reset on RTS cap. We'll be "building" a serial port on side B, pins 4-9.
Place a .1 uF cap into side B, rows 18 and 19, column H. Decouple AREF from AGND.
Place a .1 uF cap into side B, rows 19 and 20, column I Decouple AVCC from AGND. Yep, row 19, pin 2 from right has 2 cap leads in it. It's a tight fit but can be done.
Place a .1 uF cap into side A, rows 19 and 20, column C. Decouple VCC from GND.
Place 10K resistor into side A, VCC rail, to Side A, hole 18A. This is the pull up resistor for RESET. Strictly speaking it isn't necessary. The 644p has an internal pull up resistor. But it's a little tiny one that is easily defeated. Better to put a bigger one off chip.
Place a 22pf capacitor from Side A, GND rail, to Side A, hole 30A.
Place a 22pf capacitor from Side A, GND rail, to Side A, row 32A.
** Wires
Side A, VCC rail to hole 1a. Used as part of circuit bridging VCC from left rail to right.
Side B, hole 1J to side B VCC rail. Also part of bridge from VCC left to right.
Side A, hole 3B to hole 9B. This will carry RESET from the RESET cap to the momentary switch.
Side B, hole 4J to GND. Carry GND to serial port.
Side B, hole 6J to VCC. Carry VCC to serial port.
Side A, 7A to 23A, and 7E to Side B, 7G. Bring Rx to serial port.
Side A. 8A to 24A, and 8E to SideB, 8G. Bring Tx to serial port.
Side A, 9C to 18C. Bring RESET from chip to reset cap.
Side B, 18J to VCC on right. AREF.
Side B, 19J to GND on right. AGND.
Side B, 20J to VCC on right. AVCC.
Side A, 21C to 31C. XTAL from chip to crystal. Note that the picture is deceiving. It looks like the pin goes to 30C. It doesn't. The wire is bent a bit and goes to 31C. Ditto 21C, it really goes there.
Side A, 22C to 32C. XTAL from chip to crystal.
HUZZAH!!!! That's it, you've got a bread board Sanguino. And no way to talk to it ... Next up, yackety yack.