Arduino IDE vs ATMEL ATtiny
Tutorial alla programmazione dei microcontrollori ATtiny85 tramite l'ultima release di Arduino IDE

Le board Arduino, sviluppate intorno al concetto di semplicità, hanno portato la gestione e la programmazione di microcontrollori alla portata di chiunque. Questo fenomeno ha condotto quindi alla continua necessità e voglia di rinnovo dell’interfaccia di programmazione, Arduino IDE: questa guida è stata scritta con la release 1.8.7, mentre oggi la versione corrente appartiene alla serie 2.x (le voci di menu citate più sotto sono rimaste sostanzialmente le stesse, con i nomi indicati tra parentesi).
L’obiettivo di questa guida è di condividere la configurazione dell’IDE per poter programmare non solo schede ufficiali Arduino, ma anche schede di terze parti e/o microcontrollori ATtiny.
La domanda di partenza è: perché dovrei utilizzare microcontrollori ATtiny? La risposta è alquanto semplice: spesso e volentieri, nei nostri progetti, non necessitiamo di tutti gli input/output di un ATmega328P-PU (montato sulla scheda ArduinoUNO) e di conseguenza possiamo risparmiare spazio (e denaro) spostando il progetto su microcontrollori su misura per le nostre idee. Ovviamente non è tutto oro ciò che luccica: oltre al numero di pin dobbiamo valutare attentamente la frequenza di clock e la memoria interna, oltre ovviamente ad altre specifiche tecniche.
Tra i tanti microcontrollori gestibili non nativamente dall’IDE possiamo trovare il modello ATtiny85:
Come notiamo dalla foto dispone di soli 8 pin (due dei quali dedicati all’alimentazione). Dei 6 pin rimanenti uno è il RESET: gli I/O utilizzabili sono quindi 5. Il pin di reset può diventare un sesto I/O solo programmando il fuse RSTDISBL, ma dopo questa operazione il microcontrollore non è più programmabile via ISP (serve un programmatore ad alta tensione per ripristinarlo), per cui è sconsigliato. Tra i pin disponibili possiamo individuare una serie di caratteristiche che lo rendono ideale per progetti medio/piccoli:
Inizialmente il software di programmazione era distribuito per i sistemi Microsoft Windows, MacOS e GNU/Linux, ma compatibile solo per piattaforme ix86 e x64. Tuttavia, a partire dalla release 1.6.9, l’IDE è stato distribuito anche per piattaforme ARM (ad esempio RaspberryPI). La procedura seguente vale per le versioni dell’IDE dotate di Gestore schede (dalla serie 1.6.x in poi, comprese la 1.8.x e la 2.x); su Raspberry Pi e altre piattaforme ARM verificare sul sito ufficiale quale versione è disponibile per il proprio sistema. Come sempre si consiglia di installare l’ultima versione disponibile sul sito ufficiale.
STEP 1: Aprire l’IDE di Arduino ed accedere alle preferenze (File > Preferenze; su macOS, nell’IDE 2.x, Arduino IDE > Settings)
STEP 2: Alla voce “Url aggiuntive per il gestore schede” aggiungere il link di proprio interesse tra quelli elencati qui. Personalmente per l’utilizzo della famiglia ATtiny sfrutto il link:
http://drazzy.com/package_drazzy.com_index.json
STEP 3: Una volta confermato spostarsi in Strumenti > Scheda…. > Gestore schede (nell’IDE 2.x è anche l’icona Board Manager nella barra laterale sinistra) ed installare il pacchetto ATTinyCore by Spence Konde
A questo punto avremo configurato correttamente il nostro IDE per la programmazione di microcontrollori della famiglia ATtiny. Per programmare quest’ultimi è possibile utilizzare un programmatore esterno (AVR ISP MKII, USBtinyISP e tanti altri) oppure sfruttare una scheda Arduino con il sistema ArduinoISP.
Di seguito il link per una guida alla costruzione del programmatore per ATtiny e ATmega USBtinyISP:








