ESP32 vs ESP8266 : comparaison technique pour la conception de systèmes IoT

Publié octobre 13, 2026

Choisir le microcontrôleur compatible Wi-Fi approprié est une décision cruciale dans le développement de produits IoT. Le ESP8266 et l’ESP32, tous deux fabriqués par Espressif Systems, représentent deux approches distinctes de la connectivité sans fil et du traitement embarqué. Cet article propose une comparaison technique de leurs architectures, périphériques, capacités de communication et considérations pratiques de conception afin d’aider les ingénieurs et les équipes d’achats à évaluer quel module correspond le mieux à leurs exigences applicatives.

Aperçu des architectures ESP8266 et ESP32

Le ESP8266 et l’ESP32 sont tous deux des solutions System-on-Chip (SoC) qui intègrent un microcontrôleur, un transceiver Wi-Fi et des interfaces périphériques sur une seule puce. Bien qu’ils partagent une architecture RISC 32 bits et prennent en charge les protocoles série courants (SPI, I2C, UART), leurs ressources de calcul et leurs ensembles de fonctionnalités diffèrent considérablement.

Le ESP8266 est construit autour d’un processeur Tensilica Xtensa LX106 monocœur fonctionnant à 80 MHz (overclockable jusqu’à 160 MHz dans certaines implémentations). Il fournit une connectivité Wi-Fi 802.11 b/g/n, 128 Ko de RAM et généralement 4 Mo de mémoire flash externe. Sa conception simplifiée privilégie l’efficacité des coûts et la facilité d’intégration pour les applications où l’accès à Internet sans fil est la principale exigence.

L’ESP32 utilise un processeur Tensilica Xtensa LX6 à double cœur avec des fréquences d’horloge configurables de 80 MHz à 240 MHz. Il comprend 520 Ko de SRAM, 4 Mo de flash (extensible), et ajoute le Bluetooth 4.2 (BR/EDR et BLE) en plus du Wi-Fi. Le nombre accru de GPIO, les canaux ADC/DAC supplémentaires et l’accélération cryptographique matérielle le rendent adapté aux applications embarquées plus exigeantes.

Figure 1. ESP8266 and ESP32 architecture comparison

ESP8266 : Caractéristiques de conception et cas d’usage typiques

Spécifications principales

Le ESP8266, couramment implémenté dans les formats ESP-12E ou ESP-12F, fonctionne d’une alimentation de 3,0 V à 3,6 V via un régulateur LDO intégré. La puce fournit :

  • Processeur monocœur 32 bits à 80/160 MHz
  • 128 Ko de RAM pour l’exécution des programmes et les données
  • Flash SPI externe de 4 Mo (configuration standard)
  • 802.11 Wi-Fi b/g/n avec modes station et soft-AP
  • 17 broches GPIO avec fonctions multiplexées
  • Un canal ADC 10 bits
  • Support SPI, I2C, UART et PWM

Toutes les broches GPIO fonctionnent à des niveaux logiques de 3,3 V et ne tolèrent pas le 5 V. La connexion directe à des signaux 5 V endommagera l’appareil ; des décalages de niveau ou des diviseurs de tension sont nécessaires lors de l’interface avec des systèmes 5 V.

Considérations pratiques de conception

L’architecture monocœur du ESP8266 signifie que le traitement de la pile Wi-Fi partage le temps CPU avec le code applicatif. Lors d’une transmission ou réception Wi-Fi active, l’exécution du code utilisateur peut être interrompue, ce qui peut affecter les performances en temps réel dans les applications sensibles au timing. Pour la télémétrie simple, l’enregistrement des données des capteurs ou les tâches de télécommande où le timing en moins de milliseconde n’est pas critique, cette limitation est rarement problématique.

La consommation d’énergie lors d’une transmission Wi-Fi active peut atteindre 170 mA ou plus. Le module prend en charge un mode modem-veille qui réduit la consommation de courant à environ 15 mA tout en maintenant une connexion Wi-Fi, ainsi qu’un mode veille profonde consommant moins de 20 μA, bien que la veille profonde nécessite un signal de réveil externe ou un minuteur.

