
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.
[link]