Projects‎ > ‎Product Reviews‎ > ‎

Pocket Programmer

Sparkfun AVR Programmer Projects by KEC

Specifications

Manufacturer: Sparkfun
Part Number: PGM-09825 [Schematic]
Function: USB AVR Programmer
Supplier: Sparkfun - $14.95 - Product Page at Sparkfun
Special Features: Buffered Outputs, Power Protection, Power Target up to 500mA, 10 or 6 Pin ISP Compatibility, USB Connected, Small Form Factor, AVRDUDE Compatible, Open Source Design 
Rating: 4.5 / 5
Review Summary: This programmer is great. It works with any AVR device that uses the standard SPI based ISP protocol and AVRDUDE. It works flawless with Windows (after a work around for 64 bit Win 7) and has decent programming speeds. The connections are buffered, so it fairly tolerant to user abuse and can power the target board up to 500mA or not at all. 

Out of the box...

Along with the programming circuit, this product also comes with a connection cable featuring a 6 pin and 10 pin female header. It does not come with the USB cable, so that will need to be supplied - standard USB A for PC and USB mini-B for programmer. The absence of the USB cable is one of the only flaws with this product. The circuit itself is only a few square inches in size.

Check out this custom header for easy breadboard connections!

Full Product Description

Rather than reword all of this information, I will just repost the complete product description from the Sparkfun website:

Description: This new version uses an SMD 5x2 header. This is a simple to use USB AVR programmer. It is low cost, easy to use, works great with AVRDude, and is tested extensively on a Windows desktop. Based on Dick Steefland'sUSBtiny and Limor Fried's USBtinyISP.

We've gotten a big response [...] from Mac and Linux users having problems. We use this programmer extensively on a Windows box and love it.
However, this is a low-cost programmer designed for those on a tight budget. For out-of-the-box compatibility with other operating systems and machines, checkout the AVR ISP2 USB programmer from Digikey.

This programmer works really well for ATmega168 and ATmega328 and should work with all the AVR micros supported by AVRDUDE.

This board is buffered and power protected so that you can do some really evil things to the programmer without killing it. It is fast! Comparable speed to the AVR ISP2 USB programmer from Digikey. One of the greatest features of this board is the ability to power the target (up to 500mA) from the programmer.
[...]

Note: This product is a collaboration with Limor Fried. A portion of each sales goes back to them for product support and continued development.

Features:

    • Standard AVR ISP programmer
    • ATtiny2313 with USBtiny firmware preloaded
    • Buffered output
    • PTC fuse protected power
    • Programmer can power target
    • Supports ATmega168/328 and many others
    • Two status LEDs
    • Both 10-pin and 6-pin targets supported (cable included)

Documents:

Open Source Hardware: We like to share. The original engineering files are available for mass hackery.

    • Firmware based on USBtiny (type 'make all' in the spi directory). I've found that the compile only works with older versions of WinAVR (20080430).
    • Eagle Files (Licensed under CC v3.0 Share-Alike)

Windows 7 Issues and Workaround

I have used this programmer on machines running Windows XP, Vista, and 7 using Win-AVR and AVRDUDE. All have worked flawlessly, although there is a bit of work required to get the driver to install on a 64 bit Windows 7 machine.

A proper solution for running under Windows 7, including 64 bit, without turning off driver signing.
1. Download the windows driver from sparkfun, and unzip it somewhere.
2. Download a recent libusb release from sourceforge: http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/
and unzip it somewhere.
3. Take the libusb0.dll and libusb0.sys files from the sourceforge bin\amd64 directory, rename them to libusb0_x64.dll and libusb0_x64.sys, and replace those files in the sparkfun driver directory.
4. Replace the sparkfun libusb0.sys and libusb0.dll with copies from the sourceforge bin\x86 directory (renaming the sourceforge libusb0_x86.dll to libusb0.dll).
Your driver is now ready to go. Windows will complain during the install that the drivers aren’t signed, but they actually are. Once installation is done, Windows will happily load the new drivers.

The lack of support about this issue from Sparkfun is the second major flaw of this product. They provide links with workarounds, but have not update their own driver download packages to include the suggested fix - it is up to the user to do these steps. 

The Bottom Line

It's no secret that I really like this programmer. While it is fairly inexpensive, it is also open source, meaning that users could redesign the circuit, adding whatever additional features they want. The only real issues with this programmer are absence of a USB cable in the box and issues using Linux, Mac, or 64-bit Windows. I highly recommend purchasing this programmer for use with your AVR devices which use the SPI based ISP interface.