Build a simple open-source USB AVR programmer and SPI interface! It is low cost, easy to make, works great with avrdude, is AVRStudio-compatible and tested under Windows, Linux and MacOS X. Perfect for students and beginners, or as a backup programmer.
The project is based off of the USBtiny code & design. The main improvements are: adjusting the code to allow it to act as a SpokePOV interface, adding low-level bitbang commands, and the addition of a "USB good" LED. Other changes are new VID/PID (to make it official), removing some of the commands, and moving around the pins a bit.
You can build this design using the schematic and firmware. Having a full kit available solves the "chicken & egg" problem of purchasing or building a USB programmer which then needs a programmer of some sort to 'kick start'. (See USBasp, AVRdoper, USBprog)
All the firmware code is distributed under the GPL, the hardware design layout files are CC 2.5 Attrib./Share-alike.
Ultra low cost: Less than half the price of the AVRISP v2 !
Kit comes with both 6-pin and 10-pin AVR-standard connectors and cables. Almost no programmers that are not from Atmel have both! (Including the AVRISP v2)
Easy to build: All through-hole parts, all common and available from large distributors