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 Tuxgraphicsprogrammer, 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. To suit my own stubborn needs I made a few little changes to the original schematic:
- I used my own pinout for the programming connector. (6pin single row header.)
- Added a 2nd connector to program the programmer. (I made a fault with this by crossing the MISO and MOSI lines between the 2 connectors, the connectors just should be 1:1.)
- Added 2 reset buttons. (1 for the programmer(which I later discovered is useless) and 1 for the connected project.)If there is something wrong with the programmer it does not help to reset the programmer because the fault always seems to be on te PC part of the cable. This means you have to unplug and replug the cable. Fortunately this does not happen very often.
- Added a big ground loop for easy attachment of measurement equipment.
- Removed green and red leds. Don’t even know what they are for, the red one is probably on in the 3 seconds the programmer is programming a microcontroller.
- Added a fuse (100mA) and a switch (instead of jumper) with led for powering the target.
For more detail: Programmer UsbAsp using AVR microcontroller