Blog
Flashear ESP32: esptool, borrado y modo download
Cómo flashear el esp32, cómo borrarlo cuando las cosas se tuercen, cómo volver a hacer hablar a una placa muda — flashear es la única habilidad en la que se apoya todo proyecto ESP32. Respuestas cortas, comandos reales.
¿Cómo flashear el ESP32?
Tres formas sensatas: el Arduino IDE, esptool.py y el Flash Download Tool — todas escriben los mismos bytes. El IDE envuelve esptool a 460800 baudios; cuando 921600 expira, 460800 casi siempre funciona. La velocidad que falla es específica de la placa. ¿Primera placa? El FAQ de primeros pasos cubre el paso del driver que todo el mundo se salta.
¿Qué se escribe exactamente durante un flash?
Tres cosas: el bootloader en 0x1000, la tabla de particiones en 0x8000 y la aplicación en 0x10000 — 0x0 es el inicio del flash, donde por defecto no vive nada. Borrar limpia las tres, que es por lo que un chip recién borrado no arranca hasta que vuelven; el Arduino IDE reconstruye todo en cada subida.
¿Cómo flashear un ESP32?
La vía más rápida que nunca me ha fallado: instala el driver de tu chip USB — CH340 en la mayoría de placas baratas, CP2102 en muchas otras — enchufa, anota el puerto COM y ejecuta esptool.py --port COM5 write_flash 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 app.bin. Y revisa el cable: he quemado una tarde con un cable USB solo de carga que alimenta la placa pero no lleva datos.
¿Cómo flashear el ESP32 WROOM?
Un módulo WROOM no tiene puente USB, así que flashear depende de tu placa: cablea un adaptador USB-serie a TX, RX, EN y GPIO0, mantén GPIO0 en bajo al encender y flashea como siempre. ¿Tiene flash el esp32 wroom? Sí — 4 MB en el WROOM-32. Le falta un circuito de auto-reset, así que los módulos pelados necesitan modo download manual en cada flash.
¿Cómo flashear el ESP32 con Arduino?
Tools → Board → tu placa, Tools → Port → el puerto COM, Tools → Upload Speed → 460800, y luego Upload. El IDE flashea bootloader, particiones y app de un clic y entra en modo download por ti en las placas con circuito de auto-reset. Si se cuelga, es el driver o el cable.
¿Cómo usar el ESP32 Flash Download Tool?
El Flash Download Tool de Espressif es una GUI de Windows anterior al IDE: añade tus archivos .bin, escribe una dirección al lado de cada uno — 0x1000 bootloader, 0x8000 tabla de particiones, 0x10000 app — elige el modo SPI y el tamaño de flash, y dale a START. Buscar cómo flashear espeasy en esp32 s2 mini aterriza aquí en el paso uno.
¿Cómo borrar el flash del ESP32?
esptool.py erase_flash limpia el chip hasta dejarlo en blanco — el arreglo estándar para boot loops, particiones corruptas y placas que se niegan al firmware nuevo. Después el chip no arranca hasta que vuelvan bootloader, particiones y app; el IDE lo hace en su siguiente subida. ¿Prefieres cirugía? erase_region 0x9000 0x6000 limpia solo el área de ajustes NVS.
¿Puede el flasheo matar mi placa?
Flashear en sí, no. Las celdas de flash aguantan unos 10.000 ciclos de borrado por sector, así que cuántas veces puedes flashear el esp32 antes de que muera es un número en los miles — no lo alcanzarás desarrollando. Lo que mata placas es 5V en un pin de 3,3V o la alimentación invertida.
¿La subida dice éxito, pero no se ejecuta nada?
Normalmente el ajuste Flash Size: si el IDE cree que el chip tiene 4 MB y tiene 2, el bootloader busca la app en el sitio equivocado. Ponlo a juego con el módulo y re-subió. ¿Curioso de ver el flash del esp32? esptool.py read_flash 0x0 0x400000 dump.bin muestra dónde aterrizó la app. Si la imagen está bien y el arranque aun así crashea, eso es depuración — mira el FAQ de depuración.
¿Sigo necesitando esptool si uso el Flash Download Tool?
No — escriben el mismo flash, y solo necesitas uno. esptool.py gana en automatización; la GUI gana en Windows. El Arduino IDE incluye esptool de cualquier manera, así que la mayoría nunca toca ninguno — la base de conocimiento de flasheo tiene los dos flujos. Salvo que el chip sea inusual, donde ninguno se comporta del todo bien.
Los proyectos de este tema se ejecutan directamente en el simulador gratuito de sensbench: circuito preconectado, firmware incluido, sin cuenta y sin instalación.