Voltage-agile, USB connected AVR microcontroller programmer.
- Works with 3.3 volt and 5 volt target systems safely supplying power to either.
- Has a micro-USB connector.
- Includes a 6" ISP cable.
This item is a USB connected AVR programmer. It's compatible with AVRDUDE (use the "usbtiny" -c argument) and the Arduino IDE.
It is a composite clone of the AdaFruit USB Tiny programmer and the SparkFun Pocket AVR programmer.
Like the SparkFun Pocket AVR, it is SMD, which makes it small. It also has a PTC fuse to protect the USB host computer. But where the SparkFun device has a mini USB, I've gone with the more ubiquitous micro USB receptacle.
Like the AdaFruit Tiny USB programmer and the SparkFun programmer, this device has bus buffers which allow it to be able to program the target regardless of what voltage the target system uses, be it 3.3, 5 or anything else (within reason). SparkFun tried to improve the design by adding a pull-up resistor to insure that when the USB bus was disconnected that the bus buffers would be turned off, preventing the programmer from interfering with the target device. Unfortunately, SparkFun made an error which allows USB power to "leak" through the pull-up resistor they added. This design corrects that error with a blocking diode.
I've also added a 3.3 volt LDO so that target power can be switched between 3.3 volts, 5 volts, or no target power (meaning that the target is self-powered during programming).
There is also a current-limiting switch in the target power path, which protects both the host and the programmer from shorts and transients, making it safe to hot-plug the target.
This version is safe to use with 3.3 volt or 5 volt targets while supplying power, including hot-plugging the target.
In addition, there's an extra through-hold pad on this programmer that outputs a 500 kHz square wave during programming. This "recovery clock" allows you to recover controllers that you have inadvertently fused for an external crystal that is not present. By connecting this pin up to the "XTAL2" pin (on most AVR models), and using "-B 250" with AVRDUDE, you can reset the fuses to the factory state to recover from incorrect fusing.
USB VID/PID License
Do not use the Adafruit USB VID/PID without written permission from Adafruit Industries, LLC and Limor "Ladyada" Fried (email@example.com). Permission is granted for 8pino.cc, geppettoelectronics, littlewire, Ihsan Kehribar and Seeed Studio and Sparkfun by Adafruit Industries, LLC to use the Adafruit USB VID/PID for approved products. The USB µISP is one such approved product.