Arduino brikkato?

Vi rompo per una sciocchezza, ma prima di buttare nel cestino la scheda vi chiedo eventuali idee. Dopo aver finito un progetto con una Uno (clone cinese) ne ho tirato fuori un'altra (sempre clone cinese) che avevo nella scatola di schede e shield Arduino per fare un secondo circuito analogo al primo (sperimentare modifiche senza dover spegnere e staccare quello attualmente in funzione) e fare altre cose. Ma al primo upload mi sono imbattuto nel famigerato errore di caricamento che non avevo finora mai visto nonostante abbia usato anche svariate schede "cinesi" da UNO a Mega a Nano e Micro.

Vi riporto il log qui sotto dove trovate anche le info sulle versioni IDE e OS. A volte il codice dopo "resp=" è diverso, ora 0x01 ma in precedenza era anche 0x1e, 0x67 eccetera. Quella scheda l'ho da parecchio tempo, e non ricordo né se l'abbia mai usata né da chi possa averla acquistata. Inutile dire che con la stessa porta, stesso cavetto, e stesso IDE ho lavorato sul precedente progettino fino a 2 ore prima (il tempo di installare l'altro, rimettere a posto gli attrezzi e prendere quest'altra UNO), e che comunque programmo anche una Mega senza problemi.

Le ho finora provate tutte, dal cambiare cavo al cambiare porta USB (per "forzare" una nuova installazione di una COM), reset col pulsante poco prima dell'upload, niente. E comunque ho tirato fuori una WeMos D1 che programmo perfettamente usando stessa porta e stesso IDE.

E' definitivamente andato/brikkato o pensate che possa provare a fare qualcosa? Non per quanto era costato (stica), ma perché non ho attualmente altre UNO da usare ma solo Mega e WeMos. Se è brikkato e non c'è niente da fare, pazienza, è più che altro la curiosità di capire cosa abbia, intanto accorperò altri componenti e farò un nuovo ordine a EBM..:wink:

Ecco il log:

Arduino:1.8.12 (Windows 10), Scheda:"Arduino Uno"

Lo sketch usa 3624 byte (11%) dello spazio disponibile per i programmi. Il massimo è 32256 byte.
Le variabili globali usano 516 byte (25%) di memoria dinamica, lasciando altri 1532 byte liberi per le variabili locali. Il massimo è 2048 byte.
C:\Users\Alex\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CC:\Users\Alex\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\Alex\AppData\Local\Temp\arduino_build_349397/sketch_apr07b.ino.hex:i 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Alex\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

         Using Port                    : COM3
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x01
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x01

avrdude done.  Thank you.

Mah ... tanto per fare una prova, provare a ricaricare il bootloader e vedere se il caricamento ha successo ?

Scopriresti intato se la programmazione ISP funziona e se, riprogrammando il bootloader, riprende a funzionare anche quella via USB ... ::slight_smile:

Guglielmo

Hm grazie, non ho mai scritto il bootloader, ed avevo letto solo come farlo per ma non potendo estrarre il processore (come vedi è quello SMD) non so come fare. Hai qualche pagina o video che spieghi come farlo?

Ma posso usare un MEGA come ISP per fare l'upload alla Uno (e se si, come?)?

Ti dirò una cosa strana: ho un PC linux e uno Windows. Quando non carica con Windows provo con Linux e...CARICA.
Non mi chiedere perché...

docdoc:
Ma posso usare un MEGA come ISP per fare l'upload alla Uno (e se si, come?)?

Se la scheda possiede un connettore ICSP (quello a 6 pin) non c'è alcun problema e ... SI, puoi uare la MEGA come programmatore ISP ... segui ALLA LETTERA QUESTO documento ... è più che collaudato ;D

Guglielmo

gpb01:
Se la scheda possiede un connettore ICSP (quello a 6 pin) non c'è alcun problema

Si, certo, c'è, ma comunque sono i pin11, 12 e 13.

SI, puoi uare la MEGA come programmatore ISP ... segui ALLA LETTERA QUESTO documento ... è più che collaudato ;D

