Files
abonnel-www/cb93c086-4b6f-4c32-82a5-208adb14d0bf/index.md
T

157 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
![Logo AI-Thinker](ai-thinker.png)
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
![Logo Espressif](espressif-logo-pratik-panda-clients-2.png)
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
![Brochage NodeMCU v3](nodemcuv3.0-pinout.jpg)
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.
![Brochage du module ESP-12E](20220128-104522.png)
### 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](https://varlog.a5l.fr/post/esp-01-presentation-premiers-pas)
- [Premier programme ESP-01 : afficher les informations système](https://varlog.a5l.fr/post/esp-01-premier-programme)
- [ESP8266 : commandes AT](https://varlog.a5l.fr/post/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>