Le nombre limité de canaux ADC (un canal utilisable) et de broches GPIO peut contraindre des conceptions nécessitant plusieurs capteurs analogiques ou une interface périphérique étendue. Dans de tels cas, des multiplexeurs externes ou des expanseurs d’E/S peuvent être utilisés, bien que cela ajoute complexité et coût.

Applications typiques

  • Capteurs connectés au Wi-Fi (température, humidité, mouvement)
  • Interrupteurs et relais intelligents
  • Stations de surveillance environnementale
  • Projets éducatifs et de prototypage
  • Terminaux IoT à faible coût avec des besoins de traitement modestes

ESP32 : Capacités améliorées pour les systèmes complexes

Spécifications principales

L’ESP32, généralement présent dans les variantes des modules ESP32-WROOM-32 ou ESP32-WROVER, étend considérablement l’ensemble des fonctionnalités :

  • Processeur double cœur 32 bits à 80-240 MHz
  • SRAM 520 Ko, avec des options PSRAM externes jusqu’à 8 Mo (variantes WROVER)
  • 4 Mo ou plus de mémoire flash
  • 802.11 Wi-Fi b/g/n avec fonctionnalités avancées (Wi-Fi Direct, prise en charge WPA3 dans les versions ultérieures)
  • Bluetooth 4.2 (Classique et BLE)
  • 48 broches GPIO (25+ généralement réparties sur modules)
  • 18 × canaux ADC 12 bits et 2 canaux DAC × 8 bits
  • 10 entrées capteurs tactiles capacitifs
  • Accélération cryptographique matérielle (AES, SHA, RSA)
  • Interfaces CAN 2.0, I2S, SPI, I2C, UART

Comme le ESP8266, l’ESP32 fonctionne à des niveaux logiques de 3,3 V. Le régulateur LDO intégré accepte des tensions d’entrée allant de 3,0 V à 3,6 V, et les cartes de développement incluent souvent un régulateur supplémentaire pour accepter une alimentation USB 5 V.

Traitement Dual-Core et Gestion des Tâches

L’architecture dual-core de l’ESP32 permet à un cœur de se consacrer aux opérations de pile Wi-Fi et Bluetooth tandis que l’autre exécute du code applicatif. Cette séparation améliore la réactivité en temps réel et permet le traitement parallèle des données des capteurs, des algorithmes de communication et de contrôle. Pour les conceptions nécessitant une utilisation simultanée du Bluetooth et du Wi-Fi, ou pour celles traitant des flux de données provenant de multiples capteurs, cette architecture offre des avantages de performance mesurables.

Le firmware basé sur FreeRTOS fourni par Espressif permet d’épingler des tâches sur des cœurs spécifiques, donnant aux développeurs un contrôle explicite sur la répartition des charges de travail et le comportement de timing.

Ensemble périphérique étendu

Les 18 canaux ADC de l’ESP32 permettent la connexion directe de plusieurs capteurs analogiques sans multiplexage externe. La résolution 12 bits offre une granularité plus fine que l’ADC 10 bits du ESP8266, ce qui peut être important dans les applications de détection de précision. Les deux canaux DAC prennent en charge la synthèse audio, les signaux de contrôle analogiques et la génération de formes d’onde sans composants externes.

La détection tactile capacitive est implémentée dans le matériel, éliminant ainsi le besoin de circuits intégrés à contrôleur tactile discret dans les conceptions d’interfaces utilisateur. L’interface du bus CAN permet la prise en charge des protocoles automobiles et industriels, élargissant ainsi la gamme des systèmes applicables.

Coexistence Bluetooth et sans fil

L’intégration de Bluetooth Classic et BLE élargit les possibilités de conception. BLE permet une communication à faible consommation d’énergie avec smartphones, appareils portables et balises. Bluetooth Classic prend en charge la diffusion audio en continu et la compatibilité des appareils hérités. Combiné au Wi-Fi, l’ESP32 peut fonctionner comme une passerelle qui collecte les données des capteurs BLE et les transmet aux services cloud via Wi-Fi, ou comme un appareil à double interface offrant à la fois un contrôle local (Bluetooth) et à distance (Wi-Fi).

