Language
gb
Expand
gb
pl
Currency
PLN
Expand
AUD
BGN
BRL
CAD
CHF
CLP
CNY
CZK
DKK
EUR
GBP
HKD
HRK
HUF
ILS
INR
ISK
JPY
KRW
LTL
LVL
MXN
MYR
NOK
NZD
PHP
PLN
RON
RUB
SEK
SGD
THB
TRY
UAH
USD
XDR
ZAR

USBASP

Great, mature but far from obsolete, budget programmer for use with Microchip/ATMEL devices. It is available since many, many years.

Design DIY Kit

How to get it

You can obtain both - a good quality DIY kit and a soldered, fully functional version. It works under Linux, Windows and MacOS. Official project page: www.fischl.de/usbasp. You will find there more detailed documentation and free for download firmware as well.

Programmer connects with the computer over USB port and acts as serial programmer (SPI). With just few wires attached, it can program chips directly, can also be used to access them over dedicated ports/circuits (ISCP). Of course it doesn't work just by itself. The program to drive the programmer is named avrdude. It is available as source code here: savannah.nongnu.org/projects/avrdude. Check bottom of this page for compiled, ready for use Windows binary version.

Avrdude is console application that can work in terminal mode. Invoking it can be automated with use of Makefile-s. It can be integrated with popular IDE-s like AVR Studio and/or Arduino as well.

Connection

To program ATmega devices or their smaller brothers - ATtiny ones, only few signal wires are needed plus the DC power supply.

usbasp X2 pinuC pin
1MOSI
2JP1 USB 5V
5RESET
7SCK
9MISO
8,10GND

Programming

Here is an example of getting on the screen value of low fuse byte. Important options to remember are the -p followed by the target uC model name and -U with four colon-separated fields. 1st one is the accessed memory type, like: flash, eeprom, lfuse or hfuse. 2nd tells the type of operation performed and can be r, w or v. It stands for read, write and verify respectively. 3rd parameter is disk file name or "-" character for console output. And finally, 4th field tells the format of handled data: i-intel, r-raw_binary, h-hex, d-decimal, etc.

$ avrdude -c usbasp -p t25 -q -q -U lfuse:r:-:h
0xdf
$

To get full avrdude output on the screen, just remove the two -q switches. It's not a mistake they've been given twice... Much more can be found in the program manual or in other online resources.

Download

FileVersionSHA1
Design diagramR2bb3865ee67f0d502d9ae901d35bde1dcd15298ec
PCB layoutR26c523a554b3274fe6ff94601770d4f1422167a9c
avrdude6.3a9fa4f1e22c59803d6f7a411ae5a359ca039d976
libusb1.2.6.0e1362d9ba4a9c9b30394691e7acdee05631fd54e
Winddows 10119951d948cd5e15a3bd063965fb7f0604461f8f1
Firmware fun100ef2e8d5cbdc4514c8765f3aa3548a111060a89