
Derrière beaucoup de capteurs de température, d’interrupteurs sans fil et de petites cartes de bricolage vendues quelques euros se cache la même puce, dont le nom revient sans cesse dans les projets de maison connectée. Son sigle ressemble à celui de ses cousines, ses déclinaisons se multiplient et la fiche produit d’un module ne dit presque jamais laquelle convient à un détecteur d’ouverture ou à une sonde de cave. Choisir à l’aveugle, c’est risquer d’installer chez nous un module sans la bonne radio.
L’ESP32, c’est une puce de la société Espressif qui réunit dans un seul composant un processeur, de la mémoire, une radio Wi-Fi 2,4 GHz et une radio Bluetooth. Sa fiche technique (version 5.3) en détaille le contenu.
| Caractéristique | Valeur de la fiche technique de l’ESP32 |
|---|---|
| Processeur | Xtensa 32 bits LX6, un ou deux cœurs, jusqu’à 240 MHz |
| Mémoire | 520 Ko de SRAM, 448 Ko de ROM, 16 Ko de SRAM dans l’horloge temps réel |
| Wi-Fi | 802.11 b/g/n à 2,4 GHz, jusqu’à 150 Mbit/s |
| Bluetooth | Bluetooth 4.2 BR/EDR et Bluetooth LE |
| Broches | 34 GPIO programmables |
| Alimentation | 2,3 V à 3,6 V |
| Température de fonctionnement | de -40 à 125 °C (85 °C maximum pour les versions à mémoire intégrée) |
Le Wi-Fi se limite à la bande 2,4 GHz : un ESP32 ne se connecte pas à un réseau 5 GHz seul. Les broches offrent des entrées analogiques (12 bits, jusqu’à 18 voies), 10 capteurs tactiles, deux interfaces I2C, trois UART et une interface Ethernet : une sonde ou un relais se branche directement. La puce intègre le démarrage sécurisé et le chiffrement de la mémoire flash.
La fiche technique cite le « Smart Home » en tête de ses domaines d’application.
Le nom « ESP32 » désigne une famille : chaque lettre indique un processeur et des radios différents. Les pages produits d’Espressif donnent les écarts suivants.
| Puce | Processeur | Fréquence maximale | Radios citées par Espressif |
|---|---|---|---|
| ESP32 | Xtensa 32 bits, 2 cœurs | 240 MHz | Wi-Fi, Bluetooth |
| ESP32-S3 | Xtensa LX7, 2 cœurs | 240 MHz | Wi-Fi 802.11 b/g/n, Bluetooth 5 (LE) |
| ESP32-C3 | RISC-V 32 bits, 1 cœur | 160 MHz | Wi-Fi, Bluetooth 5 (LE) |
| ESP32-C6 | RISC-V 32 bits, 1 cœur | 160 MHz | Wi-Fi 6, Bluetooth 5 (LE), IEEE 802.15.4 (Thread, Zigbee) |
| ESP32-H2 | RISC-V 32 bits, 1 cœur | 96 MHz | Bluetooth 5 (LE), IEEE 802.15.4 (Thread, Zigbee), pas de Wi-Fi cité |
Le S3 ajoute des instructions vectorielles pour les réseaux de neurones et le traitement du signal. Le C6 est le plus complet pour la maison connectée récente : Espressif indique qu’il permet de réaliser des appareils Matter compatibles Wi-Fi et Thread. Le H2, lui, n’a pas de Wi-Fi cité : il ne convient pas à un projet qui doit joindre directement votre box.
Un ESP32 sert à fabriquer ou à remplacer l’électronique d’un objet : il lit un capteur ou commande un relais, puis envoie l’état à votre système domotique par le réseau. Les cas courants s’appuient sur ce que la puce sait faire nativement.
Pour comparer avec les écosystèmes Tuya ou Shelly Cloud, retenez qu’un ESP32 géré par ESPHome communique avec Home Assistant sur votre réseau local, sans compte cloud ni serveur externe.
Il faut installer ESPHome, décrire l’appareil dans un fichier de configuration, graver le programme une première fois par USB, puis ajouter l’appareil dans Home Assistant. ESPHome est un projet de l’Open Home Foundation qui génère le programme de la puce à partir d’un fichier YAML ou d’un assistant visuel, sans écrire de code.
La section `esp32` du fichier précise la puce avec `variant`, par exemple `variant: esp32s3`. Cette valeur doit correspondre au matériel, sinon le téléversement échoue. Le cadre logiciel (`framework`) vaut `esp-idf` par défaut ; `arduino` n’est disponible que pour l’ESP32, l’ESP32-C3, l’ESP32-S2 et l’ESP32-S3, alors que l’ESP32-C6 et l’ESP32-H2 exigent ESP-IDF. Un interrupteur ou un capteur d’ouverture se déclare avec une plateforme `gpio` et sa broche.
Si l’appareil n’apparaît pas, le guide d’utilisation de l’intégration ESPHome de Home Assistant donne le chemin manuel : Paramètres > Appareils et services > Ajouter une intégration > ESPHome, puis l’adresse IP ou le nom d’hôte (par exemple `salon-lampe.local`). Le port natif d’ESPHome est le 6053. Le champ `noise_psk` se remplit avec la clé de chiffrement de 32 octets en base64 si l’appareil en utilise une, et reste vide sinon.
Pour un premier projet, l’Arduino IDE suffit ; ESP-IDF s’adresse à qui veut exploiter toutes les fonctions de la puce. ESP-IDF est le cadre de développement officiel d’Espressif : il couvre le Wi-Fi, le Bluetooth et la gestion d’énergie, et s’installe sous Windows, Linux et macOS avec l’ESP-IDF Installation Manager ou l’extension ESP-IDF pour VS Code.
Pour passer par l’Arduino IDE (version 1.8 ou ultérieure), la documentation d’Espressif prescrit cette procédure :
Le noyau Arduino d’Espressif prend en charge l’ESP32 et ses variantes S2, S3, C3, C5, C6, H2 et P4.
Choisissez l’ESP32 pour un petit objet qui fait une chose en continu, et le Raspberry Pi pour héberger un serveur domotique complet. La différence est de nature : l’ESP32 est un microcontrôleur qui exécute un programme unique, tandis qu’un Raspberry Pi de la série classique est un ordinateur monocarte qui fait tourner un système Linux complet, Raspberry Pi OS par défaut.
| Critère | ESP32 | Arduino Uno R3 | Raspberry Pi 5 |
|---|---|---|---|
| Type | Microcontrôleur avec radios intégrées | Carte à microcontrôleur ATmega328P | Ordinateur monocarte sous Linux |
| Système | aucun, un seul programme gravé | aucun, un seul programme gravé | Linux (Raspberry Pi OS par défaut) |
| Rôle typique | capteur, relais, interrupteur | apprentissage, prototypes filaires | serveur Home Assistant, médiacenter |
Côté vitesse, l’ESP32 monte jusqu’à 240 MHz, quand l’ATmega328P de l’Arduino Uno R3 est cadencé à 16 MHz. Le Raspberry Pi Pico, lui aussi un microcontrôleur, ne fait pas tourner Linux : on y grave directement le programme. Les deux se complètent : un Raspberry Pi héberge Home Assistant, et des ESP32 lui remontent les mesures.
Non. La fiche technique de l’ESP32 décrit une puce Wi-Fi 2,4 GHz (802.11 b/g/n). Parmi les puces citées ici, seul l’ESP32-C6 offre le Wi-Fi 6, et Espressif le décrit sur 2,4 GHz.
L’ESP32-C6 ou l’ESP32-H2, puisqu’Espressif leur attribue la radio IEEE 802.15.4 compatible Thread et Zigbee. Le H2 est certifié Thread 1.3.0 mais n’a pas de Wi-Fi cité, alors que le C6 peut cumuler Wi-Fi 6 et 802.15.4.
Non, seulement la première fois. Une fois le premier programme gravé avec les identifiants Wi-Fi, ESPHome envoie les mises à jour par le réseau (OTA).
Oui. Home Assistant maintient une connexion permanente avec chaque appareil ESPHome et se reconnecte automatiquement quand un appareil sur batterie se réveille de sa veille profonde.
La fiche technique annonce de -40 à 125 °C pour les puces sans mémoire intégrée, mais seulement jusqu’à 85 °C pour l’ESP32-U4WDH et l’ESP32-D0WDRH2-V3.