📖 Chapitre 2/3 — ESP Voir le sommaire →
← Retour
Électronique

ESP-01 : présentation et premiers pas

Cédrix · 28/01/2022

Image d'un ESP-01

Présentation

L'ESP-01 est un module Wi-Fi compact construit autour du microcontrôleur ESP8266EX d'Espressif. Sur un PCB d'environ 24 × 14 mm, il rassemble :

  • un microcontrôleur ESP8266EX (cœur Tensilica L106 32 bits cadencé à 80/160 MHz) ;
  • une mémoire SPI Flash externe (généralement 1 Mo sur les versions courantes, parfois jusqu'à 4 Mo) ;
  • une antenne PCB d'environ 2 dBi, gravée directement sur le circuit imprimé ;
  • un connecteur 2 × 4 broches au pas de 2,54 mm.

Lien d'achat : ESP-01 basé sur ESP8266

ESP8266EX vs ESP-01 : ne pas confondre

Une confusion fréquente porte sur la dénomination du produit :

  • ESP8266EX désigne le circuit intégré (le SoC) produit par Espressif. C'est la puce qui contient le processeur, la radio Wi-Fi, la RAM et les périphériques.
  • ESP-01 désigne un module : un petit PCB qui embarque l'ESP8266EX, sa mémoire flash, son antenne et un connecteur d'accès. Il est conçu et vendu par AI-Thinker, pas par Espressif.

Plusieurs autres modules existent autour du même SoC (ESP-02, ESP-05, ESP-07, ESP-12, etc.). Ils diffèrent par le nombre de broches exposées, la taille de la flash, le type d'antenne et le facteur de forme. L'ESP-01 est le plus simple et le plus économique de la famille, mais aussi le plus contraint en nombre d'entrées/sorties accessibles.

Pourquoi un adaptateur USB est nécessaire

L'ESP-01 n'expose qu'un port série UART à 3,3 V — pas d'interface USB, pas de régulateur, pas de bouton. Pour le programmer ou dialoguer avec lui depuis un ordinateur, il faut un adaptateur USB-série capable de :

  • convertir les niveaux USB en niveaux série logiques ;
  • fournir une alimentation 3,3 V stable (l'ESP-01 ne tolère pas le 5 V).

Les adaptateurs courants utilisent une puce CH340, CP2102 ou FT232. Certains sont des dongles spécialement formés pour accueillir l'ESP-01 directement sur leur connecteur.

Attention : on lit parfois la référence « CH360 ». Il s'agit en réalité de la CH340 (de WCH). Aucune puce « CH360 » n'existe dans cette gamme.

Brochage de l'ESP-01

Brochage de l'ESP-01

Le connecteur 8 broches est directement câblé sur les pins de l'ESP8266EX :

Broche Nom Rôle
1 GND Masse
2 GPIO2 E/S générique. Doit être à l'état haut (ou flottante) au démarrage pour booter normalement.
3 GPIO0 E/S générique. Forcée à GND au démarrage pour entrer en mode programmation (flash). Laissée libre, elle permet un boot normal.
4 RX Réception série (UART0). À relier au TX de l'adaptateur USB-série.
5 TX Émission série (UART0). À relier au RX de l'adaptateur USB-série.
6 CH_PD (aussi noté EN) Chip enable. Doit être maintenue à 3,3 V pour que le module fonctionne.
7 RST Reset, actif à l'état bas.
8 VCC Alimentation 3,3 V uniquement.

Points de vigilance :

  • l'alimentation 3,3 V est impérative ; le 5 V détruit le SoC instantanément ;
  • les pics de courant en émission peuvent atteindre 300 mA. Une alimentation sous-dimensionnée provoque des resets aléatoires ;
  • les niveaux logiques sont également à 3,3 V : interfacer un Arduino Uno (5 V) sans pont diviseur ou level shifter peut endommager l'ESP.

Branchement avec un adaptateur USB-CH340

ESP-01 avec adaptateur USB CH340

Une fois l'ESP-01 enfiché dans l'adaptateur, ce dernier joue le rôle de pont entre le port USB de l'ordinateur et l'UART de l'ESP8266EX :

  • l'ordinateur voit un port série virtuel (/dev/ttyUSB0 sous Linux, COMx sous Windows) ;
  • l'adaptateur fournit le 3,3 V à l'ESP-01 et relaie les octets dans les deux sens ;
  • la plupart des adaptateurs d'entrée de gamme ne gèrent pas le passage en mode flash : voir l'article dédié à la modification de l'adaptateur USB vers ESP-01 pour ajouter un jumper GPIO0 / GND.

Datasheet

La documentation officielle est très succincte pour ce module. Les deux références utiles sont :

Aperçu de la datasheet ESP-01

Le fichier joint à cet article reprend la version condensée diffusée par AI-Thinker : esp01.pdf

Configurer l'IDE Arduino

Paramétrage de l'IDE Arduino

L'IDE Arduino ne sait pas, par défaut, compiler pour l'ESP8266. Il faut au préalable installer le board package correspondant.

1. Ajouter l'URL du gestionnaire de cartes

Dans Fichier → Préférences, ajouter dans URL de gestionnaire de cartes supplémentaires :

https://arduino.esp8266.com/stable/package_esp8266com_index.json

2. Installer le support ESP8266

Ouvrir Outils → Type de carte → Gestionnaire de cartes, rechercher esp8266 et installer le paquet esp8266 by ESP8266 Community.

3. Sélectionner la carte et les paramètres

Pour un ESP-01, choisir Outils → Type de carte → Generic ESP8266 Module, puis vérifier les paramètres suivants :

Paramètre Valeur recommandée pour ESP-01
Flash Size 1MB (FS:64KB OTA:~470KB) pour les ESP-01 noirs ; 512KB pour les anciens ESP-01 bleus
Flash Mode DOUT (compatible avec la majorité des modules ; éviter QIO qui plante au boot sur certains lots)
Flash Frequency 40 MHz
CPU Frequency 80 MHz
Upload Speed 115200 baud (vitesse fiable ; possible de monter à 230400 ou 460800 si l'adaptateur suit)
Reset Method dtr (aka nodemcu) si l'adaptateur câble DTR ; sinon no dtr (aka ck) (reset manuel)
Port port série de l'adaptateur (/dev/ttyUSB0, COM3…)

En pratique, sur un ESP-01 récent acheté avec un adaptateur basique, seul le port série doit être ajusté. Les valeurs par défaut conviennent.

4. Premier téléversement

Un programme de test minimal pour valider la chaîne complète :

void setup() {
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  Serial.println("Hello ESP-01");
  delay(1000);
}

Avant de lancer le téléversement :

  1. placer l'ESP-01 en mode flash (GPIO0 à GND au démarrage) ;
  2. brancher l'adaptateur sur le PC ;
  3. lancer le téléversement depuis l'IDE Arduino.

Si l'opération échoue avec un message du type Failed to connect to ESP8266: Timed out waiting for packet header, c'est que la mise en mode flash n'a pas été effective. Voir là encore l'article sur la modification de l'adaptateur.

Pour aller plus loin

Commentaires

Aucun commentaire pour l'instant. Soyez le premier !

Laisser un commentaire
Un code de vérification sera envoyé à votre adresse email.