SERIALFLOW / ANDROID
Convierte un móvil Android en monitor serie para ESP32 mediante USB OTG: captura el arranque, filtra errores, envía comandos, decodifica registros ESP y grafica datos.
Cómo depurar ESP32 desde Android con SerialFlow
Grabar el firmware es solo la mitad del trabajo. Las preguntas importantes suelen aparecer después del reinicio: ¿se conectó el ESP32 a Wi-Fi?, ¿por qué se desconectó MQTT?, ¿qué ocurrió antes del reinicio del watchdog?, ¿el sensor tiene ruido o una deriva real?
Con un teléfono Android, un adaptador USB OTG y SerialFlow puedes llevar un monitor serie para ESP32 al banco de trabajo o al lugar de instalación. La aplicación se conecta directamente por USB, ayuda a controlar registros rápidos y permite enviar comandos al firmware.

Qué aporta SerialFlow después de grabar el firmware
ESPFlash se ocupa de instalar el firmware. SerialFlow entra en juego cuando la nueva versión ya está ejecutándose.
La aplicación Android cubre las tareas habituales de depuración serie:
- conexión USB serie mediante Android USB Host/OTG;
- configuración de baudios, bits de datos, bits de parada, paridad, DTR y RTS;
- pausa, desplazamiento automático, limpieza y exportación o uso compartido de registros;
- búsqueda con coincidencia anterior/siguiente, distinción entre mayúsculas y minúsculas y expresiones regulares;
- combinación de varias reglas de filtro;
- envío de texto o bytes hexadecimales con el final de línea adecuado;
- almacenamiento de solicitudes repetidas como comandos rápidos;
- decodificación de registros orientados a ESP y visualización gráfica de telemetría numérica.
No es solo una ventana de texto: funciona como un espacio de trabajo compacto para dispositivos con una interfaz USB serie reconocida por Android.
Un flujo completo de ESP32 desde el teléfono
1. Graba el firmware
Usa ESPFlash para instalar el firmware. El procedimiento completo está en Cómo grabar ESP32 desde Android mediante USB OTG.
Al terminar, desconecta el dispositivo dentro de ESPFlash o cierra la sesión. Normalmente una sola aplicación puede controlar el dispositivo USB a la vez, por lo que el puerto debe quedar libre antes de abrirlo con SerialFlow.
2. Conecta la placa a SerialFlow
Utiliza un cable USB con datos y, cuando sea necesario, un adaptador OTG. Abre SerialFlow, selecciona el dispositivo USB detectado y acepta el permiso de acceso de Android.
Si la placa no aparece, vuelve a conectarla con SerialFlow abierto. Un cable que solo sirve para cargar es una causa frecuente de listas vacías.
3. Ajusta los parámetros serie
La configuración debe coincidir con la del firmware:
- Velocidad: 115200 es habitual en proyectos ESP32, pero manda la configuración del firmware.
- Bits de datos: normalmente 8.
- Bits de parada: normalmente 1.
- Paridad: normalmente ninguna.
- DTR/RTS: mantenlos sin cambios salvo que la placa o el circuito de reinicio los necesiten.
Un texto legible indica que los parámetros principales coinciden. Caracteres corruptos suelen señalar una velocidad o un formato de trama incorrectos.
4. Captura el arranque completo
Reinicia o vuelve a alimentar la placa mientras el terminal está conectado. Las primeras líneas suelen contener las mejores pistas sobre bucles de arranque, particiones, carga de configuración o bloqueos.
Mantén activo el desplazamiento automático al reproducir el problema. Pausa la salida cuando aparezca el fallo y después busca, filtra, copia o exporta las líneas relevantes sin perder la posición.
5. Encuentra información útil en un registro ruidoso
Un ESP32 puede imprimir estados de red, muestras de sensores, mensajes de tareas y registros de la aplicación varias veces por segundo. SerialFlow ofrece dos herramientas complementarias:
- Búsqueda: localiza un término y navega por las coincidencias anterior y siguiente; admite mayúsculas/minúsculas y expresiones regulares.
- Filtros: reducen continuamente lo que se muestra y permiten combinar varias reglas.
Para un problema de Wi-Fi o MQTT, prueba con wifi, mqtt, disconnect y error. Esta expresión regular agrupa varias rutas de fallo importantes:
(Guru Meditation|panic|assert|watchdog)
El filtrado no modifica el firmware ni exige compilar una versión especial de diagnóstico.
6. Envía comandos al firmware
Muchos proyectos incluyen una consola serie sencilla. SerialFlow puede enviar texto, bytes hexadecimales y distintos finales de línea. Si no hay respuesta, comprueba si el analizador espera LF, CR, CRLF o ningún sufijo.
Por ejemplo, escribe status, selecciona el final esperado y envíalo. Guarda status, reboot, wifi scan o una trama de protocolo como comandos rápidos para repetirlos con un toque.
7. Decodifica registros y grafica telemetría
El decodificador ESP ayuda a organizar la salida relacionada con la plataforma. Cuando el firmware publica valores numéricos con un formato estable, la vista de gráfico permite observar su evolución.
Los picos, oscilaciones, derivas y patrones temporales suelen ser más visibles en una curva que en una columna de números. Es útil para sensores, control de motores, potencia, temperatura y otros bucles periódicos.
8. Exporta un informe reproducible
Cuando captures el fallo, pausa el terminal y comparte o exporta el registro. Añade la versión del firmware, el modelo de placa, la configuración serie y la acción exacta que produjo el problema.
Un fragmento breve y filtrado con contexto resulta más útil que una captura con cientos de líneas no relacionadas.
Ejemplo: diagnosticar desconexiones MQTT
- Graba la versión candidata con ESPFlash y libera la conexión USB.
- Abre la placa en SerialFlow con los ajustes del firmware.
- Reinicia la placa y captura todo el arranque.
- Añade filtros para
wifi,mqtt,heap,errorywatchdog. - Busca
(disconnect|timeout|panic|assert). - Envía
statuscon el final de línea correcto. - Pausa y exporta el registro justo después de la desconexión.
El resultado es una línea temporal con la asociación de red, la conexión al broker, el estado de memoria, el fallo y un posible motivo de reinicio.
Problemas frecuentes de USB serie en Android
| Síntoma | Qué comprobar |
|---|---|
| No aparece ningún dispositivo USB | Compatibilidad USB Host/OTG, cable de datos, reconexión y permiso USB de Android. |
| Puerto ocupado después de grabar | Desconecta o cierra ESPFlash, vuelve a conectar el dispositivo y abre SerialFlow. |
| Salida ilegible | Ajusta velocidad, bits de datos, bits de parada y paridad al firmware. |
| Conectado, pero sin salida | Reinicia la placa, selecciona la interfaz USB correcta y confirma que el firmware escribe en ese puerto. |
| La placa se reinicia o desconecta | Revisa cable y alimentación; comprueba también el comportamiento de DTR/RTS. |
| Los comandos no reciben respuesta | Verifica el modo texto/hexadecimal y el final de línea que espera el analizador. |
Lleva contigo el ciclo de grabación y depuración
ESPFlash y SerialFlow cubren dos etapas consecutivas: instalar el firmware y comprender su comportamiento.
Consulta la página de SerialFlow o instala SerialFlow desde Google Play. Para la etapa de grabación, ESPFlash también está disponible en Google Play.