Blog
Gravar ESP32: esptool, apagar e modo download
Como gravar o esp32, como apagá-lo quando as coisas saem do trilho, como fazer uma placa muda falar de novo — a gravação é a única habilidade em que todo projeto ESP32 se apoia. Respostas curtas, comandos reais.
Como gravar o ESP32?
Três jeitos sensatos: a Arduino IDE, o esptool.py e o Flash Download Tool — todos gravando os mesmos bytes. A IDE embrulha o esptool a 460800 baud; quando 921600 dá timeout, 460800 quase sempre funciona. A velocidade que falha é específica da placa. Primeira placa? O FAQ de primeiros passos cobre o passo do driver que todo mundo pula.
O que exatamente é gravado durante um flash?
Três coisas: o bootloader em 0x1000, a tabela de partição em 0x8000 e a aplicação em 0x10000 — 0x0 é o início do flash, onde nada mora por padrão. Apagar limpa as três, e é por isso que um chip recém-apagado não inicia até elas voltarem; a Arduino IDE reconstrói tudo em todo upload.
Como gravar um ESP32?
O caminho mais rápido que nunca me falhou: instale o driver do seu chip USB — CH340 na maioria das placas baratas, CP2102 em muitas outras — plugue, anote a porta COM e rode esptool.py --port COM5 write_flash 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 app.bin. E confira o cabo: já queimei uma noite com um cabo USB só de carga que alimenta a placa mas não passa dados.
Como gravar o ESP32 WROOM?
Um módulo WROOM não tem ponte USB, então a gravação depende da sua placa: ligue um adaptador USB-serial em TX, RX, EN e GPIO0, segure o GPIO0 em nível baixo ao ligar e grave como de costume. Perguntando se o esp32 wroom tem flash? Sim — 4 MB no WROOM-32. Ele não tem circuito de auto-reset, então módulos puros precisam de modo download manual em toda gravação.
Como gravar o ESP32 com o Arduino?
Tools → Board → sua placa, Tools → Port → a porta COM, Tools → Upload Speed → 460800, e Upload. A IDE grava bootloader, partições e app num clique e entra no modo download por você nas placas com circuito de auto-reset. Se travar, é o driver ou o cabo.
Como usar o ESP32 Flash Download Tool?
O Flash Download Tool da Espressif é uma GUI do Windows anterior à IDE: adicione seus arquivos .bin, digite um endereço ao lado de cada um — 0x1000 bootloader, 0x8000 tabela de partição, 0x10000 app — escolha o modo SPI e o tamanho do flash e aperte START. Pesquisar como gravar o espeasy num esp32 s2 mini termina aqui no passo um.
Como apagar o flash do ESP32?
esptool.py erase_flash limpa o chip até ficar em branco — o conserto padrão para boot loops, partições corrompidas e placas que recusam firmware novo. Depois, o chip não inicia até bootloader, partições e app voltarem; a IDE faz isso no próximo upload. Prefere cirurgia? erase_region 0x9000 0x6000 limpa só a área de configurações NVS.
Gravar pode matar minha placa?
Não pela gravação em si. As células de flash aguentam cerca de 10.000 ciclos de apagamento por setor, então quantas vezes dá para gravar o esp32 antes de morrer é um número na casa dos milhares — você não vai bater isso desenvolvendo. O que mata placas é 5V num pino de 3,3V ou energia invertida.
O upload diz sucesso, mas nada roda?
Normalmente é a configuração de Flash Size: se a IDE acha que o chip tem 4 MB e ele tem 2, o bootloader procura o app no lugar errado. Ajuste para bater com o módulo e reenvie. Curioso para ver o flash do esp32? esptool.py read_flash 0x0 0x400000 dump.bin mostra onde o app foi parar. Se a imagem está certa e o boot ainda quebra, isso é debug — veja o FAQ de debug.
Ainda preciso do esptool se uso o Flash Download Tool?
Não — eles gravam o mesmo flash, e você só precisa de um. O esptool.py vence em automação; a GUI vence no Windows. A Arduino IDE embute o esptool de qualquer forma, então a maioria nunca toca em nenhum dos dois — a base de conhecimento de gravação tem os dois fluxos. A menos que o chip seja incomum, onde nenhum dos dois se comporta muito bem.