Le Bluetooth et le Wi-Fi partagent la même interface RF à 2,4 GHz, et le mécanisme de coexistence d’Espressif multiplexe dans le temps l’accès à la radio. Bien que les deux protocoles puissent être actifs simultanément, le débit maximal sur chaque liaison est inférieur à celui d’un fonctionnement indépendant. Pour la plupart des applications IoT, ce compromis est acceptable.

Applications typiques

  • Passerelles IoT agrégeant des données provenant de multiples capteurs
  • Diffusion audio et dispositifs activés par la voix
  • Appareils portables nécessitant BLE et Wi-Fi
  • Centres de domotique
  • Systèmes de surveillance et de contrôle industriels avec bus CAN
  • Dispositifs alimentés par batterie avec une gestion complexe de l’état d’alimentation

Configuration des broches et comparaison GPIO

ESP8266 Disposition GPIO

Le ESP8266 expose 17 broches GPIO, bien que plusieurs aient des contraintes de démarrage ou opérationnelles :

  • GPIO0 : doit être élevé au démarrage pour un fonctionnement normal ; Tirer bas entre en mode programmation flash
  • GPIO2 : doit être élevé au démarrage ; souvent connecté à une LED intégrée
  • GPIO15 : Doit être faible au démarrage
  • GPIO16 : Connecté à l’horloge temps réel ; Utilisé pour le réveil en sommeil profond mais impossible d’utiliser l’interrupt-on-change
  • ADC0 : L’entrée analogique unique, généralement étiquetée A0, mesure 0-1,0 V

Ces contraintes de broches nécessitent une planification minutieuse de la disposition des PCB et de l’initialisation du firmware. Utiliser GPIO0, GPIO2 ou GPIO15 comme E/S généraliste est possible, mais doit tenir compte de leurs états de démarrage.

Le ESP8266 prend en charge une interface SPI matérielle et une interface I2C (bitbangée ou matérielle), toutes deux partagées entre les GPIO disponibles via multiplexage.

Disposition GPIO ESP32

Figure 2. ESP32 GPIO pin multiplexing and peripheral mapping

Les 48 GPIO de l’ESP32 sont répartis en fonctions dédiées et multiplexées. Les principales caractéristiques incluent :

  • 18 canaux ADC répartis entre ADC1 et ADC2 (note : ADC2 ne peut pas être utilisé lorsque le Wi-Fi est actif)
  • 2 canaux DAC (GPIO25, GPIO26)
  • 10 broches tactiles capacitives
  • Broches de fixation (GPIO0, GPIO2, GPIO5, GPIO12, GPIO15) qui déterminent le mode de démarrage ; Des soins similaires sont nécessaires lors de la mise en tension
  • Sous-ensemble RTC GPIO pour une utilisation en sommeil profond

Les interfaces périphériques de l’ESP32 sont plus flexibles grâce à la matrice IO_MUX et GPIO, qui permettent de mapper la plupart des périphériques numériques (UART, SPI, I2C) sur une large gamme de broches. Cette flexibilité simplifie le routage des circuits imprimés et prend en compte les contraintes de disposition.

L’ESP32 prend en charge simultanément trois interfaces UART, trois interfaces SPI et deux bus I2C, permettant des conceptions complexes multi-périphériques sans multiplexage externe ni pontage de protocole.

Consommation d’énergie et fonctionnement de la batterie

L’efficacité énergétique est un facteur critique dans les applications alimentées par batterie et de récolte d’énergie.

ESP8266 Modes d’alimentation

  • Actif (Wi-Fi TX) : ~170 mA
  • Actif (Wi-Fi RX) : ~60 mA
  • Modem veille : ~15 mA (connexion Wi-Fi maintenue mais en mode radio en mode service)
  • Sommeil léger : ~0,9 mA
  • Sommeil profond : ~20 μA (RTC et une petite quantité de RAM conservée ; réveil via GPIO16 ou réinitialisation externe)

