AVR programmer & SPI interface

tools_531946274_dcd8763cda_o.jpg

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

This guide was first published on Jun 10, 2013. It was last updated on Jun 10, 2013.

This page (Overview) was last updated on Apr 02, 2013.

Text editor powered bytinymce.