7.9 KiB
7.9 KiB
Voici une version remaniée : structure clarifiée, données factuelles vérifiées et complétées, distinction nette entre SoC, modules et cartes de développement, et plusieurs corrections importantes.

# L'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**, une 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 très rapide 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 version la plus connue, l'**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**, mais l'ESP8266 reste massivement utilisé pour les projets simples et peu gourmands.
## Trois niveaux à ne pas confondre
Avant d'entrer dans les spécifications, une clarification utile sur le 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 qui embarque un module + un USB-série + un régulateur + des boutons + des broches au pas standard. | NodeMCU, WeMos D1 mini, Adafruit HUZZAH |
L'ESP-01 est donc un *module* (vendu par AI-Thinker), pas un SoC ni une carte de développement à proprement parler.
## Spécifications techniques du SoC ESP8266EX
### Processeur
- cœur **Tensilica Xtensa LX106**, RISC 32 bits ;
- cadencé à **80 MHz** par défaut, **160 MHz** en mode 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**, généralement comprise entre 512 Kio et 4 Mio sur les modules vendus.
### Radio Wi-Fi
- norme **IEEE 802.11 b/g/n** (2,4 GHz uniquement) ;
- chiffrement **WEP, WPA, WPA2** (mais pas WPA3) ;
- modes **station**, **point d'accès** et **mixte (STA+AP)** ;
- bloc RF intégré (TR switch, balun, LNA, PA, matching network) — le module n'a besoin que de son antenne.
### Périphériques
- **17 GPIO** théoriques au niveau du SoC (mais beaucoup sont préemptées par la flash SPI ou non exposées sur les modules courants) ;
- **SPI** matériel ;
- **I²C** logiciel (bit-banging, pas de contrôleur dédié) ;
- **I²S** avec DMA ;
- **UART** matérielle complète sur des broches dédiées ; un second UART en émission seule peut être activé sur GPIO2 ;
- un **ADC 10 bits** unique, par approximations successives, lisible sur la broche TOUT/ADC0.
### Alimentation
- tension d'alimentation **3,0 à 3,6 V** (nominal 3,3 V) ;
- pics de courant pouvant atteindre **environ 300 mA** lors des émissions Wi-Fi.
## Modules à base d'ESP8266
Deux familles principales coexistent. AI-Thinker a inondé le marché avec la série « ESP-0x / ESP-1x », pendant qu'Espressif a publié sa propre gamme « ESP-WROOM » plus tardive.
### Modules AI-Thinker

AI-Thinker a produit une longue série de modules, qui se distinguent essentiellement par leur **facteur de forme**, leur **antenne** (PCB, céramique, IPEX), leur **nombre de broches exposées** et la **taille de la flash** soudée.
Les plus connus :
| Module | Particularités |
|---|---|
| **ESP-01** | Le plus compact, 8 broches, antenne PCB, 1 Mo de flash sur les versions noires. Le plus économique, mais GPIO très limités. |
| **ESP-01S** | Version améliorée de l'ESP-01, généralement 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 ont peu percé en pratique. La plupart sont aujourd'hui difficiles à trouver et n'ont pas d'intérêt particulier face aux ESP-12x.
### Modules Espressif

Espressif a publié sa propre gamme « WROOM » certifiée FCC/CE, souvent privilégiée pour les produits commerciaux :
| 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 avec SDIO |
Liste détaillée et historique des modules 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. Elle existe en plusieurs révisions :
- **v0.9** : module ESP-12, format « large » 47 mm de large ;
- **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. C'est la version la plus répandue, bien que la numérotation « v3 » soit purement commerciale (non officielle).
La carte expose la plupart des 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 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 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 la plus utilisée pour des projets domotiques.
### Adafruit HUZZAH
Carte haut de gamme avec module ESP-12E, régulateur 500 mA, niveau logique compatible avec une logique 5 V via résistances de pull-up. Idéale pour prototyper de manière fiable, mais plus chère et nécessite un FTDI externe sur la version sans USB.
### Espressif ESP-12E (module)
Le module ESP-12E n'est pas une carte de développement à proprement parler : c'est le module SMD soudé sur la majorité des NodeMCU et WeMos. Son brochage est cependant utile à connaître lorsqu'on veut concevoir sa propre carte autour de lui.

### DOIT ESP-12F
Carte de prototypage à base de module ESP-12F, comparable à une NodeMCU v3, parfois vendue sous le nom **DOIT DevKit V1**.
## 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>