errore caricamento fw sonoff esp8266

Salve a tutti,
sto provando alcuni firmware per questa schedina ma ad un certo punto non riesco più ad aggiornare.
l'upload parte e si ferma o alla fine o quasi alla fine del caricamento dando sempre lo stesso errore:

Arduino:1.8.7 (Windows Store 1.8.15.0) (Windows 10), Scheda:"Generic ESP8266 Module, 80 MHz, Flash, ck, 26 MHz, 40MHz, DOUT, 1M (no SPIFFS), 2, v2 Lower Memory, Disabled, None, All Flash Contents, 115200"

Lo sketch usa 247932 byte (24%) dello spazio disponibile per i programmi. Il massimo è 1023984 byte.
Le variabili globali usano 28012 byte (34%) di memoria dinamica, lasciando altri 53908 byte liberi per le variabili locali. Il massimo è 81920 byte.
Erasing 0x100000 bytes starting at 0x00000000
Uploading 252080 bytes from C:\Users\corra\AppData\Local\Temp\arduino_build_479571/Blink.ino.bin to flash at 0x00000000
................................................................................ [ 32% ]
................................................................................ [ 64% ]
...................warning: espcomm_send_command: didn't receive command response
warning: espcomm_send_command(FLASH_DOWNLOAD_DATA) failed
warning: espcomm_send_command: wrong direction/command: 0x01 0x03, expected 0x01 0x04
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

ho fatto diverse prove, diversi cavi, diverse velocità di comunicazione, anche 2 pc diversi, uso una FT232RL.

quali altre info potrei darvi per capire dove o come sistemare la cosa?
o magari capire se si è rotto il sonoff... ma almeno non mi ci innervosisco più

grazie mille in anticipo!

Buonasera,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

OPS,
siccome ero già iscritto da un po di tempo n mi ricordavo proprio che non lo avevo fatto,
ho sempre letto senza mai scrivere :slight_smile:

Un sonoff ?
Hai letto questo tutorial ? LINK

nid69ita:
Un sonoff ?
Hai letto questo tutorial ? LINK

Ciao nid69ita
si , letto e riletto, ho letto anche altre guide e provati altri firmware.

mi fa pensare che l'ide, driver e librerie siano tutte in ordine perchè la programmazione inzia senza problemi.

corrado-c:
................................................................................ [ 32% ]
................................................................................ [ 64% ]
...................warning: espcomm_send_command: didn't receive command response
warning: espcomm_send_command(FLASH_DOWNLOAD_DATA) failed
warning: espcomm_send_command: wrong direction/command: 0x01 0x03, expected 0x01 0x04
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

... questa cosa mi preoccupa ... 32% ok, 64% ok, poi, arrivato ad una certa cella di memoria, invece di trovare 0x01 0x04 trova un 0x01 0x03 ... come se la cella fosse danneggiata e non riuscisse a scriverci il valore corretto ... ::slight_smile:

Guglielmo

Grazie Guglielmo, proprio quello di cui avevo paura,
ho appena letto diprovare a usare esptool per pulire la memoria,
ma la funzione in STRUMENTI>ERASE FLASH > ALL FLASH CONTENT, non fa la stessa cosa?
io avevo impostato proprio ALL per pulire, è giusto?

allora, ho installato python e esptool, ripulito la memoria, riprovato a flashare e stesso errore di prima, quindi non è la memoria sporca.

poi per fare un tentativo ho cambiato flash size da 1M a 512K..... caricamento completato!
però lo sketch caricato non funziona, quello per far lampeggiare il led.

ho riprovato a reinstallarlo rimettendo flash size a 1M e il caricamento è stato di nuovo completato....
comunque ancora niente il led non lampeggia.... forse è proprio rotto

il pin del led è 13 giusto? mi sta venendo il dubbio

int ledState = LOW;

unsigned long previousMillis = 0;
const long interval = 1000;

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;
    if (ledState == LOW) {
      ledState = HIGH;  // Note that this switches the LED *off*
    } else {
      ledState = LOW;  // Note that this switches the LED *on*
    }
    digitalWrite(13, ledState);
  }
}

Mmm ... non sono sicuro che il "pin 13" di arduino sia veramnete il GPIO del ESP8266 su cui è collegato il LED nei Sonoff ... devi andare a cercare qualche esempio con Google.

Ad esempio, mi sembra di aver visto che sia sulle NodeMCU che sulle WeMos ... il pin del LED è tutt'altro ... ::slight_smile:

Guglielmo

P.S.: ... e non so neanche se il GPIO del LED cambia da un modello di Sonoff ad altro modello ... verifica sempre con Google!

sull'esempio era scritto LED_BUILTIN io l'ho cambiato in 13 perchè mi sembrava quello del sonoff.

Comunque pin del led a parte, credo che comprerò una nuovo FT232 o simile (accetto consigli)

il post era più che altro per imparare a capire l'origine del difetto e usare altri strumenti,
risolvere i problemi, o cercare di risolvere in questo caso, è sempre un bell'esercizio, ho conosciuto esptool.

se avete qualche altro spunto da darmi per fare prove tengo ancora il "cadavere" da parte prima di buttarlo, tanto ormai è solo per fare prove per la scienza :grinning:

intanto mi studio un po di post sui esp8266 che sono proprio interessanti!

allora, arrivato nuovo adattatore USB SERIALE,
funziona tutto al primo colpo.

spero almeno possa essere d'aiuto a qualcun'altro :smiley:

esiste un modo per testare questi adattatori?