XUM1541 How to flash Arduino Pro Micro (m32U4) AVRDUDE and more!

Ci sono diversi tutorial in rete riguardo a come programmare Adruino Pro Micro, ma se non siete pratici o se avete problemi di librerie mancanti/programmi e firmware 100% testati, questo tutorial dovrebbe farvi risparmiare tempo. A questo link, troverete anche il software per fare i floppy da utilizzare dopo...
 
Iniziamo subito col dire che col vostro modello di Arduino, potrebbe non funzionare, il mio tutorial è testato su chip m32U4, ma potrebbe essere che marche diverse di Arduino sempre con tale chip, non funzionino.
 
Innanzi tutto ad oggi il firmware da usare è xum1541-PROMICRO-v07.hex (allegato nel file), ci sono diversi siti e pare versioni diverse sempre relative alla V07, che non vanno a buon fine, ci sono versioni più aggiornate (rev. 08), che NON vanno a buon fine, facendo prove, probabilmente cancellerete il bootloader (o parte di esso)  dall'Arduino...
 
Se avete cancellato il bootloader originale (leggendo in rete è un problema comune), sempre nell'allegato, troverete il firmware originale (Caterina-Leonardo.hex), per riportare tutto in origine, magari per fare prove più semplici con l'IDE di arduino (che vi scaricate ma NON serve per programmare il .hex), tipo il classico LED BLINK (in modo da capire se è tornato tutto apposto).
 
[Software necessari]
 
AVRDUDE, programma che scrive nativamente su diversi dispositivi, lanciabile da semplice riga di comando sotto prompt di DOS (esiste anche per LINUX e MAC, qui parliamo solo di quello Windows).
 
AVRDUDESS, programma che gira in ambiente grafico Windows (lo travate sempre in allegato), fa le stesse cose ma aiuta molto, specialmente se siete neofiti o rilevate errori di DLL mancante (libusb0.dll) quando lanciate la versione DOS...
 
Consiglio di installare subito AVRDUDESS , poi copiate la cartella AVRDUDE per DOS (presente nell'allegato) nella quale ho già inserito la DLL mancante, in modo da avere tutti e due i programmi perfettamente funzionanti.
 
[Veniamo alla gestione delle porte COM (seriali)]
 
Arduino viene visto tramite la USB come una seriale, MA, queste seriali vengono installate DIVERSAMENTE in funzione di cosa state facendo (fate anche attenzione di usare un cavetto che non sia solo per ricarica).
 
Molto importante capire questo passaggio per non perdersi nella programmazione con errori vari. Se siete in utilizzo normale (test di programmi sotto l'ide per esempio), vedrete una COM tipo COM5 (gestione computer, periferiche), ma non sarà questa la COM da usare per inviare poi il nostro firmware xum1541-PROMICRO-v07.hex.
 
La COM per programmare Arduino, sarà una COM con numero o superiore o inferiore al numero che vedete in modalità normale, e la vedrete solo per pochi secondi, quando entrate nella procedura di programazione bootloader!
 
[Entrare in modalità programazione bootloader]
 
Prendete una pinzetta o una graffetta piegata a U, in modo da riuscire a fare un un ponte tra GND e la piazzola RST sul vostro Arduino, questa ponte da fare per un secondo (su alcuni Arduini sembra sia necessario farlo per due volte rapidamente), fa entrare la modalità programazione bootloader, ma solo per pochi secondi... Durante questi pochi secondi, vedrete apparire e poi scomparire la vostra porta COM per la programmazione, pertanto fate questa procedura con gestione dispositivi aperta, in modo da prendere nota del numero di PORTA COM che vi appare.
 
Attenzione che se avete già cancellato il bootloader, con procedure di programmazione non andate a buon fine, magari fatte sulla COM sbagliata, NON vedrete più la COM di collegamento standard, ma vedrete sepre e solo la COM di programmazione e solo per i pochi secondi tra una procedura di RESET e l'altra (ponte tra GND e RST), Arduino non verrà più visto in gestione risorse e pertanto neanche dall'IDE (in effetti non è più installata la porta COM).
 
Non collegandosi sulla porta giusta, non riusciremo ad inviare il firmware XUM, questa è una delle cause principali di malfunzionamenti...
 
A questo punto siete in grado di configurare AVRDUDE o AVRDUDESS con la porta COM corretta per inviare il firmware Arduino.
 
Lanciate il programma Avrdudess Windows ed impostate come programmatore Atmel AVR109 , che sarà poi lo stesso parametro da inserire anche nella riga di comando se usate la versine DOS.
 
Alcuni siti mettono "arduino" come parametro di programmazione e se aprite l'IDE di arduino, in automatico ne vedrete un altro ancora (che tra l'altro funziona per inviare gli sketch), ma non dovete usare quello sotto AVRDUDESS, pertanto individuare il giusto parametro di programmazione, NON è scontato e potrebbe cambiare in funzione del modello di Arduino...
 
Vi consiglio di utilizzare AVRDUDESS senza programmare da subito, ma cercando di leggere dentro l'Arduino, ci sono i parametri di lettura (trovate le funzioni a destra del programma stesso), settate per prima cosa il modello di programmatore (iniziate con avr109 o similee fate delle prove, se le procedure di lettura, vanno a buon fine (senza errori), siete a buon punto...
 
Possiamo caricare il firmware usando l'apposito menu relativo al FLASH, settate W (write), settate magari anche il modello di CPU  (m32U4) e premete GO.
 
La stringa creata sarà la seguente:
 
avrdude -u -c avr109 -p m32u4 -P COM4 -b 57600 -U flash:w:"C:\AVRDUDE\xum1541-PROMICRO-v07.hex":a 
 
che potrà anche essere lanciata a mano dalla cartella AVRDUDE dos che avete copiato in precedenza...
 
In pratica la sintassi di AVRDUDE è quella sopra descritta, il programma AVRDUDESS vi aiuta nella creazione della stessa e vi fa capire meglio i vari parametri...
 
ATTENZIONE alla porta COM da inserire, deve essere quella che vi appare per pochi secondi dopo il reset arduino (GND+RST)  e non quella che vi appare quando collegate Arduino per la prima volta al PC.
 
Come vi spiegavo sopra, potete anche usare la procedura o manuale o mediante l'interfaccia Windows , per inviare il firmware originale, per ripristinare Arduino...
 
Spero di avervi dato delle informazioni utili per evitare i miei errori e perdere tempo!
 
SCHEMA CABLAGGIO
(trovate anche la foto in allegato)
DIN6     Pro Micro
pin 6 al    10
pin 5 al    16
pin 4 al    14
pin 3 al     8
pin 2 al    GND
pin 1 al    9
 
Grazie FROCIOLOGO!
 
THE SHARK!

Allegato: 

Category: 

Add new comment

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Interes_ing: