chiptron.cz

Web Serial · esptool-js · bez instalace

Nahrajte firmware do ESP32 přímo z prohlížeče

Vyberte čip, přetáhněte .bin soubory z Arduino IDE a nástroj se postará o zbytek. Sám přečte typ čipu z hardwaru, rozpozná role souborů podle jejich obsahu a doplní správné offsety. Když něco nesedí, flash neproběhne.

Špatný firmware desku nezničí

Flash paměť jde vždy přepsat znovu. Nejhorší, co se může stát, je že se deska zacyklí v restartech — pak ji jednoduše přeflashujete správně. Nevratně zabít ESP32 lze jen zápisem eFuse pojistek, což tento nástroj nedělá.

Tento prohlížeč neumí Web Serial

Nástroj potřebuje Web Serial API, které mají jen prohlížeče postavené na Chromiu. Otevřete stránku v Chrome, Edge nebo Opeře. Firefox, Safari ani iOS Web Serial nepodporují.

1

Vyberte čip na své desce

Nemusíte znát offsety — nástroj je dosadí sám. Výběr si po připojení desky ověří proti skutečnému hardwaru.

2

Přidejte soubory z Arduino IDE

V Arduino IDE dejte Sketch → Export Compiled Binary a přetáhněte sem celý obsah složky build. Nástroj přečte hlavičku každého souboru a sám pozná, co je co — na názvu nezáleží.

Přetáhněte sem .bin soubory nebo klepněte a vyberte je

boot_app0.bin hledat nemusíte — je vestavěný.

3

Připojte desku a ověřte čip

Nástroj přečte typ čipu, MAC adresu a velikost flash paměti přímo z desky. Pokud se skutečný čip liší od vašeho výběru, nahrání se zablokuje.

4

Nahrajte firmware

Připravuji…0 %

Offsety flash paměti u ESP32, S3 a C3

Tohle je nejčastější zdroj chyb při ručním flashování. ESP32-S3 a ESP32-C3 mají bootloader na offsetu 0x0, zatímco původní ESP32 na 0x1000. Když použijete offset od jiného čipu, deska se zasekne v restartové smyčce. Nástroj výše dosazuje offsety sám podle detekovaného čipu, takže se v nich splést nemůžete.

SouborESP32ESP32-S3ESP32-C3
bootloader.bin0x10000x00x0
partitions.bin0x80000x80000x8000
boot_app0.bin0xe0000xe0000xe000
aplikace .bin0x100000x100000x10000

Jak nástroj pozná, co je který soubor

Podle názvu ne — ten si každý pojmenuje jinak. Rozhoduje obsah:

chip_id v hlavičce firmwaru

ESP32 = 0 · ESP32-S2 = 2 · ESP32-C3 = 5 · ESP32-S3 = 9 · ESP32-C6 = 13 · ESP32-H2 = 16. Firmware s cizím chip_id nástroj odmítne zapsat.

Když se něco pokazí

Deska se v dialogu portu vůbec neobjeví

Skoro vždy je na vině kabel. Spousta USB kabelů umí jen napájení a nemá datové vodiče — deska se rozsvítí, ale počítač o ní neví. Zkuste jiný kabel. Pokud to nepomůže, chybí ovladač převodníku (CP2102 nebo CH340) — u desek s nativním USB (ESP32-S3, C3) žádný ovladač potřeba není.

Připojení selže nebo timeout na "Connecting…"

Deska nepřešla do bootovacího režimu. Podržte tlačítko BOOT, krátce stiskněte RESET, pusťte BOOT a zkuste připojení znovu. Některé klony desek nemají osazené automatické resetovací tranzistory a tenhle postup vyžadují vždy.

Nahrálo se to, ale deska se pořád restartuje

Otevřete sériový monitor a přečtěte si důvod restartu. Nejčastěji jde o špatný offset bootloaderu (typicky 0x1000 místo 0x0 u S3), chybějící partition tabulku, nebo firmware očekávající PSRAM na desce, která ji nemá. Zapněte volbu Smazat celou flash a nahrajte znovu.

Po nahrání se deska nehlásí jako sériový port (ESP32-S3 / C3)

U desek s nativním USB musí být ve firmwaru zapnuté USB CDC. V Arduino IDE nastavte Tools → USB CDC On Boot: Enabled a zkompilujte znovu. Bez toho program běží, ale port zmizí a monitor se nemá k čemu připojit.

Firmware čte obrázky nebo data ze souborového systému

Export skici z Arduino IDE nevytvoří obraz SPIFFS ani LittleFS. Ten musíte vygenerovat zvlášť (pluginem pro nahrání dat, nebo přes mklittlefs) a nahrát jako další soubor na offset, který určuje vaše partition tabulka.

Časté dotazy

Můžu špatným firmwarem zničit ESP32?

Ne. Flash paměť lze vždy přepsat znovu. Špatný firmware způsobí, že se deska zacyklí v restartech nebo nenaběhne, ale trvale ji nepoškodí. Nevratně zničit ESP32 lze pouze zápisem eFuse pojistek — tento nástroj do eFuse nikdy nesahá. Pokud deska po nahrání nefunguje, prostě ji přeflashujete správnými soubory.

Na jakém offsetu začíná bootloader u ESP32-S3?

Na 0x0. Stejně tak u ESP32-C3. U původního ESP32 je bootloader na 0x1000. Toto je zdaleka nejčastější chyba při ručním flashování — deska po ní naběhne do restartové smyčky. Partition tabulka je u všech tří čipů na 0x8000, boot_app0.bin na 0xe000 a aplikace na 0x10000.

Kde najdu soubor boot_app0.bin?

Arduino IDE ho neexportuje se skicí. Leží v instalaci jádra ESP32, typicky v Arduino15/packages/esp32/hardware/esp32/<verze>/tools/partitions/boot_app0.bin. Tento nástroj ho má vestavěný a doplní ho automaticky, takže ho hledat nemusíte.

Proč flashování nefunguje ve Firefoxu?

Firefox ani Safari nepodporují Web Serial API, bez kterého se prohlížeč k desce nepřipojí. Použijte Chrome, Edge, Operu nebo jiný prohlížeč postavený na Chromiu. Na Androidu funguje Chrome, na iOS Web Serial dostupné není vůbec.

Musím držet tlačítko BOOT?

U většiny desek ne — nástroj přepne čip do bootovacího režimu automaticky signály DTR a RTS. Pokud se připojení nedaří, podržte BOOT, krátce stiskněte RESET, BOOT pusťte a zkuste to znovu.

Odesílají se moje soubory někam na server?

Ne. Celý nástroj běží v prohlížeči a komunikuje jen se sériovým portem vaší desky. Soubory nikam neputují, žádný backend tu není.

Jaký je rozdíl mezi nahráním firmwaru a smazáním flash?

Nahrání přepíše jen oblasti, kam zapisujete soubory — WiFi hesla a NVS data zůstanou. Smazání flash vymaže celý čip. Použijte ho, když deska po novém firmwaru zlobí nebo když chcete čistý start.

Nástroj je zdarma. Pomůže i drobnost

Provoz i vývoj stojí čas. Pokud vám flasher ušetřil večer hledání, co je špatně, mrkněte na nákup přes odkaz níže — cena zůstává stejná, jen se malý díl vrátí zpátky do dalších nástrojů a článků na Chiptronu.

Podpořit nákupem na Alze → Affiliate odkaz · pro vás bez příplatku
Další nástroje na Chiptronu

Po nahrání firmwaru se hodí sériový monitor s plotterem, při ladění registrů převodník číselných soustav. Návody, recenze a projekty najdete na chiptron.cz.