La aplicación Home Assistant para Android flashea ESPHome en un ESP32

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:

  1. 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.
  2. 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.
  3. 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.androidHome 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

Pasos

  1. Alimenta el ESP32. Las placas con firmware de fábrica Improv se anuncian durante los primeros minutos de cada arranque.
  2. 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.
  3. 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.
  4. 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:

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

Software

Pasos de un vistazo

  1. Conecta el móvil al ESP32 con el cable OTG. Android debería pedir abrir la app de terminal; concede permiso USB.
  2. Conéctate a la placa a 115200 baud en el terminal para verificar la comunicación.
  3. Si usas Termux, instala Python y esptool (pkg install python && pip install esptool) y usa esptool.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.
  4. Si no usas Termux, algunas apps GUI de flasheo Android (busca en Google Play variantes de ESP Flash Tool) pueden enviar un factory .bin directamente 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:

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

Dónde encaja cada método

MétodoPrimer flasheo de placa vacíaReflasheo tras primera configuraciónRequiere portátil
Improv Wi-Fi desde la app HA AndroidSolo si la placa llega lista para ImprovSí (por Wi-Fi)No
ESPHome OTA tras primer flasheo en servidorNo (necesita servidor o portátil de un amigo una vez)Sí (por Wi-Fi)Una vez
Serial USB-OTG desde AndroidNo

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.