Le mode de sommeil profond est le mode de faible consommation le plus pratique pour les applications de détection périodique. Le ESP8266 ne permet pas un réveil sophistiqué après un sommeil profond ; L’appareil doit être configuré pour se réveiller après l’expiration d’un minuteur ou via une réinitialisation matérielle.

Modes d’alimentation ESP32

  • Actif (Wi-Fi TX) : ~160-240 mA
  • Actif (Wi-Fi RX) : ~80-100 mA
  • Mode veille du modem : ~20-30 mA
  • Sommeil léger : ~0,8 mA
  • Sommeil profond : ~10 μA (RTC, coprocesseur ulp et mémoire RTC actives)
  • Hibernation : ~5 μA (seul le minuteur RTC actif)

Le coprocesseur Ultra-Low-Energy-Power (ULP) de l’ESP32 permet la surveillance des capteurs et un traitement simple des données pendant que les cœurs principaux restent en veille profonde. Cette fonctionnalité est précieuse dans les applications nécessitant un réveil à faible latence basé sur les seuils du capteur (par exemple, détection de mouvement, passage de niveau analogique) sans le coût énergétique de maintenir le processeur principal actif.

En pratique, les modes de veille avancés et le coprocesseur ULP de l’ESP32 offrent une gestion de l’énergie plus flexible que le ESP8266, en particulier dans les conceptions où l’appareil doit se réveiller fréquemment ou sous condition en raison d’événements externes.

Options d’écosystème de développement et de firmware

Les deux modules sont bien pris en charge par plusieurs environnements de développement :

IDE Arduino

Le cœur Arduino pour ESP8266 et ESP32 offre une API familière et accessible pour les amateurs et le prototypage rapide. Le support des bibliothèques est étendu, couvrant les capteurs courants, actionneurs et protocoles de communication. Les performances et l’optimisation de la mémoire sont moins affinées comparées au développement natif SDK, mais la facilité d’utilisation et la rapidité d’itération sont des avantages significatifs.

ESP-IDF (Cadre de développement IoT Espressif)

ESP-IDF est le cadre officiel de développement d’Espressif basé sur FreeRTOS. Il offre un accès complet aux fonctionnalités matérielles, un contrôle précis de la gestion de l’alimentation et des piles réseau optimisées. ESP-IDF est l’environnement recommandé pour le firmware de production où les performances, l’efficacité mémoire et la maintenabilité à long terme sont les priorités. La courbe d’apprentissage est plus raide, mais le cadre est bien documenté et activement entretenu.

MicroPython et autres langages

MicroPython offre un environnement Python interactif et interprété, adapté au scripting, aux tests et à un usage éducatif. Il est bien pris en charge à la fois sur ESP8266 et ESP32, bien que les contraintes de mémoire sur le ESP8266 puissent limiter la complexité des applications MicroPython.

D’autres frameworks, tels que Lua (NodeMCU), Rust, et même JavaScript (Espruino, SDK moddable), sont également disponibles, reflétant l’intérêt large de la communauté et la diversité des cas d’utilisation de ces modules.

Résumé comparatif : Choisir entre ESP8266 et ESP32

Fonctionnalité ESP8266 ESP32
Processeur Monocœur, 80 MHz Double cœur, 80-240 MHz
RAM 128 Ko 520 Ko
Flash 4 Mo (typique) 4 Mo ou plus
Wi-Fi 802.11 b/g/n 802.11 b/g/n, Wi-Fi Direct
Bluetooth Non Bluetooth 4.2 (Classique + BLE)
Comptage GPIO 17 48 (25+ accessibles sur modules)
ADC 1 × 10 bits 18 × 12 bits
DAC Aucun 2 × 8 bits
Détection du toucher Non 10 entrées capacitives
CAN Bus Non Oui
Puissance (sommeil profond) ~20 μA ~10 μA (hibernation de 5 μA)
Coprocesseur ULP Non Oui
Coût typique des modules Lower Modéré

