Come usare un programmatore avr per caricare sketch

Ho acquistato un semplice programmatore AVR dal costo molto contenuto per poter programmare gli ATMega328 senza passare per una scheda Arduino. Questo metodo risulta interessante quando si creano dei propri dispositivi stand alone senza perdere la semplicità di programmazione tipica dei dispositivi Arduino.
Il modello in questione è l’AVR Programmer prodotto da JYE Tech (http://www.jyetech.com) che ho comprato da Cooking Hacks (http://www.cooking-hacks.com/index.php/avr-usb-programmer.html) per poco più di 10€.

Programmatore AVR usb ASP

Il programmatore è basato sul chip Atmega48 ed è programmato per essere compatibile con l’USBasp.

La prima operazione è installare i driver del programmatore. Scaricate l’ultima versione dei driver dal sito fischl.de (attualmente usbasp.2011-05-28.tar.gz) e scompatateli in una cartella sul vostro pc. Ora collegate il programmatore tramite cavo mini usb e annullate la ricerca automatica dei driver. Da gestione dispositivi selezionate la voce USBasp e avviate la procedura per aggiornare i driver selezionando la ricerca automatica e specificando come percorso la cartella che avete scompatato precedentemente. Attendete la fine della procedura che porterà all’installazione del programmatore sul vostro computer.

Passiamo ai collegamenti seguendo lo schema elettrico seguente:

Programmatore AVR USBasp Arduino
Attenzione il connettore da utilizzare è il J5

la tabella riepiloga i collegamenti da effettuare:

JTAG AVR Programmer (J5)ATMega328P-PU
 PIN 1 (MOSI) PIN 17 (MOSI)
 PIN 5 (RESET) PIN 1 (RESET)
 PIN 7 (SCK) PIN 19 (SCK)
 PIN 9 (MISO) PIN 18 (MISO)
 PIN 2 (VCC) PIN 7 e PIN 20 (VCC)
 PIN 10 (GND) PIN 8 e PIN 22 (GND)

(Ricordiamoci anche di collegare il quarzo da 16MHz ed i due condensatori ceramici da 18pF ai pin 9 e pin 10 come da schema).

Ora tutto è pronto per provare a caricare il nostro sketch tramite il programmatore utilizzando semplicemente il classico Arduino IDE. Una volta aperto l’IDE (nel mio caso versione  1.0.1) andiamo a settare il tipo di programmatore da utilizzare per il deployment. Clicchiamo sul seguente percorso Strumenti->Programmatore e  selezioniamo la voce USBasp.

Carichiamo il classico sketch di esempio Blink (File->Esempi->01.Basics->Blink) avviamo la programmazione tramite il menu File->Carica con un programmatore

Penso che i vantaggi di questo metodo siano notevoli perché oltre alla possibilità di creare sistemi stand alone con un costo contenuto abbiamo anche il vantaggio di non dover caricare il bootloader e quindi avere un po più di spazio per i nostri programmi.