Arduino

Ripristino firmware ATmega 16u2 e 328P

Firmware e bootloader per comunicazione USB-seriale Arduino UNO rev3

Questa guida è indirizzata a coloro che possiedono una board Arduino UNO rev3 (o Genuino) con problemi di comunicazione usb/seriale. Nel nostro caso, in seguito ad una errata programmazione attraverso i terminali ICSP, non era più possibile programmare il microcontrollore attraverso la porta USB. Non conoscendo realmente le cause che hanno messo fuori uso la scheda è stato deciso di procedere su due fronti:
1 – ripristinare il firmware del microcontrollore ATmega 16u2, il quale svolge la conversone usb/seriale

2 – ripristinare il bootloader del microcontrollore ATmega328P

Per entrare i punti è stato necessario l’utilizzo di un programmatore esterno: nel nostro caso un banale TinyUSB ISP. Inoltre è stata necessaria l’ultima release software di Arduino per attingere ai file di sistema e un programmatore specifico, nel nostro caso AVRfuses (macOS).

Per prima cosa realizziamo il collegamento usb –> programmatore –> Arduino ICPS 16u2

a questo punto apriamo AVRfuses e utilizziamo il file hex Arduino-usbserial-atmega16u2-Uno-Rev3.hex contenuto nella directory

ARDUINO/hardware/arduino/firmwares/atmegaxxu2/arduino-usbserial

per chi lavora su macOS l’indirizzo corretto è:

/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/firmwares/atmegaxxu2/arduino-usbserial

inoltre è scaricabile anche qui:

https://github.com/arduino/Ard……/firmwares/atmegaxxu2/arduino-usbserial

Premendo il pulsante Program si procede alla riprogrammazione del microcontrollore 16u2.

A questo punto colleghiamoci sui terminali ICSP dell’ATmega328P

e aprendo l’IDE di Arduino precedentemente scaricato avviamo la scrittura del bootloader facendo attenzione alla selezione del microcontrollore, del programmatore e della porta utilizzata.

Quest’ultima operazione potrebbe richiedere circa 60-100 secondi. Al termine di queste operazioni la vostra scheda Arduino UNO rev3 sarà pronta ad essere utilizzata nuovamente tramite porta USB. Le medesime operazioni, svolte nel medesimo ordine, sono attuabili anche da Microsoft Windows. In tal caso, in alternativa a AVRfuses è possibile utilizzare Atmel flip scaricabile qui: http://www.atmel.com/tools/flip.aspx

MST-Admin

Appassionato di elettronica, elettrotecnica generale e programmazione. Fondatore del progetto MST-tutorial, desideroso di condividere con voi l'entusiasmo per l'innovazione tecnologica e la sperimentazione di novità tecniche in questi campi.

Articoli Correlati

Pulsante per tornare all'inizio