L'application Home Assistant Android flashe ESPHome sur un ESP32

Le tableau de bord ESPHome est conçu pour tourner sur un ordinateur portable ou un serveur Home Assistant, et son bouton « Install » suppose une connexion serial USB filaire vers la machine de développement. Cela a laissé beaucoup de bricoleurs Android-only se demander s’ils peuvent flasher un ESP32 pour exécuter ESPHome sans emprunter un ordinateur. En 2026, la réponse est oui pour la plupart des cas, non pour la dernière étape, et les options ci-dessous couvrent tous les scénarios que vous êtes susceptibles de rencontrer.

La liste des applications compagnon Android pour les cartes ESP32 et ESP8266 plus largement se trouve dans notre sélection des 7 meilleures applications ESPHome et compagnon de microcontrôleurs pour Android. Ce guide se concentre sur la seule tâche que les apps compagnon contournent : mettre le firmware ESPHome sur une carte neuve pour la première fois.

Trois voies qui fonctionnent depuis Android

Les trois méthodes de flashage qui marchent vraiment sans ordinateur portable, dans l’ordre où vous devriez les essayer :

  1. Improv Wi-Fi via Bluetooth — la carte préflashée arrive avec Improv, le téléphone provisionne les identifiants Wi-Fi via BLE, le tableau de bord ESPHome sur le serveur la récupère pour l’OTA. Zéro câble, zéro terminal.
  2. Add-on Home Assistant plus OTA — vous exécutez déjà Home Assistant sur un mini PC ou Raspberry Pi. Le premier flash utilise n’importe quel ordinateur portable ou single-board computer ; chaque flash suivant se fait over-the-air depuis le téléphone.
  3. Serial USB-OTG — téléphone Android avec USB-C OTG plus une app terminal serial plus le binaire factory ESPHome. Fonctionne pour le flash initial. Pénible, mais sans ordinateur portable.

La méthode 1 est celle vers laquelle l’industrie est arrivée en 2026 et par laquelle commencer. La méthode 2 est le repli pour quiconque dont la carte n’est pas livrée avec Improv préinstallé. La méthode 3 concerne les cas limites : cartes ESP32-C3 ou ESP32-S3 neuves à amorcer depuis un flash complètement vierge.

Méthode 1 : Improv Wi-Fi depuis l’application Home Assistant Android

Package Google Play : io.homeassistant.companion.androidHome Assistant sur Aptoide

Improv Wi-Fi est un protocole ouvert maintenu par l’équipe Home Assistant / ESPHome. Une carte préflashée — prises intelligentes Athom, appareils Shelly passant à ESPHome, capteurs Everything Presence, la plupart du matériel prêt ESPHome à partir de 2025 — s’annonce via Bluetooth Low Energy. Le téléphone se connecte, envoie le SSID et le mot de passe Wi-Fi, puis passe la main au tableau de bord ESPHome pour les installations OTA de firmware ensuite.

Ce dont vous avez besoin

Étapes

  1. Alimentez l’ESP32. Les cartes avec firmware usine Improv s’annoncent pendant les premières minutes de chaque démarrage.
  2. Ouvrez l’application Home Assistant Android. Elle écoute automatiquement les annonces Improv sur le même segment réseau et affiche une notification intitulée Set up nearby device. Si elle n’apparaît pas, tirez vers le bas pour rafraîchir le tableau de bord ou vérifiez que le scan Bluetooth est activé dans les paramètres Bluetooth d’Android.
  3. Appuyez sur la notification. Le téléphone se connecte via BLE, vous demande le réseau Wi-Fi à rejoindre et envoie les identifiants à la carte. L’ESP clignote sa LED intégrée pendant qu’il s’associe à votre Wi-Fi.
  4. Le tableau de bord ESPHome dans Home Assistant affiche le nouvel appareil sous Discovered. De là, adoptez-le, choisissez ou rédigez une configuration YAML, puis appuyez sur Install > Wirelessly. La compilation et le push OTA se font sur le serveur ; le téléphone observe seulement.

La seule chose à revérifier : l’ESP est sur le même sous-réseau que votre instance Home Assistant. Les Wi-Fi invités et SSID d’entreprise avec isolation client cassent le relais OTA. Mettez l’ESP sur votre réseau principal pour le premier flash, puis déplacez-le si besoin.

Méthode 2 : OTA après un flash unique côté serveur

Si votre carte n’est pas livrée avec Improv, vous n’avez toujours pas besoin d’un ordinateur portable pour la reflasher après la première fois. L’installateur OTA du tableau de bord ESPHome fonctionne via Wi-Fi une fois qu’un firmware ESPHome — aussi basique soit-il — est sur la carte.

Le hic, c’est que le premier flash doit avoir lieu quelque part. Trois façons pratiques :

Une fois que la carte a n’importe quelle build ESPHome, l’option Install > Wirelessly du tableau de bord ESPHome devient disponible et vous ne touchez plus à l’USB — jusqu’à ce que l’OTA casse et que vous deviez récupérer la carte.

Méthode 3 : Serial USB-OTG depuis Android

Recherchez ceci sur Google Play : Serial USB Terminal, DroidTerm, USB Serial Console

