In this microcontroller project, Guido Socher design a state of the art USB programmer for the AVR microcontrollers from Atmel. The programmer firmware has no device dependent data. Therefore it works for almost any AVR microcontroller on the market and possible future microcontrollers.
This USB programmer has, unlike other programmers, no “chicken and egg problem”. That is: you can build it from scratch without the need of another programmer to load the initial firmware.The firmware is open source and programmed in C according to the AVR068 specification from Atmel.