Problema caricare Firmware su arduino mega

Se leggevi bene la mia domanda, la risposta per il punto 3. era:

Lo sketch usa 20762 byte (8%) dello spazio disponibile per i programmi. Il massimo Ë 253952 byte.
Le variabili globali usano 458 byte (5%) di memoria dinamica, lasciando altri 7734 byte liberi per le variabili locali. Il massimo Ë 8192 byte.

e quella per il punto 4:

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

 † † † † System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

 † † † † Using Port † † † † † † † † † †: COM5
 † † † † Using Programmer † † † † † † †: wiring
 † † † † Overriding Baud Rate † † † † †: 115200
 † † † † AVR Part † † † † † † † † † † †: ATmega2560
 † † † † Chip Erase delay † † † † † † †: 9000 us
 † † † † PAGEL † † † † † † † † † † † † : PD7
 † † † † BS2 † † † † † † † † † † † † † : PA0
 † † † † 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 † †10 † † 8 † †0 no † † † 4096 † †8 † † †0 †9000 †9000 0x00 0x00
 † † † † † flash † † † † 65 † †10 † 256 † †0 yes † †262144 †256 † 1024 †4500 †4500 0x00 0x00
 † † † † † lfuse † † † † †0 † † 0 † † 0 † †0 no † † † † †1 † †0 † † †0 †9000 †9000 0x00 0x00
 † † † † † hfuse † † † † †0 † † 0 † † 0 † †0 no † † † † †1 † †0 † † †0 †9000 †9000 0x00 0x00
 † † † † † efuse † † † † †0 † † 0 † † 0 † †0 no † † † † †1 † †0 † † †0 †9000 †9000 0x00 0x00
 † † † † † lock † † † † † 0 † † 0 † † 0 † †0 no † † † † †1 † †0 † † †0 †9000 †9000 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 : Wiring
 † † † † Description † † : Wiring
 † † † † Programmer Model: AVRISP
 † † † † Hardware Version: 15
 † † † † Firmware Version Master : 2.10
 † † † † Vtarget † † † † : 0.0 V
 † † † † SCK period † † †: 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: reading input file "C:\Users\Massimo\AppData\Local\Temp\arduino_build_886709/prova.ino.hex"
avrdude: writing flash (20762 bytes):

Writing | ################################################avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout

... che entrano nei 9000 caratteri :wink:

Precisato questo direi che hai forse problemi con i programmi che occupano più di un certo numero di bytes di Flash, difatti, se ti carica correttamente il Blink, ma si blocca con questo da circa 20KB ... il problema è, ripeto forse, nella MCU fallata (... capita con alcuni cloni a basso costo in cui, a volte, le MCU sono di scarto).

Per isolare la cosa e toglierti il dubbio, prova con programmi mano mano più grandi e vedi se, arrivato ad una certa occupazione di Flash, con qualsiasi programma, ti da problema (non ha senso che lo dia solo con uno specifico programma, o c'è un problema di caricamento a partire da una certa cella di memoria o non c'è).

Guglielmo