Allora, dato che voglio usare come progrgammatore una Mega parto dal Punto 2A1 "Arduino Mega Programmatore e Arduino UNO/2009 con micro vergine".
Collego i pin (vedi immagine allegata):
Pin 53 -> Reset
Pin 51 -> Pin 11
Pin 50 -> Pin 12
Pin 52 -> Pin 13
GND -> GND
+5V -> +5V

Collegata USB al Mega, seleziono Board "Arduino Mega or Mega 2560", e dagli Esempi carico e faccio upload dello sketch "ArduinoISP". Al termine mi dà "Caricamento completato" quindi credo che il Mega ora sia pronto.
Passo a P3 La fase hardware.
Parlano della versione IDE 0022, vecchissima (sarà il caso di farla aggiornare? :wink: ), comunque ho la più recente 1.8.12 penso vada bene.
Seguo il Punto "e", board di destinazione: Strumenti - Scheda - Arduino UNO.
Quindi Punto "f" Strumenti - "Scrivi il bootloader" che però non ha alcun menù come invece si vede nel documento. Se lo seleziono mi dice "Errore durante la scrittura del bootloader".
Immagino ci sia da selezionare prima il programmatore (anche qui, un aggiornamento del documento aiuterebbe di più... :wink: ) per cui seleziono come Programmatore "Arduino as ISP".
Per sicurezza, attivo anche il verbose del caricamento e mando la scrittura del bootloader.
Compare la scritta "Sto scrivendo il bootloader" e poco dopo questo:

Arduino:1.8.12 (Windows 10), Scheda:"Arduino Uno"

C:\Users\Alex\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CC:\Users\Alex\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m 

avrdude: Version 6.3-20190619
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2014 Joerg Wunsch

        System wide configuration file is "C:\Users\Alex\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

        Using Port                    : COM3
        Using Programmer              : stk500v1
        Overriding Baud Rate          : 19200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
        AVR Part                      : ATmega328P
        Chip Erase delay              : 9000 us
        PAGEL                         : PD7
        BS2                           : PC2
        RESET disposition             : dedicated
        RETRY pulse                   : SCK
        serial program mode           : yes
        parallel program mode         : yes
        Timeout                       : 200
        StabDelay                     : 100
        CmdexeDelay                   : 25
        SyncLoops                     : 32
        ByteDelay                     : 0
        PollIndex                     : 3
        PollValue                     : 0x53
        Memory Detail                 :

                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
          flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
          lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
          hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
          efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
          lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
          calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
          signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

        Programmer Type : STK500
        Description     : Atmel STK500 Version 1.x firmware
        Hardware Version: 2
        Firmware Version: 1.18
        Topcard         : Unknown
        Vtarget         : 0.0 V
        Varef           : 0.0 V
        Oscillator      : Off
        SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
        Double check connections and try again, or use -F to override
        this check.


Errore durante la scrittura del bootloader
avrdude done.  Thank you.

Spero di aver fatto tutto correttamente (e comunque non mi dispiace perché è l'occasione per imarare sempre qualcosa di nuovo) , se così fosse temo che la conclusione sia che quella UNO è definitivamente brikkata.
Confermi?

Mmm ... purtroppo mi sembra che tu abbia fatto tutto come si deve ... quindi, effettivamente, sembra "morto" il ATmega328P ... :confused:

Guglielmo

P.S.: ... considera che il documento è del 2012 quindi, ovviamente, alcuni riferimenti sono ... datati :wink:

Ma i led della UNO, in fase di scrittura bootloader, "ci provano" a lampeggiare oppure sono morti?

No, è acceso solo ON, ma se vedi nella foto a quella UNO manca il led "L" (e relativa resistenza).
Ma poco fa ho provato a collegarlo ad un alimentatore dal jack e così non si accende manco "ON".

Per cui lo "archivio" nel cestino e ne comprerò un altro, amen! :slight_smile:

Grazie lo stesso, ragazzi!