Language
en
Expand
en
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

Fischl's USBasp

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

Design Test board DIY Kit

How to get it

Here you can obtain a good quality, fully functional replica. It is available as DIY kit. You can order soldered version as well. It will work 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

NameVersionSHA1
Design diagramR2bb3865ee67f0d502d9ae901d35bde1dcd15298ec
PCB layoutR26c523a554b3274fe6ff94601770d4f1422167a9c
avrdude6.3c8216455945710cc498d3c5999936f164ad1d640
libusb1.2.6.0e1362d9ba4a9c9b30394691e7acdee05631fd54e
Winddows 101.019951d948cd5e15a3bd063965fb7f0604461f8f1
---