
El panel ESPHome está pensado para ejecutarse en un portátil o en un servidor Home Assistant, y su botón «Install» asume una conexión serial USB cableada a la máquina de desarrollo. Eso ha dejado a muchos aficionados que solo tienen Android preguntándose si pueden flashear un ESP32 para ejecutar ESPHome sin pedir prestado un ordenador. En 2026 la respuesta es sí para la mayoría de los casos, no para el último tramo, y las opciones siguientes cubren todos los escenarios que probablemente encontrarás.
La lista de aplicaciones companion para Android de placas ESP32 y ESP8266 en general está en nuestro resumen de las siete mejores aplicaciones ESPHome y companion de microcontroladores para Android. Esta guía se centra en el único trabajo que las apps companion omiten: cargar el firmware ESPHome en una placa nueva por primera vez.
Tres rutas que funcionan desde Android
Los tres métodos de flasheo que realmente funcionan sin portátil, en el orden en que conviene probarlos:
- Improv Wi-Fi por Bluetooth — la placa preflasheada llega con Improv, el móvil aprovisiona las credenciales Wi-Fi por BLE, el panel ESPHome en el servidor la recoge para OTA. Cero cables, cero terminal.
- Complemento de Home Assistant más OTA — ya ejecutas Home Assistant en un mini PC o Raspberry Pi. El primer flasheo usa cualquier portátil o single-board computer; cada flasheo posterior es over-the-air desde el móvil.
- Serial USB-OTG — móvil Android con USB-C OTG más una app de terminal serial más el binario factory de ESPHome. Funciona para el flasheo inicial. Engorroso, pero sin portátil.
El método 1 es hacia donde llegó la industria en 2026 y donde debes empezar. El método 2 es el respaldo para quien tenga una placa que no llegó con Improv preinstalado. El método 3 es para casos límite: placas ESP32-C3 o ESP32-S3 nuevas que hay que arrancar desde un flash completamente vacío.
Método 1: Improv Wi-Fi desde la app Home Assistant para Android
Paquete Google Play: io.homeassistant.companion.android — Home Assistant en Aptoide
Improv Wi-Fi es un protocolo abierto mantenido por el equipo Home Assistant / ESPHome. Una placa preflasheada — enchufes inteligentes Athom, dispositivos Shelly que migran a ESPHome, sensores Everything Presence, la mayoría del hardware listo para ESPHome desde 2025 — se anuncia por Bluetooth Low Energy. El móvil se conecta, envía el SSID y la contraseña Wi-Fi y cede el control al panel ESPHome para instalaciones OTA de firmware a partir de ahí.
Lo que necesitas
- Un ESP32 o ESP8266 que llegue con Improv preinstalado, o una placa que ya hayas flasheado una vez con el componente ESPHome Improv activado.
- Home Assistant ejecutándose en tu red con el complemento ESPHome instalado.
- La app Home Assistant para Android (enlace arriba) con sesión iniciada en tu instancia.
- Bluetooth activado en el móvil. Improv usa BLE, no emparejamiento Bluetooth clásico.
Pasos
- Alimenta el ESP32. Las placas con firmware de fábrica Improv se anuncian durante los primeros minutos de cada arranque.
- Abre la app Home Assistant para Android. Escucha anuncios Improv automáticamente en el mismo segmento de red y muestra una notificación etiquetada Set up nearby device. Si no aparece, desliza hacia abajo para refrescar el panel o comprueba que el escaneo Bluetooth está activado en los ajustes de Bluetooth de Android.
- Toca la notificación. El móvil se conecta por BLE, te pide la red Wi-Fi a la que unirse y envía las credenciales a la placa. El ESP parpadea su LED integrado mientras se asocia a tu Wi-Fi.
- El panel ESPHome en Home Assistant muestra el nuevo dispositivo bajo Discovered. Desde ahí, adóptalo, elige o escribe una configuración YAML y pulsa Install > Wirelessly. La compilación y el push OTA ocurren en el servidor; el móvil solo observa.
Lo único que conviene comprobar dos veces es que el ESP esté en la misma subred que tu instancia Home Assistant. Las redes Wi-Fi de invitados y los SSID empresariales con aislamiento de clientes rompen el traspaso OTA. Pon el ESP en tu red principal para el primer flasheo y muévelo después si hace falta.
Método 2: OTA tras un flasheo único en el servidor
Si tu placa no llegó con Improv, tampoco necesitas un portátil para reflashearla después de la primera vez. El instalador OTA del panel ESPHome funciona por Wi-Fi una vez que cualquier firmware ESPHome — por básico que sea — está en la placa.
El inconveniente es que el primer flasheo tiene que ocurrir en algún sitio. Tres formas prácticas:
- Ejecutar ESPHome directamente en una Raspberry Pi con la placa conectada. SSH desde Termius en Android hacia la Pi, conecta el ESP32 al puerto USB de la Pi, ejecuta
esphome run initial.yamldesde la shell. La Pi se convierte en tu estación de flasheo puntual. - Usar el puerto USB del dispositivo Home Assistant Green / Yellow / OS. Home Assistant OS expone los dispositivos serial USB conectados al complemento ESPHome. Conecta el ESP a la caja HA, abre el panel ESPHome en el navegador móvil, pulsa Install > Plug into the computer running ESPHome Dashboard. El complemento flashea por la conexión serial USB local sin portátil.
- Pedir prestado el portátil de un amigo diez minutos solo para el primer flasheo, devolverlo y hacer todas las actualizaciones posteriores OTA desde la app Android. Es la opción pragmática por defecto.
Una vez que la placa tiene cualquier build ESPHome, la opción Install > Wirelessly del panel ESPHome queda disponible y no vuelves a tocar USB — hasta que el OTA falle y tengas que recuperar la placa.
Método 3: Serial USB-OTG desde Android
Busca esto en Google Play: Serial USB Terminal, DroidTerm, USB Serial Console
El flasheo serial directo desde Android es la vía de casos límite. Android no ejecuta la toolchain Python de ESPHome de forma nativa, así que este método no trata de ejecutar esphome-flasher en el móvil — trata de cargar un binario factory precompilado en el ESP mediante una app de terminal serial.
Hardware que necesitas
- Un móvil con soporte host USB-C OTG. Casi todo móvil Android de 2020 en adelante lo tiene; los más antiguos necesitan un cable OTG USB-C a USB-A.
- Un cable de datos USB-C a USB-C, o USB-C a Micro-USB según tu placa dev ESP.
- La placa ESP32 o ESP8266 con puente USB-to-serial integrado (CP2102, CH340, CP210x — la mayoría de placas dev lo incluyen).
Software
- Una app de terminal serial que hable USB-CDC con el chipset CP2102 / CH340. Serial USB Terminal de Kai Morich es la opción gratuita más robusta en Google Play; DroidTerm es una alternativa más ligera.
- Un archivo factory
binprecompilado, descargado del paso de compilación del panel ESPHome en cualquier portátil, o de las descargas factory listas para ESPHome de Athom / Shelly. - Termux más
esptool.pypara quien se sienta cómodo con una shell.
Pasos de un vistazo
- Conecta el móvil al ESP32 con el cable OTG. Android debería pedir abrir la app de terminal; concede permiso USB.
- Conéctate a la placa a 115200 baud en el terminal para verificar la comunicación.
- Si usas Termux, instala Python y
esptool(pkg install python && pip install esptool) y usaesptool.py --port /dev/bus/usb/... write_flash 0x0 firmware-factory.bin. Termux necesita el driver serial USB enlazado a/dev/bus/usb, que suele funcionar en Android moderno tras conceder permiso. - Si no usas Termux, algunas apps GUI de flasheo Android (busca en Google Play variantes de ESP Flash Tool) pueden enviar un factory
.bindirectamente por el puente CP2102 / CH340.
La fiabilidad varía según el móvil. Samsung y Pixel con versiones recientes de Android manejan CP2102 y CH340 sin configuración; builds antiguos de Xiaomi y Realme a veces necesitan conceder el permiso OTG-USB dos veces. Todo el método es mucho menos agradable que Improv Wi-Fi; trátalo como el último recurso.
Qué puede y no puede hacer Home Assistant en Android
La app Home Assistant Companion para Android es donde acaban los tres métodos — el panel ESPHome vive dentro de Home Assistant, así que cuando un dispositivo está en tu red aparece en la app para monitorización y actualizaciones OTA. Lo que la app en sí no puede hacer:
- Compilar firmware ESPHome localmente en el móvil. El compilador ESPHome corre en el servidor, no en el móvil. Tu móvil es una superficie de control para una compilación remota.
- Enviar flasheos serial USB sin el servidor. La app Companion no tiene función directa de flasheo USB-OTG. Si quieres que el móvil sea el compilador, estás fuera del flujo soportado.
- Aprovisionar Improv-over-Serial. La variante Improv Wi-Fi funciona desde Android; la variante Improv Serial necesita conexión cableada al host del panel ESPHome.
La app es excelente en lo que hace: aprovisionamiento Improv BLE, ver datos de sensores, disparar automatizaciones, recibir notificaciones de tus ESP32 una vez en línea. Sustituye el portátil para el día a día. No sustituye el portátil para el primer arranque de una placa completamente vacía a menos que la placa llegue lista para Improv.
Errores habituales al flashear ESPHome desde Android
- La placa está en un Wi-Fi con portal cautivo. Improv envía credenciales, pero las redes Wi-Fi que requieren login por portal cautivo en el navegador (redes de invitados, Wi-Fi de cafetería) no asociarán un ESP32 sin intervención. Mueve la placa a un SSID normal para el aprovisionamiento.
- Home Assistant está en otra VLAN. ESPHome OTA requiere descubrimiento mDNS en el mismo dominio de broadcast. Si tus ESP están en una VLAN IoT y Home Assistant en la LAN principal, activa reflexión mDNS en el router o aprovisiona el ESP en la misma VLAN que HA y muévelo después.
- Falta permiso de escaneo BLE. Android 12+ divide Bluetooth en Nearby devices (scan) y Bluetooth Connect. Improv necesita el permiso de escaneo — concede ambos a la app Home Assistant.
- El cable USB-OTG es solo de carga. Los cables USB-C a USB-C baratos que vienen con cargadores de pared a menudo carecen de pares de datos. Síntoma: el móvil reconoce que el ESP consume energía pero nunca enumera el dispositivo serial. Usa un cable con datos.
- La placa mantiene mal el modo boot. ESP32-C3 y ESP32-S3 a veces necesitan mantener pulsado
BOOTal encender antes del flasheo serial. Los cables USB-OTG que también alimentan la placa complican esto. Usa un cable en Y o una fuente de alimentación separada si te ocurre.
Dónde encaja cada método
| Método | Primer flasheo de placa vacía | Reflasheo tras primera configuración | Requiere portátil |
|---|---|---|---|
| Improv Wi-Fi desde la app HA Android | Solo si la placa llega lista para Improv | Sí (por Wi-Fi) | No |
| ESPHome OTA tras primer flasheo en servidor | No (necesita servidor o portátil de un amigo una vez) | Sí (por Wi-Fi) | Una vez |
| Serial USB-OTG desde Android | Sí | Sí | No |
El orden para probarlos sigue igual: Improv primero, OTA tras bootstrap en servidor segundo, serial USB-OTG solo cuando los dos primeros no estén disponibles.
FAQ
¿Puedo ejecutar el panel ESPHome completo en mi móvil Android?
No de forma nativa. El panel ESPHome es una app web Python que corre en Home Assistant OS, un contenedor Docker o una instalación Linux. Puedes acceder en un navegador móvil y controlarlo todo desde el móvil, pero la toolchain de compilación corre en el servidor.
¿Necesito Home Assistant para usar ESPHome desde Android?
El aprovisionamiento Improv Wi-Fi y el flasheo OTA asumen que un panel ESPHome es accesible desde el ESP. Ese panel suele vivir dentro de Home Assistant. Puedes ejecutar la imagen Docker ESPHome sin Home Assistant, pero el lado Android del flujo está diseñado en torno a la integración Improv de la app Home Assistant Companion.
¿Qué pasa si mi placa ESP32 no tiene puente USB-to-serial?
Algunos módulos ESP32-S3 y ESP32-C3 más nuevos exponen USB directamente sin puente CP2102 o CH340. A veces aparecen como dispositivo USB CDC nativo al que las apps de terminal Android pueden hablar, pero las peculiaridades de cambio de modo varían según el fabricante de la placa dev. Improv Wi-Fi o un primer flasheo en el servidor evitan el problema por completo.
¿Es seguro Improv Wi-Fi?
Improv cifra las credenciales Wi-Fi en tránsito por BLE usando una clave de sesión. No autentica el ESP — un atacante cercano podría suplantar técnicamente un dispositivo que anuncia Improv. En la práctica solo importa en el momento del primer aprovisionamiento. Después, el ESP está en tu Wi-Fi y se comunica con Home Assistant por la LAN.
¿Puedo flashear ESPHome desde un iPhone igual?
Improv Wi-Fi funciona desde iOS mediante Web Bluetooth en Safari, y la app Home Assistant iOS admite aprovisionamiento Improv. El flasheo serial USB-OTG está mucho más restringido en iOS porque los adaptadores Lightning-a-USB y USB-C-a-USB de Apple no exponen la capa serial CDC a apps de terceros como lo hace Android.