Quand choisir ESP8266

  • Projets à budget limité où le coût unitaire est une préoccupation principale
  • Connectivité Wi-Fi simple pour le signalement des capteurs ou la commutation à distance
  • Applications avec des exigences limitées en E/S
  • Projets éducatifs et développement introductif de l’IoT
  • Conceptions où le Bluetooth n’est pas requis

Quand choisir ESP32

  • Applications nécessitant à la fois une connectivité Wi-Fi et Bluetooth
  • Systèmes multi-capteurs avec de nombreuses entrées analogiques ou numériques
  • Tâches temps réel ou à forte intensité de calcul bénéficiant d’un traitement à double cœur
  • Conceptions alimentées par batterie nécessitant une gestion sophistiquée de l’alimentation et un réveil conditionnel
  • Systèmes nécessitant une cryptographie accélérée matériellement ou un support de bus CAN
  • Projets censés évoluer en complexité ou en ensemble de fonctionnalités au fil du temps

Exemple de conception réelle : Station de surveillance environnementale

Pensez à une station de surveillance environnementale alimentée par batterie qui mesure la température, l’humidité, la pression atmosphérique, l’intensité lumineuse et l’humidité du sol, et qui transmet les données à un service cloud toutes les 15 minutes.

ESP8266 Implémentation :
Le canal ADC unique limite les connexions directes des capteurs analogiques ; un circuit intégré ADC multicanal (par exemple, ADS1115) connecté via I2C serait nécessaire pour les capteurs d’humidité et de lumière du sol. L’appareil se réveillerait de la veille profonde via une minuterie, initialisait le Wi-Fi, se connectait au réseau, transmettait les données via MQTT ou HTTP, puis revenait en veille profonde. La consommation moyenne de courant sur un cycle de 15 minutes peut être de 50 à 100 μA, permettant des mois de fonctionnement avec une petite batterie lithium.

Implémentation ESP32 :
Plusieurs canaux ADC permettent la connexion directe de capteurs analogiques sans composants externes. Le coprocesseur ULP pouvait surveiller les seuils des capteurs et ne réveiller les cœurs principaux que lorsqu’un changement significatif survenait, ou maintenir le planning de 15 minutes. Le Bluetooth pourrait permettre une configuration locale via une application smartphone sans nécessiter d’enregistrer les identifiants Wi-Fi en dur. La consommation moyenne de courant pouvait être réduite à 30-60 μA avec une gestion optimisée de l’état de sommeil, prolongeant ainsi la durée de vie de la batterie. L’architecture à double cœur permet également un sondage simultané des capteurs et une communication réseau, réduisant ainsi le temps total de réveil.

Dans ce scénario, le coût supplémentaire de l’ESP32 est compensé par une réduction du nombre de composants externes, une autonomie de batterie prolongée et une expérience utilisateur améliorée.

Conclusion

Le ESP8266 et l’ESP32 couvrent différents segments du spectre de conception IoT. Le ESP8266 reste un choix pratique et économique pour les appareils connectés en Wi-Fi simples où les besoins de traitement sont modestes et où le Bluetooth est inutile. Son écosystème mature, son soutien communautaire étendu et sa faible barrière à l’entrée la rendent bien adaptée à un usage éducatif et à des produits commerciaux simples.

Le processeur à double cœur, la mémoire étendue, l’intégration Bluetooth et l’ensemble de périphériques plus riche de l’ESP32 justifient son coût plus élevé dans les applications nécessitant une plus grande capacité de calcul, plusieurs interfaces de communication ou une gestion sophistiquée de l’énergie. Pour les conceptions qui devraient évoluer ou évoluer en fonctionnalités, la flexibilité de l’ESP32 réduit le risque d’obsolescence matérielle.

Les ingénieurs et les équipes achats doivent évaluer le budget énergétique, les exigences d’E/S, les protocoles de communication, le coût unitaire et la scalabilité à long terme lors du choix entre ces modules. Les deux dispositifs sont capables et bien pris en charge ; Le choix optimal dépend des contraintes techniques et économiques spécifiques de l’application.