Breadboard Sanguino
Breadboard Sanguino

Summary

Okay, so you want a Sanguino but Zach's Sanguino is 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 …

And one last thing … this page is derived from an entry on the [Gorilla Robotics blog].

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 [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. left row 15
7 - MISO. left row 16.
8 - SCK. left row 17.
9 - Reset. left row row 18.
10 - VCC. left row row 19
11 - GND. left row row 20
12 - XTAL1. left row row 21
13 - XTAL2. left row row 22
14 - RXD (read from serial port). left row row 23
15 - TXD (transmit to serial port). left row row 24
30 - AVCC. right row 20
31 - GND. right row 19
32 - AREF. right 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 momentary switch's pins into bread board 1D, 1F, 3D, and 3F.

Place the crystal into rows 31E and 33E

Place a .1 uF cap from 9E to 9F. This is the reset on RTS cap. We'll be "building" a serial port on the left side, rows 4-9.

Place a .1 uF cap from 18I to 19I. Decouple AREF from AGND.

Place a .1 uF cap from 19I to 20I. Decouple AVCC from AGND. Yep, 19I, has 2 cap leads in it. It's a tight fit but can be done.

Place a .1 uF cap from 19C to 20C. Decouple VCC from GND.

Place 10K resistor from left VCC rail to 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. Common practice seems to be to use a bigger one off chip.

Place a 22pf capacitor from left GND rail to 31A.

Place a 22pf capacitor from left GND rail to 33A.

Breadboard Sanguino

** Wires **

1A to left GND. Part of the reset circuit from momentary switch to ground. Pressing switch connects reset to ground, resetting the chip. Also bridges GND from left GND rail to right GND rail through momentary switch.

1J to right GND rail.

3C to 9B. This will carry RESET from the RESET cap to the momentary switch.

4J to GND. Carry GND to serial port.

6J to VCC. Carry VCC to serial port.

7A to 23A, and 7E to 7G. Bring Rx to serial port.

8A to 24A, and 8E to 8G. Bring Tx to serial port.

9C to 18C. Bring RESET from chip to reset cap.

18J to right VCC. AREF.

19A to left VCC, chip VCC.

19J to right GND. AGND.

20A to left GND, chip GND.

20J to right VCC. AVCC.

21C to 31C. XTAL from chip to crystal.

22C to 33C. 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.

Serial

Serial "port" is on the breadboard side B, column h, rows 4-9. FTDI USB cable black wire to row 4, green to row 9.

The FTDI cable has a female header. The short side of a male header is too short to fit into the breadboard. Easiest if you have them, is to use double length male headers to connect FTDI female connector to bread board hole. More likely you'll need to take two of the 6 pin male headers, and solder the short legs to each other. See the picture. Normally I use shrink fit tubing over bare wire after I solder to protect against shorts. But, there's no way to get them on in this case. So just solder REAL carefully.

To use the serial port, plug the FTDI cable into your computer and into the double sided male header you just created, which in turn is placed into the breadboard.

ICSP

ICSP "port" is on side A, column B, rows 15-20.

Both the AVR MK-ISP2 and the USBTiny use a 6 pin ICSP female header, in a 2 row by 3 pin configuration. We need to make a cable going from a 2x3 male header to a 1x6 male header. We need to make the following cable using text mode "art":

Note, we are looking at the 2x3 header from the bottom. That is, at the pins.

To construct this cable, use either a crimping tool or solder. If you solder, split the ribbon cable back far enough that you can get in a bit of heatshrink without it shrinking when you solder the wire to the short side of the pin. After the wire is soldered, pull down the heat shrink to cover the joint, then shrink the tubing.

To use the ICSP port, plug your programmer into your computer, and the converter cable you created above into the 2x3 female connector of the programmer's cable. Green pin is pin 1, black is pin 6. Now plug the 1x6 end of the converter cable into the breadboard. Grey pin in hole 15B, Black in hole 20B.

Conclusion

Well, that's pretty much it. Follow the directions for setting up the Arduino environment to use Zach's Sanguino variant. Use the ICSP converter to plug into the bread board ICSP "port". Download the bootloader. And then use the breadboard serial port to download programs.

Send comments or questions to giuliano at gorillacoder dot org.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License