ESPFLASH
Este artículo muestra cómo desbloquear un flujo de flasheo de ESP32 mucho más flexible directamente desde el teléfono.
Cómo flashear ESP32 desde Android con OTG
Espressif ofrece en escritorio la herramienta Flash Download Tool para flashear chips de la serie ESP32. Ahora contamos con ESPFlash, que permite hacer este proceso directamente desde Android.
Con solo un cable USB entre el teléfono y la placa ESP32, puedes obtener un flujo de flasheo mucho más ligero.
Para quienes necesitan grabar firmware en campo, no tienen un portátil cerca o simplemente quieren un proceso más portátil, este enfoque resulta mucho más directo que el flujo tradicional de escritorio.
Preparación
Antes de empezar, conviene tener listo lo siguiente:
- Un teléfono o tablet Android con soporte OTG
- Un cable OTG o el adaptador de datos correcto para tu teléfono
- Una placa de desarrollo ESP32 o ESP8266
- Un cable USB que soporte transferencia de datos
- Los archivos de firmware que quieras grabar
Si tu placa usa USB nativo, la conexión suele ser más directa.
Si la placa incorpora un chip puente USB a UART, también puede flashearse por este mismo camino con OTG.
Tipos de conexión compatibles
Según la página del producto, ESPFlash soporta dos rutas comunes:
1. Dispositivos con USB nativo
Esto aplica a chips ESP y placas con USB nativo, como algunas placas más recientes de la familia ESP32.
Estos dispositivos suelen conectarse de forma más directa. Una vez que el teléfono los reconoce, puedes continuar con el proceso de flasheo. Con STUB activado, la velocidad también puede ser muy alta.
2. Dispositivos USB a UART
Las placas ESP32 y ESP8266 tradicionales suelen llevar un chip puente USB a UART.
Estas placas también pueden flashearse desde Android usando OTG.
Proceso paso a paso
Paso 1: Conectar el teléfono y la placa
Usa un cable OTG para conectar el teléfono Android con la placa de desarrollo.
Si utilizas un camino USB a UART, primero verifica que el adaptador y la placa estén conectados correctamente y después conecta el adaptador al teléfono.
Paso 2: Abrir ESPFlash
Después de hacer la conexión, abre ESPFlash.
Si Android muestra una solicitud de permiso USB, permite que la aplicación acceda al dispositivo conectado.
Paso 3: Seleccionar el firmware
Elige el archivo de firmware dentro de la aplicación. Si es una imagen factory completa, normalmente basta con usar la dirección 0x0.
Si tu firmware está dividido en varias partes, por ejemplo bootloader, partition y la imagen principal de la aplicación, debes asignar cada archivo a su dirección correcta.
Este punto merece especial atención, porque las direcciones de flasheo incorrectas son una de las causas más comunes de error.
Paso 4: Seleccionar el dispositivo y comenzar el flasheo
Cuando la aplicación reconozca el dispositivo objetivo, inicia el proceso de flasheo.
Durante esta fase, mantén estable la conexión USB. Evita desconectar el cable y trata de que el teléfono no interrumpa el proceso con modos de ahorro agresivos.
Paso 5: Esperar a que termine
Al finalizar, la placa normalmente se reinicia sola. Si no lo hace, puedes pulsar manualmente el botón RST.
Si el firmware es correcto y las direcciones están bien configuradas, entonces podrás comprobar si la placa arranca con normalidad.
Cuándo resulta útil este flujo
Flashear ESP32 desde Android por OTG es especialmente útil cuando:
- no tienes un ordenador cerca
- necesitas instalar, probar o mantener dispositivos en campo
- quieres validar rápidamente si una versión de firmware puede arrancar
- buscas un flujo más ligero sin depender de un entorno de escritorio completo
La mayor ventaja no es reemplazar todas las herramientas de escritorio. Es que muchas tareas que antes obligaban a volver al ordenador ahora pueden hacerse directamente desde el teléfono.
Problemas frecuentes
La lista de dispositivos está vacía
Primero comprueba que la placa reciba alimentación correctamente y, si es posible, prueba con un cable USB de mejor calidad.
Muchos casos de "no se detecta el dispositivo" no están causados por la aplicación, sino por cables solo de carga, alimentación inestable o adaptadores OTG de baja calidad.
Si estás usando un adaptador OTG, conviene probar con otro.
La conexión falla por timeout
Revisa si la placa se está reiniciando continuamente. Si es así, puede que necesites entrar manualmente en modo de descarga usando los botones BOOT y RST.
En algunas placas, entrar al modo de flasheo no depende solo del software, sino también de que el circuito de auto-descarga esté bien implementado en hardware.
Si la placa no entra automáticamente en modo de descarga, la vía manual suele ser la solución más rápida.
La placa no funciona después del flasheo
Asegúrate de que el firmware incluye los archivos correctos de bootloader y partition, y de que las direcciones de flasheo son correctas.
Además, comprueba lo siguiente:
- que el firmware corresponde al modelo de chip
- que la tabla de particiones es la adecuada
- que los archivos grabados están completos
Aunque la imagen principal de la aplicación sea correcta, la placa puede no arrancar si bootloader o partition están en direcciones equivocadas.
Cierre
Si siempre has pensado que flashear ESP32 es algo que solo puede hacerse desde un PC, Android OTG merece la pena.
ESPFlash no se limita a meter un flujo de escritorio dentro del teléfono. Hace que muchas tareas móviles de flasheo sean más directas y más portátiles.