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.
Programmer UsbAsp. Source code
This morning (2009-12-31) I built my 4th AVR programmer. USBasp. I built this one because I wasn’t completely happy with my 3rd programmer and because I want to play with a software USB stack. I do know that it works (I just reprogrammed 2 old projects just to try it out. Programming seems to be a little bit faster than with my Tuxgraphics programmer, but they are both shorter than 10s, speed is not really an issue. Avrdude needs a few seconds more to initialize this programmer (Each time before programming). Another little quirk of this programmer is that if I change the USB port it is connected to, to a port which I never used for this programmer, then windoze wants to reinstall the usbasp driver.
Read more: Programmer using ATMEGA8 microcontroller
