8.5 KiB
ESP8266 : panorama du SoC, des modules et des cartes de développement
Présentation
L'ESP8266 est un microcontrôleur économique intégrant nativement une interface Wi-Fi 2,4 GHz (IEEE 802.11 b/g/n) et une pile TCP/IP. Il est conçu et commercialisé par Espressif Systems, société chinoise basée à Shanghai et présente à l'international (États-Unis, Inde, République tchèque, Brésil, Singapour).
Lancé fin 2014, l'ESP8266 a connu un succès fulgurant grâce à un rapport prix / fonctionnalités sans précédent : pour quelques euros, il met à disposition un microcontrôleur 32 bits cadencé à 80 MHz et une connectivité Wi-Fi complète. Sa déclinaison la plus connue, le module ESP-01, est devenue la porte d'entrée standard vers l'IoT pour le grand public.
Le SoC a depuis été complété par la famille ESP32 (cœur Xtensa LX6/LX7 dual-core, Bluetooth en plus du Wi-Fi), puis par les ESP32-Cx / ESP32-Sx / ESP32-Hx. L'ESP8266 reste cependant massivement utilisé pour les projets simples, peu gourmands en ressources et sensibles au coût.
Trois niveaux à ne pas confondre
Avant d'entrer dans les spécifications, une clarification de vocabulaire — fréquemment mélangé dans la documentation amateur :
| Niveau | Définition | Exemples |
|---|---|---|
| SoC (System on Chip) | Le circuit intégré nu, vendu par Espressif. | ESP8266EX |
| Module | Un petit PCB qui embarque le SoC, sa flash, son antenne et un brochage standardisé. | ESP-01, ESP-12E, ESP-WROOM-02 |
| Carte de développement | Une carte plus large embarquant un module, un pont USB-série, un régulateur, des boutons et des broches au pas standard. | NodeMCU, WeMos D1 mini, Adafruit HUZZAH |
L'ESP-01 est donc un module (vendu par AI-Thinker), ni un SoC ni une carte de développement. Cette distinction guide la suite de l'article.
Spécifications techniques du SoC ESP8266EX
Processeur
- cœur Tensilica Xtensa LX106, RISC 32 bits ;
- cadencé à 80 MHz par défaut, 160 MHz en overclock logiciel.
Mémoire
- 32 Kio d'IRAM (instructions) ;
- 32 Kio de cache d'instructions ;
- 80 Kio de RAM utilisateur ;
- 16 Kio de RAM système réservée à l'ETS ;
- pas de ROM ni de flash interne : le code est chargé depuis une flash SPI externe (QSPI) pouvant atteindre 16 Mio. Sur les modules vendus, la capacité se situe en pratique entre 512 Kio et 4 Mio.
Radio Wi-Fi
- norme IEEE 802.11 b/g/n (2,4 GHz uniquement) ;
- chiffrements WEP, WPA, WPA2 (pas de WPA3) ;
- modes station, point d'accès et mixte (STA+AP) ;
- bloc RF intégré (TR switch, balun, LNA, PA, matching network) : seule l'antenne reste à fournir.
Périphériques
- 17 GPIO numérotés (GPIO0 à GPIO16), dont une partie est préemptée par la flash SPI ou non exposée sur les modules courants ;
- SPI matériel ;
- I²C : pas de contrôleur matériel exploitable côté utilisateur, l'implémentation se fait en bit-banging via les bibliothèques courantes ;
- I²S avec DMA ;
- UART0 matériel complet (TX/RX) ; un UART1 en émission seule peut être activé sur GPIO2 pour le debug ;
- un ADC 10 bits unique, par approximations successives, lisible sur la broche TOUT/ADC0.
Alimentation
- tension nominale 3,3 V (plage 3,0 à 3,6 V) ;
- pics de courant pouvant atteindre environ 300 mA lors des émissions Wi-Fi : un régulateur dimensionné en conséquence est indispensable.
Modules à base d'ESP8266
Deux familles principales coexistent. AI-Thinker a inondé le marché avec sa série « ESP-0x / ESP-1x », tandis qu'Espressif a publié plus tardivement sa propre gamme « ESP-WROOM », mieux positionnée pour les usages commerciaux.
Modules AI-Thinker
Les modules AI-Thinker se distinguent essentiellement par leur facteur de forme, leur antenne (PCB, céramique, IPEX), le nombre de broches exposées et la taille de la flash soudée.
Les plus diffusés :
| Module | Particularités |
|---|---|
| ESP-01 | Le plus compact (8 broches), antenne PCB, 1 Mo de flash sur les versions noires. Très économique, mais GPIO très limités. |
| ESP-01S | Version révisée de l'ESP-01 : 1 Mo de flash et LED câblée différemment. |
| ESP-07 | 16 broches, antenne céramique + connecteur IPEX pour antenne externe, blindage RF. |
| ESP-12E / ESP-12F / ESP-12S | Format SMD 22 broches, blindé, antenne PCB. Base de la quasi-totalité des cartes NodeMCU et WeMos. |
Les autres références (ESP-02 à ESP-11, ESP-13, ESP-14) existent mais n'ont jamais réellement percé. Elles sont aujourd'hui difficiles à trouver et n'offrent pas d'avantage face aux ESP-12x.
Modules Espressif
Espressif propose sa propre gamme WROOM, certifiée FCC/CE et conçue pour une intégration produit. C'est généralement le choix retenu pour un passage en production commerciale :
| Module | Antenne |
|---|---|
| ESP-WROOM-02 | PCB |
| ESP-WROOM-02D | PCB (version révisée) |
| ESP-WROOM-02U | Connecteur U.FL pour antenne externe |
| ESP-WROOM-S2 | Variante orientée SDIO |
Liste détaillée et historique sur Wikipédia : https://en.wikipedia.org/wiki/ESP8266
Cartes de développement
Les cartes de développement embarquent un module ESP8266 et tout le nécessaire pour démarrer immédiatement : convertisseur USB-série, régulateur 3,3 V, boutons RESET et FLASH, broches au pas de 2,54 mm, parfois LED utilisateur.
NodeMCU
La carte la plus populaire de la famille, déclinée en plusieurs révisions :
- v0.9 : module ESP-12, format « large » de 47 mm ;
- v1.0 (DEVKIT v1.0) : module ESP-12E, USB-série CP2102, format normalisé ;
- v3 (« LoLin » et clones) : module ESP-12E ou ESP-12F, USB-série CH340. La plus répandue, bien que la numérotation « v3 » soit purement commerciale et non officielle.
La carte expose les GPIO du module sous des noms D0 à D8 propres à NodeMCU, qui ne correspondent pas directement aux numéros GPIO de l'ESP8266. Une table de correspondance est donc indispensable :
| Étiquette NodeMCU | GPIO ESP8266 |
|---|---|
| D0 | GPIO16 |
| D1 | GPIO5 |
| D2 | GPIO4 |
| D3 | GPIO0 |
| D4 | GPIO2 (LED interne) |
| D5 | GPIO14 |
| D6 | GPIO12 |
| D7 | GPIO13 |
| D8 | GPIO15 |
WeMos D1 mini
Format ultra-compact (34 × 25 mm), module ESP-12F, USB-série CH340. Compatible mécaniquement avec un large écosystème de shields empilables (relais, OLED, batterie, capteur DHT…). C'est aujourd'hui la carte privilégiée pour les projets domotiques, en particulier sous ESPHome ou Tasmota.
Adafruit HUZZAH
Carte haut de gamme à base de module ESP-12E, régulateur 500 mA, et entrées protégées tolérant des signaux 5 V via résistances de pull-up (le SoC reste alimenté en 3,3 V). Idéale pour un prototypage fiable, mais plus chère ; la version sans USB nécessite un adaptateur FTDI externe.
Module ESP-12E nu
Le module ESP-12E n'est pas une carte de développement : c'est le module SMD soudé sur la majorité des NodeMCU et WeMos. Son brochage reste utile à connaître lorsqu'on conçoit sa propre carte autour de lui.
DOIT ESP-12F (DevKit V1)
Carte de prototypage à base de module ESP-12F, comparable à une NodeMCU v3, vendue sous le nom DOIT DevKit V1.
Quelle carte choisir ?
En synthèse, selon l'usage visé :
- Découverte / projet minimaliste : ESP-01 (avec un adaptateur USB-série).
- Prototypage généraliste : NodeMCU v3 ou DOIT DevKit V1 — GPIO largement exposés, prise en main immédiate.
- Projet domotique embarqué dans un boîtier : WeMos D1 mini et son écosystème de shields.
- Prototype fiable et durable : Adafruit HUZZAH.
- Production commerciale : module ESP-WROOM-02 (variante adaptée selon l'antenne souhaitée), pour la certification et la qualité RF.
Pour aller plus loin
- L'ESP-01 : présentation et premiers pas
- Premier programme ESP-01 : afficher les informations système
- ESP8266 : commandes AT
- Documentation officielle Espressif : https://www.espressif.com/en/products/socs/esp8266
- Article Wikipédia (en anglais), plus complet : https://en.wikipedia.org/wiki/ESP8266