Le flashage serial direct depuis Android est la voie des cas limites. Android n’exécute pas nativement la toolchain Python ESPHome, donc cette méthode ne consiste pas à lancer esphome-flasher sur le téléphone — il s’agit de mettre un binaire factory préconstruit sur l’ESP via une app terminal serial.

Matériel nécessaire

Logiciel

Étapes en bref

  1. Branchez le téléphone à l’ESP32 via le câble OTG. Android devrait proposer d’ouvrir l’app terminal ; accordez la permission USB.
  2. Connectez-vous à la carte à 115200 baud dans le terminal pour vérifier la communication.
  3. Si vous utilisez Termux, installez Python et esptool (pkg install python && pip install esptool) et utilisez esptool.py --port /dev/bus/usb/... write_flash 0x0 firmware-factory.bin. Termux a besoin du pilote serial USB relié à /dev/bus/usb, ce qui fonctionne généralement sur Android moderne après accord de permission.
  4. Si vous n’utilisez pas Termux, certaines apps GUI de flashage Android (cherchez sur Google Play des variantes ESP Flash Tool) peuvent pousser un factory .bin directement via le pont CP2102 / CH340.

La fiabilité varie selon le téléphone. Samsung et Pixel avec des versions Android récentes gèrent CP2102 et CH340 out of the box ; d’anciennes builds Xiaomi et Realme demandent parfois d’accorder la permission OTG-USB deux fois. Toute la méthode est nettement moins agréable qu’Improv Wi-Fi ; considérez-la comme le dernier recours.

Ce que Home Assistant sur Android peut et ne peut pas faire

L’application Home Assistant Companion Android est le point d’arrivée des trois méthodes — le tableau de bord ESPHome vit dans Home Assistant, donc une fois l’appareil sur votre réseau, il apparaît dans l’app pour la surveillance et les mises à jour OTA. Ce que l’app elle-même ne peut pas faire :

L’app est excellente pour ce qu’elle fait : provisioning Improv BLE, consultation des données capteurs, déclenchement d’automatisations, réception de notifications de vos ESP32 une fois en ligne. Elle remplace l’ordinateur portable pour le quotidien. Elle ne le remplace pas pour le premier bootstrap d’une carte complètement vierge, sauf si la carte est livrée prête Improv.

Pièges courants lors du flashage ESPHome depuis Android

Où chaque méthode s’intègre

MéthodePremier flash d’une carte viergeReflash après première configurationNécessite un ordinateur portable
Improv Wi-Fi depuis l’app HA AndroidSeulement si la carte est livrée prête ImprovOui (via Wi-Fi)Non
ESPHome OTA après premier flash côté serveurNon (serveur ou portable d’un ami une fois)Oui (via Wi-Fi)Une fois
Serial USB-OTG depuis AndroidOuiOuiNon

L’ordre d’essai reste le même : Improv d’abord, OTA après bootstrap côté serveur ensuite, serial USB-OTG seulement quand les deux premiers ne sont pas disponibles.

FAQ

Puis-je exécuter le tableau de bord ESPHome complet sur mon téléphone Android ?

Pas nativement. Le tableau de bord ESPHome est une application web Python qui tourne sur Home Assistant OS, un conteneur Docker ou une installation Linux. Vous pouvez y accéder dans un navigateur mobile et tout contrôler depuis le téléphone, mais la toolchain de compilation tourne côté serveur.

Ai-je besoin de Home Assistant pour utiliser ESPHome depuis Android ?

Le provisioning Improv Wi-Fi et le flashage OTA supposent tous deux qu’un tableau de bord ESPHome est joignable depuis l’ESP. Ce tableau de bord vit généralement dans Home Assistant. Vous pouvez exécuter l’image Docker ESPHome sans Home Assistant, mais le côté Android du flux est conçu autour de l’intégration Improv de l’application Home Assistant Companion.

Et si ma carte ESP32 n’a pas de pont USB-to-serial ?

Certains modules ESP32-S3 et ESP32-C3 plus récents exposent l’USB directement sans pont CP2102 ou CH340. Ils apparaissent parfois comme périphérique USB CDC natif auquel les apps terminal Android peuvent parler, mais les quirks de changement de mode varient selon le fabricant de la carte dev. Improv Wi-Fi ou un premier flash côté serveur contournent entièrement le problème.

Improv Wi-Fi est-il sécurisé ?

Improv chiffre les identifiants Wi-Fi en transit via BLE avec une clé de session. Il n’authentifie pas l’ESP — un attaquant à proximité pourrait techniquement usurper un appareil qui annonce Improv. En pratique, cela ne compte que pour le moment du premier provisioning. Ensuite, l’ESP est sur votre Wi-Fi et communique avec Home Assistant via le LAN.

Puis-je flasher ESPHome depuis un iPhone de la même façon ?

Improv Wi-Fi fonctionne depuis iOS via Web Bluetooth dans Safari, et l’application Home Assistant iOS prend en charge le provisioning Improv. Le flashage serial USB-OTG est beaucoup plus restreint sur iOS car les adaptateurs Lightning-vers-USB et USB-C-vers-USB d’Apple n’exposent pas la couche serial CDC aux apps tierces comme le fait Android.