USBAsp – AVR USB Programmer

My first AVR programmer for the Atmega8 was a parallel port programmer: Slow, and available only for older computers with a parallel port. Not long after, Thomas Fischl designed his USBasp.

This programmer is based on Thomas Fischl’s USBasp design and connects to your computer’s USB port. Not only is it quite compact, but the design is really elegent. The USB interface is achieved by using an atmega processor and the rest is done in firmware. For those interested, the firmware source code can be downloaded from the USBasp website.

Some of the features include:
Support for AVRDude from version 5.2 onwards
Allows you to to read or write the microcontroller EEPROM, firmware, fuse bits and lock bits
Support for Linux, Mac OS X and Windows (will work on vista)
5 KB/sec maximum write speed
Software controlled SCK option to support targets with low clock speed (< 1.5MHz) 10 pin ISP interface It has two leds to indicate power / operation mode. A 5V output can be used to directly supply voltage to the microcontroller it is connected to. The 5V output has overcurrent protection. Can be used with the following: AT89S51,AT89S52,AT89S8253,AT89S2051,AT89S4051, AT86RF401,AT90CAN32,AT90CAN64,AT90CAN128, AT90PWM2,AT90PWM2B,AT90PWM3,AT90PWM3B, AT90PWM81,AT90PWM216,AT90PWM316,AT90S1200, AT90S2313,AT90S2323,AT90S2343,AT90S4414,AT90S4433, AT90S4434,AT90S8515,AT90S8535,AT90SCR100H,AT90USB82, AT90USB162,AT90USB646,AT90USB647,AT90USB1286,AT90USB1287, ATmega8,ATmega8A,ATmega8U2,ATmega8HVA,ATmega16,ATmega16A, ATmega16HVA,ATmega16HVB,ATmega16M1,ATmega16U2,ATmega16U4, ATmega32,ATmega32A,ATmega32C1,ATmega32HVB,ATmega32M1,ATmega32U2, ATmega32U4,ATmega32U6,ATmega48,ATmega48P,ATmega48PA,ATmega64,ATmega64A, ATmega64C1,ATmega64M1,ATmega88,ATmega88P,ATmega88PA,ATmega103,ATmega128, ATmega128A,ATmega128RFA1,ATmega161,ATmega162,ATmega163,ATmega164P,ATmega164PA, ATmega165,ATmega165P,ATmega168,ATmega168P,ATmega168PA,ATmega169,ATmega169P, ATmega323,ATmega324,ATmega324PA,ATmega325,ATmega325P,ATmega328P,ATmega329, ATmega329P,ATmega406,ATmega640,ATmega644,ATmega644P,ATmega644PA,ATmega645, ATmega649,ATmega1280,ATmega1281,ATmega1284P,ATmega2560,ATmega2561,ATmega3250, ATmega3250P,ATmega3290,ATmega3290P,ATmega6450,ATmega6490,ATmega8515,ATmega8535, ATtiny10,ATtiny11,ATtiny12,ATtiny13,ATtiny13A,ATtiny15,ATtiny22,ATtiny24,ATtiny24A, ATtiny25,ATtiny26,ATtiny28,ATtiny43U,ATtiny44,ATtiny44A,ATtiny45,ATtiny48,ATtiny84, ATtiny85,ATtiny88,ATtiny167,ATtiny261,ATtiny261A,ATtiny461,ATtiny861,ATtiny861A,ATtiny2313,ATtiny2313.

Circuit diagram:

Latest firmware:
Credit goes to Thomas Fischl . Check his website.

This article has 8 Comments

  1. Thank you for sharing this! It is really interesting how you can create these kinds of programming controllers. Can I get the name of the person from whom you’ve ordered them?

  2. Sir..
    Please help me..
    Im really newbie to program an IC such as atmega using avrdude.
    Please send me a file Step of step how to program an IC atmega using Avrdude (commant prompt), please help me….

    You can sent the file to my email

Leave a Reply