Introduction
This is documentation for a simple open-source USB AVR programmer and SPI interface. It islow cost,easy to make, works great withavrdude, isAVRStudio-compatibleand tested underWindows, LinuxandMacOS X. Perfect for students and beginners, or as a backup programmer.
The project is based off of theUSBtiny code & design. The main improvements are: adjusting the code to allow it to act as aSpokePOVinterface, adding lowlevel bitbang commands, and 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 theschematic and firmware, or buy a kit from theAdafruit webshop. Having a full kit available solves the "chicken & egg" problem of purchasing or building a USB programmer that then needs a programmer of some sort to 'kick start'. (SeeUSBasp,AVRdoper,USBprog)
All the firmware code is distributed under the GPL, the hardware design layout files areCC 2.5 Attrib./Share-alike.
What's so great about it?
Easy to make
- Ultra low cost: programmer is $16 in parts, less than half the price of the AVRISP v2 ! (Kits are $22 andavailable from the adafruit shop.)
- 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.
Easy to use
- AVRdude compatible -support for usbtiny added in v5.5!
- USB drivers available for Windowsusing libusb, no drivers needed for Mac OS X or Linux.
- Durable off-the-shelf enclosure
- High speed! Max clock rate is 400KHz. Write speed:1Kb/s, read speed: 2Kb/s. (Atmega8 takes 8s to write, 4s to read/verify)
- 2 LEDs to indicate "USB/Power good" and "Busy"
- I/O is buffered to allow programming of 2V-6V targets (v2)
- Works with any AVR ISP chip with 64K of flash (or less) - does not work with Atmega1281/1280/2561/2560
Easy to power
- Powered off of 5V USB bus at less than 100mA to allow it to be used with unpowered USB hubs
- 权力容易accessable跳投目标项目ff of USB (target must be 5V tolerant, of course)
- Remove the jumper and it will self-power but buffer the I/O to match the target device. (v2)
Easy to extend
- Easily interfaced with libusb
- Existing firmware allows for fast SPI interfacing using USB
- Bit-bang commands provide 8 bits of I/O control (including LED) for open-ended project ideas