USBasp programátor je možné sestavit pomocí návodů např. na stránkách USBasp.
Po sestavení je třeba MCU naprogramovat. Zde uváděný popis bude používat Arduino UNO.
V USBasp bude jako MCU použit čip ATmega8.
Nejprve je třeba nahrát do arduina kód "ArduinoISP" (File->Examples->ArduinoISP). Tím se z arduina stane programátor.
Propojíme arduino s USBasp programátorem:
ATmega 328 DIP |
ATmega 328 TQFP |
ATmega 1280/2560 TQFP |
Arduino UNO |
Arduino MEGA |
USBasp | ||
SCK | 19 | 17 | 20 | 13 | 52 | <=> | 7 |
MISO | 18 | 16 | 22 | 12 | 50 | <=> | 9 |
MOSI | 17 | 15 | 21 | 11 | 51 | <=> | 1 |
RST | 1 | 29 | 19 | 10 | 53 | <=> | 5 |
GND | 8, 22 | 3, 5, 21 | 11, 32, 62, 81, 99 | GND | GND | <=> | 4, 6, 8, 10 |
VCC | 7, 20 | 4, 6, 18 | 10, 31, 61, 80, 100 | 5V | 5V | <=> | 2 |
A nakonec přepneme jumperem USBasp do režimu "SELF PROGRAMMING".
Dále je třeba stáhnout nejnovější firmware pro USBasp a vyextrahovat HEX soubor s firmwarem pro daný typ MCU (např. /usbasp.2011-05-28.tar/usbasp.2011-05-28/bin/firmware/usbasp.atmega8.2011-05-28.hex pro ATmega8).
Nahrání firmwaru do USBasp provedeme pomocí programu avrdude, který se obvykle nachází v instalaci arduina (<ARDUINO>/hardware/tools/avr/bin/). Dále bude třeba konfigurační soubor pro avrdude, který se nachází také v instalaci arduina (<ARDUINO>/hardware/tools/avr/etc/).
Spustíme příkazový řádek, přejdeme do adresáře, kde se nachází program avrdude a nastavíme pojistky příkazem:
avrdude -c avrisp -P COM1 -b 19200 -p m8 -C "../etc/avrdude.conf" -u -U hfuse:w:0xc9:m -U lfuse:w:0xef:m
,kde parametrem avrisp dáme najevo, že používáme ArduinoISP, parametrem COM1 kde máme připojeno arduino, parameter m8, že použijeme konfiguraci pro ATmega8.
V příkazovém řádku spustíme příkaz pro nahrání firmwaru do USBasp:
avrdude -c avrisp -P COM1 -b 19200 -p m8 -C "../etc/avrdude.conf" -U flash:w:FIRMWARE.hex:i
,kde FIRMWARE.hex nahradíme za název souboru (např. usbasp.atmega8.2011-05-28.hex).
Po rozpojení jumperu "SELF PROGRAMMING", připojení k počítači je třeba případně doinstalovat i ovladače pro OS Windows.
V Arduino IDE se pak nastaví jako programátor USBasp a od tohoto okamžiku je možno programovat jakékoliv AVR ze seznamu "Board".
USBasp
Výpočet pojistek
Programujeme jednočipy
Arduino jako AVR programátor