The programmer I use is built from a kit I bought at Tuxgraphics. There are several reasons I bought this kit.
- It is open source, works with avrdude.
- It connects to USB.
- It is a lot faster then my old programmer (Programs an ATMEGA8 in about 5 seconds).
- It is cheap.
- I bought the kit to support the open source community.
You can’t see it but on the bottom of the pcb there is a (smd) FT232R chip, which “converts” the USB signals to TTL level rs232 which connects directly to the microcontroller. It works pretty well, but there are a few issues: The most important is that the FT232 has no EEPROM attached for the product and device Id’s. This means that if I change the USB port of the programmer then the number of the virtual comport it’s connected to changes and then I have to put it back in the FTDI driver or in my makefile’s. Another disadvantage is that the programmer sometimes fails to verify the microcontroller. This second “problem” could have been solved in the latest version of the software but I haven’t checked that yet (2009-12-31). It has been working pretty good for programming Atmel’s AVR controllers.
For more detail: Programmer using ATMEGA8 microcontroller