Indice

Shield ISP per Arduino

Finalità

Realizzare uno shield Arduino per programmare i microcontrollori ATmega328P “vergini”, cioè privi di bootloader.

Il problema da risolvere

Il bootloader è necessario per poter utilizzare i microcontrollori con le schede Arduino. I microcontrollori acquistati separatamente - cioè non montati su una scheda Arduino - non contengono un bootloader e per essere utilizzati devono essere programmati con un programmatore (ad esempio l'AVRIPS della Atmel) e un software di sviluppo dedicato (ad esempio Atmel Studio). Per utilizzare gli ATmega328P vergini sulle schede Arduino e per poterli programmare con il suo ambiente di sviluppo è necessario scrivere il bootloader Arduino sul microcontrollore. Questa operazione, chiamata anche flash del bootloader, si può fare in più modi:

L'ultima soluzione è l'obiettivo di questo progetto.

Una volta scritto il bootloader si può montare il microcontrollore sullo zoccolo di una scheda Arduino e utilizzarlo normalmente (o utilizzare la scheda solo per caricare un programma sul microcontrollore e poi spostarlo un una scheda elettronica custom).

Cosa fa il bootloader

Il bootloader è un programma - o meglio un firmware - contenuto nella memoria del microcontrollore che viene eseguito ogni volta che si alimenta o resetta il microcontrollore. Il bootloader:

Lo shield ISP

Lo shield si basa sullo schema del tutorial ufficiale ma al posto della breadboard si vuole usare uno shield apposito.

Arduino Uno per programmare un ATmega328P su breaboard

E' sufficiente replicare i collegamenti conoscendo il pinout della scheda Arduino e dell'ATmega328 (mostrato in figura).

pinout del microcontrollore ATmega328P

In particolare occorre collegare:

Layout

In figura un primo tentativo di layout monofaccia.

primo layout dello shield ISP (singola faccia)

Si vede che manca un collegamento (ratsnest gialla da GND superiore a inferiore), ma il collegamento è comunque presente sulla scheda Arduino Uno su cui lo shield va montato. Senza questo accorgimento bisogna ricorrere a una scheda a doppia faccia.

Bill of materials

Come utilizzare lo shield

Inserire il chip ATmega328P vergine nello zoccolo e montare lo shield sulla scheda Arduino.

Utilizzando il software Arduino:

Problemi/TODO

Riferimenti

riferimenti:

Definizioni:

Torna all'indice.