When I first started out with an ATtiny13 and ATtiny2313 I thought I could get into this on the cheap by building my own DAPA cable which is basically just a plug for your parallel printer port, a few resistors, and some cable to hook up to the chip. This did work to some extent. The biggest problem is that this will not allow you to change the speed your chip is running at. Add to that the fact that you WILL program the fuses incorrectly at some time and won’t be able to fix this without a better programmer. This make a DAPA cable darn near worthless.
After reading a bunch of stuff over at the AVRfreaks forums I decided it was time to purchase an AVR Dragon. The dragon is an advanced programmer that can handle ISP, JTAG, Debug Wire, and High Voltage programming. This may not mean anything to you but it boils down to being a full featured programmer that interfaces with your computer via USB and costs just over $50. Amazing!
Drawbacks… well, the AVR Dragon is not really ready to use right out of the box. I does have a 6-pin ISP header which you can use right away to program. It doesn’t have a case or anything protecting the delicate circuitry of this controller. You will find more than a few stories about this delicate programmer becoming non-functional. It also lacks any connections for high voltage programming, JTAG, or Debug Wire.
What the AVR Dragon needs is a breakout board that provides room for programming as well as protection for the programmer itself. For this I found the Dragon Rider 500 by Ecros Tech. An amazing device that provides connections for programming 8, 20, 28, and 40 microcontrollers, 5 switches, 6 leds, an RS232 connection, variable power supply, and an HD44780 LCD display. I enjoy this device so much that I put together two different presentations over at instructables.com, one on assembly and the other on how to use it. I will disclose that I have received a few freebies from Graham Davies who owns the company, thanks!
The it’s a snap to program microcontrollers using the combination of: AVR Dragon, Dragon Rider 500, and AVRDude. I use linux and it’s as easy as typing “make” from the command line.