
O painel ESPHome foi feito para rodar em um laptop ou em um servidor Home Assistant, e o botão “Install” pressupõe uma conexão serial USB com fio na máquina de desenvolvimento. Isso deixou muitos entusiastas que só têm Android se perguntando se dá para gravar um ESP32 com ESPHome sem pedir emprestado um computador. Em 2026, a resposta é sim na maioria dos casos, não na última milha, e as opções abaixo cobrem praticamente tudo o que você vai encontrar.
A lista mais ampla de aplicativos companion Android para placas ESP32 e ESP8266 está no nosso ranking dos sete melhores aplicativos ESPHome e companion de microcontroladores para Android. Este guia foca no único trabalho que os apps companion não fazem: colocar o firmware ESPHome em uma placa nova pela primeira vez.
Três caminhos que funcionam a partir do Android
Os três métodos de gravação que realmente funcionam sem laptop, na ordem em que você deve tentá-los:
- Improv Wi-Fi via Bluetooth — a placa já vem com Improv; o celular envia credenciais Wi-Fi por BLE; o painel ESPHome no servidor assume e faz OTA daí em diante. Zero cabos, zero terminal.
- Add-on do Home Assistant mais OTA — você já roda Home Assistant em um mini PC ou Raspberry Pi. A primeira gravação usa qualquer laptop ou single-board computer; todas as seguintes são over-the-air pelo celular.
- Serial USB-OTG — celular Android com USB-C OTG, app de terminal serial e o binário factory do ESPHome. Funciona para a gravação inicial. Trabalhoso, mas sem laptop.
O método 1 é onde a indústria chegou em 2026 e por onde você deve começar. O método 2 é o plano B para quem comprou uma placa sem Improv pré-instalado. O método 3 serve para casos extremos: placas ESP32-C3 ou ESP32-S3 novas que precisam ser inicializadas a partir de um flash completamente em branco.
Método 1: Improv Wi-Fi pelo aplicativo Home Assistant para Android
Pacote Google Play: io.homeassistant.companion.android — Home Assistant no Aptoide
Improv Wi-Fi é um protocolo aberto mantido pela equipe Home Assistant / ESPHome. Uma placa pré-gravada — plugs inteligentes Athom, dispositivos Shelly migrando para ESPHome, sensores Everything Presence, a maior parte do hardware pronto para ESPHome a partir de 2025 — se anuncia via Bluetooth Low Energy. O celular conecta, envia SSID e senha Wi-Fi e passa a bola para o painel ESPHome, que faz instalações OTA de firmware daí em diante.
O que você precisa
- Um ESP32 ou ESP8266 que venha com Improv pré-instalado, ou uma placa que você já tenha gravado uma vez com o componente ESPHome Improv habilitado.
- Home Assistant rodando na sua rede com o add-on ESPHome instalado.
- O aplicativo Home Assistant para Android (link acima) conectado à sua instância.
- Bluetooth ligado no celular. Improv usa BLE, não emparelhamento Bluetooth clássico.
Passos
- Ligue o ESP32. Placas com firmware factory Improv anunciam nos primeiros minutos de cada boot.
- Abra o aplicativo Home Assistant para Android. Ele escuta anúncios Improv automaticamente no mesmo segmento de rede e mostra uma notificação com o rótulo Set up nearby device. Se não aparecer, puxe para baixo para atualizar o painel ou confira se a varredura Bluetooth está habilitada nas configurações de Bluetooth do Android.
- Toque na notificação. O celular conecta por BLE, pede a rede Wi-Fi para associar e envia as credenciais à placa. O ESP pisca o LED onboard enquanto se associa ao seu Wi-Fi.
- O painel ESPHome no Home Assistant mostra o novo dispositivo em Discovered. A partir daí, adote-o, escolha ou escreva um YAML de configuração e toque em Install > Wirelessly. A compilação e o push OTA acontecem no servidor; o celular só acompanha.
A única coisa para conferir é se o ESP está na mesma sub-rede da sua instância Home Assistant. Redes Wi-Fi de convidados e SSIDs corporativos com isolamento de clientes quebram a passagem OTA. Coloque o ESP na rede principal na primeira gravação e mova depois, se precisar.
Método 2: OTA após uma gravação única no servidor
Se a placa não veio com Improv, você ainda não precisa de laptop para regravá-la depois da primeira vez. O instalador OTA do painel ESPHome funciona via Wi-Fi assim que qualquer firmware ESPHome — por mais básico que seja — estiver na placa.
O detalhe é que essa primeira gravação precisa acontecer em algum lugar. Três formas práticas:
- Rodar ESPHome direto em um Raspberry Pi com a placa conectada. Faça SSH pelo Termius no Android para o Pi, conecte o ESP32 na porta USB do Pi e execute
esphome run initial.yamlno shell. O Pi vira sua estação de gravação única. - Usar a porta USB do Home Assistant Green / Yellow / dispositivo OS. O Home Assistant OS expõe dispositivos serial USB conectados ao add-on ESPHome. Conecte o ESP na caixa HA, abra o painel ESPHome no navegador móvel e toque em Install > Plug into the computer running ESPHome Dashboard. O add-on grava pela conexão serial USB local, sem laptop.
- Pedir emprestado o laptop de um amigo por dez minutos só para a primeira gravação, devolver e fazer todas as atualizações seguintes por OTA pelo app Android. Esse é o padrão pragmático.
Quando a placa tiver qualquer build ESPHome, a opção Install > Wirelessly no painel ESPHome fica disponível e você não encosta em USB de novo — até o OTA falhar e precisar recuperar a placa.
Método 3: Serial USB-OTG a partir do Android
Pesquise no Google Play: Serial USB Terminal, DroidTerm, USB Serial Console
Gravação serial direta pelo Android é o caminho de exceção. O Android não roda nativamente a toolchain Python do ESPHome, então este método não é sobre executar esphome-flasher no celular — é sobre colocar um binário factory pré-compilado no ESP por um app de terminal serial.
Hardware necessário
- Um celular com suporte USB-C OTG em modo host. Quase todo Android de 2020 em diante tem isso; modelos mais antigos precisam de cabo USB-C para USB-A OTG.
- Cabo USB-C para USB-C com dados, ou USB-C para Micro-USB conforme a placa dev ESP.
- A placa ESP32 ou ESP8266 com ponte USB-serial onboard (CP2102, CH340, CP210x — a maioria das dev boards tem).
Software
- Um app de terminal serial que fale USB-CDC com o chipset CP2102 / CH340. Serial USB Terminal, de Kai Morich, é a opção gratuita mais robusta no Google Play; DroidTerm é uma alternativa mais leve.
- Um arquivo factory
binpré-compilado, baixado da etapa de compilação do painel ESPHome em qualquer laptop, ou dos downloads factory prontos para ESPHome da Athom / Shelly. - Termux mais
esptool.pypara quem se sente à vontade com shell.
Passos em resumo
- Conecte o celular ao ESP32 pelo cabo OTG. O Android deve pedir para abrir o app de terminal; conceda permissão USB.
- Conecte à placa em 115200 baud no terminal para verificar comunicação.
- Se estiver usando Termux, instale Python e
esptool(pkg install python && pip install esptool) e useesptool.py --port /dev/bus/usb/... write_flash 0x0 firmware-factory.bin. O Termux precisa do driver serial USB em/dev/bus/usb, o que em geral funciona no Android moderno depois de conceder permissão. - Se não estiver usando Termux, alguns apps Android com GUI de gravação (pesquise no Google Play por variantes de ESP Flash Tool) podem enviar um factory
.bindireto pela ponte CP2102 / CH340.
A confiabilidade varia por celular. Samsung e Pixel com Android recente lidam com CP2102 e CH340 de fábrica; builds mais antigos de Xiaomi e Realme às vezes exigem conceder a permissão OTG-USB duas vezes. O método inteiro é bem menos agradável que Improv Wi-Fi; trate como último recurso.
O que o Home Assistant no Android faz e não faz
O aplicativo Home Assistant Companion para Android é onde os três métodos convergem no fim — o painel ESPHome vive dentro do Home Assistant, então quando um dispositivo está na rede ele aparece no app para monitoramento e atualizações OTA. O que o app em si não faz:
- Compilar firmware ESPHome localmente no celular. O compilador ESPHome roda no servidor, não no celular. Seu telefone é uma superfície de controle para uma compilação remota.
- Enviar gravações USB-serial sem o servidor. O app Companion não tem recurso direto de gravação USB-OTG. Se você quer que o celular seja o compilador, está fora do fluxo suportado.
- Provisionar Improv-over-Serial. A variante Improv Wi-Fi funciona pelo Android; a variante Improv Serial precisa de conexão com fio ao host do painel ESPHome.
O app é excelente no que faz: provisionamento Improv por BLE, visualização de dados de sensores, acionamento de automações, notificações dos seus ESP32s quando estão online. Substitui o laptop no dia a dia. Não substitui o laptop no bootstrap inicial de uma placa completamente em branco, a menos que ela venha pronta para Improv.
Armadilhas comuns ao gravar ESPHome pelo Android
- Placa em Wi-Fi com captive portal. Improv envia credenciais, mas redes que exigem login por navegador (convidados, Wi-Fi de café) não associam um ESP32 sem interface. Mova a placa para um SSID normal no provisionamento.
- Home Assistant em VLAN diferente. OTA ESPHome exige descoberta mDNS no mesmo domínio de broadcast. Se os ESPs ficam em VLAN IoT e o Home Assistant na LAN principal, habilite reflexão mDNS no roteador ou provisione o ESP na mesma VLAN do HA e mova depois.
- Permissão de varredura BLE ausente. Android 12+ separa Bluetooth em Nearby devices (scan) e Bluetooth Connect. Improv precisa da permissão de scan — conceda ambas ao app Home Assistant.
- Cabo USB-OTG só carrega. Cabos USB-C baratos que vêm com carregadores de parede muitas vezes não têm pares de dados. Sintoma: o celular vê o ESP consumindo energia, mas nunca enumera o dispositivo serial. Use cabo com dados.
- Placa presa no modo boot errado. ESP32-C3 e ESP32-S3 às vezes precisam do botão
BOOTpressionado na energização antes da gravação serial. Cabos OTG que também alimentam a placa complicam isso. Use cabo Y ou fonte separada se encontrar esse caso.
Onde cada método se encaixa
| Método | Primeira gravação de placa em branco | Regravação após setup inicial | Exige laptop |
|---|---|---|---|
| Improv Wi-Fi pelo app HA Android | Só se a placa vier pronta para Improv | Sim (via Wi-Fi) | Não |
| OTA ESPHome após primeira gravação no servidor | Não (precisa de servidor ou laptop de amigo uma vez) | Sim (via Wi-Fi) | Uma vez |
| Serial USB-OTG pelo Android | Sim | Sim | Não |
A ordem de tentativa continua a mesma: Improv primeiro, OTA após bootstrap no servidor em segundo, serial USB-OTG só quando os dois primeiros não estiverem disponíveis.
FAQ
Posso rodar o painel ESPHome completo no meu celular Android?
Não nativamente. O painel ESPHome é um app web Python que roda no Home Assistant OS, em um container Docker ou em instalação Linux. Você pode acessá-lo no navegador móvel e controlar tudo pelo celular, mas a toolchain de compilação roda no servidor.
Preciso de Home Assistant para usar ESPHome pelo Android?
Provisionamento Improv Wi-Fi e gravação OTA pressupõem um painel ESPHome acessível pelo ESP. Esse painel normalmente fica dentro do Home Assistant. Você pode rodar a imagem Docker ESPHome sem Home Assistant, mas o lado Android do fluxo foi pensado em torno da integração Improv do app Home Assistant Companion.
E se minha placa ESP32 não tiver ponte USB-serial?
Alguns módulos ESP32-S3 e ESP32-C3 mais novos expõem USB direto, sem ponte CP2102 ou CH340. Às vezes aparecem como dispositivo USB CDC nativo que apps de terminal Android conseguem usar, mas as peculiaridades de troca de modo variam por fabricante da dev board. Improv Wi-Fi ou uma primeira gravação no servidor contornam o problema por completo.
Improv Wi-Fi é seguro?
Improv criptografa as credenciais Wi-Fi em trânsito por BLE usando uma chave de sessão. Não autentica o ESP — um atacante próximo poderia, em teoria, se passar por um dispositivo anunciando Improv. Na prática isso importa só no momento do primeiro provisionamento. Depois disso, o ESP está no seu Wi-Fi e se comunica com o Home Assistant pela LAN.
Dá para gravar ESPHome pelo iPhone da mesma forma?
Improv Wi-Fi funciona no iOS via Web Bluetooth do Safari, e o app Home Assistant para iOS suporta provisionamento Improv. Gravação serial USB-OTG é bem mais restrita no iOS porque adaptadores Lightning-USB e USB-C-USB da Apple não expõem a camada serial CDC a apps de terceiros como o Android faz.