Blog
Flashing ESP32: esptool, erase e modalità download
Come flashare l’esp32, come cancellarlo quando va storto e come far ripartire una scheda muta. Risposte brevi, comandi veri.
Come flashare l’ESP32?
Tre modi sensati: l’Arduino IDE, esptool.py e il Flash Download Tool — tutti scrivono gli stessi byte. L’IDE avvolge esptool a 460800 baud; quando 921600 va in timeout, 460800 quasi sempre funziona. La velocità che fallisce dipende dalla scheda. Prima scheda? La FAQ per iniziare copre il passo del driver che tutti saltano.
Cosa viene scritto esattamente durante un flash?
Tre cose: il bootloader a 0x1000, la partition table a 0x8000 e l’applicazione a 0x10000 — 0x0 è l’inizio della flash, dove di default non vive nulla. L’erase cancella tutti e tre, ed è per questo che un chip appena cancellato non si avvia finché non tornano; l’Arduino IDE li ricostruisce tutti a ogni upload.
Come si flasha un ESP32?
Il percorso più veloce che non mi ha mai tradito: installa il driver per il tuo chip USB — CH340 sulla maggior parte delle schede economiche, CP2102 su molte altre — collega, annota la porta COM ed esegui esptool.py --port COM5 write_flash 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 app.bin. E controlla il cavo: ho bruciato una serata su un cavo USB solo-carica che alimenta la scheda ma non porta dati.
Come flashare un ESP32 WROOM?
Un modulo WROOM non ha ponte USB, quindi il flashing dipende dalla tua scheda: collega un adattatore USB-seriale a TX, RX, EN e GPIO0, tieni GPIO0 basso all’accensione e flasha come al solito. Chiedersi se l’esp32 wroom ha la flash? Sì — 4MB sul WROOM-32. Manca il circuito di auto-reset, quindi i moduli nudi vogliono la modalità download manuale a ogni flash.
Come flashare l’ESP32 con Arduino?
Strumenti → Scheda → la tua scheda, Strumenti → Porta → la porta COM, Strumenti → Velocità di upload → 460800, poi Upload. L’IDE flasha bootloader, partizioni e app in un clic ed entra da solo in modalità download sulle schede con circuito di auto-reset. Se si blocca, è il driver o il cavo.
Come usare l’ESP32 Flash Download Tool?
Il Flash Download Tool di Espressif è una GUI Windows che precede l’IDE: aggiungi i tuoi file .bin, scrivi un indirizzo accanto a ciascuno — 0x1000 bootloader, 0x8000 partition table, 0x10000 app — scegli modalità SPI e dimensione flash, premi START. Chi cerca come flashare espeasy su esp32 s2 mini arriva qui al passo uno.
Come cancellare la flash dell’ESP32?
esptool.py erase_flash svuota il chip al bianco — il fix standard per boot loop, partizioni corrotte e schede che rifiutano nuovo firmware. Dopo, il chip non si avvia finché non tornano bootloader, partizioni e app; l’IDE lo fa al prossimo upload. Preferisci la chirurgia? erase_region 0x9000 0x6000 pulisce solo l’area delle impostazioni NVS.
Il flashing può uccidere la mia scheda?
Non il flashing in sé. Le celle di flash sopravvivono a circa 10.000 cicli di cancellazione per settore, quindi quante volte puoi flashare un esp32 prima che muoia è un numero a migliaia — non lo raggiungerai sviluppando. Quello che uccide le schede è 5V su un pin a 3,3V o l’alimentazione invertita.
L’upload dice successo, ma non gira nulla?
Di solito è l’impostazione Flash Size: se l’IDE crede che il chip abbia 4MB e ne ha 2, il bootloader cerca l’app nel posto sbagliato. Impostala per combaciare col modulo e ricarica. Curioso di vedere la flash esp32? esptool.py read_flash 0x0 0x400000 dump.bin mostra dove è finita l’app. Se l’immagine è giusta e il boot continua a crashare, quello è debug — vedi la FAQ sul debug.
Mi serve ancora esptool se uso il Flash Download Tool?
No — scrivono la stessa flash, e ti serve solo uno. esptool.py vince sull’automazione; la GUI vince su Windows. L’Arduino IDE impacchetta esptool comunque, quindi la maggior parte della gente non tocca né l’uno né l’altro — la knowledge base sul flashing ha entrambi i flussi. A meno che il chip sia insolito, dove nessuno dei due si comporta benissimo.
I progetti di questo argomento girano direttamente nel simulatore gratuito di sensbench: circuito pre-cablato, firmware incluso, senza account né installazione.