Files
varlog/_cache/articles/ab80312d-1483-4187-bbe6-54bcaed793a9.json
T
2026-05-15 10:37:48 +02:00

1 line
8.5 KiB
JSON
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.
{"uuid":"ab80312d-1483-4187-bbe6-54bcaed793a9","slug":"specifications-esp-01","title":"ESP-01 : présentation et premiers pas","author":"cedric@abonnel.fr","published":true,"published_at":"2022-01-28 10:03","created_at":"2022-01-28 10:03:16","updated_at":"2026-05-13 18:26:30","revisions":[{"n":1,"date":"2026-05-13 18:26:30","comment":"Contenu modifié","title":"ESP-01 : présentation et premiers pas"}],"cover":"","files_meta":{"20201207-233302.png":{"author":"","source_url":""},"20201209-085932.png":{"author":"","source_url":""},"20201212-183454.png":{"author":"","source_url":""},"20220128-103802.png":{"author":"","source_url":""},"20220128-110155.png":{"author":"","source_url":""},"esp01.pdf":{"author":"","source_url":""}},"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Électronique","content":"# ESP-01 : présentation et premiers pas\n\n![Image d'un ESP-01](20220128-103802.png)\n\n## Présentation\n\nL'[ESP-01](https://amzn.to/3oAwIaR) est un module Wi-Fi compact construit autour du microcontrôleur **ESP8266EX** d'Espressif. Sur un PCB d'environ 24 × 14 mm, il rassemble :\n\n- un microcontrôleur **ESP8266EX** (cœur Tensilica L106 32 bits cadencé à 80/160 MHz) ;\n- une mémoire **SPI Flash** externe (généralement **1 Mo** sur les versions courantes, parfois jusqu'à 4 Mo) ;\n- une **antenne PCB** d'environ 2 dBi, gravée directement sur le circuit imprimé ;\n- un **connecteur 2 × 4 broches** au pas de 2,54 mm.\n\n> Lien d'achat : [ESP-01 basé sur ESP8266](https://amzn.to/3oAwIaR)\n\n### ESP8266EX vs ESP-01 : ne pas confondre\n\nUne confusion fréquente porte sur la dénomination du produit :\n\n- **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.\n- **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.\n\nPlusieurs 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.\n\n### Pourquoi un adaptateur USB est nécessaire\n\nL'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 :\n\n- convertir les niveaux USB en niveaux série logiques ;\n- fournir une alimentation **3,3 V** stable (l'ESP-01 ne tolère pas le 5 V).\n\nLes 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.\n\n> 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.\n\n## Brochage de l'ESP-01\n\n![Brochage de l'ESP-01](20220128-110155.png)\n\nLe connecteur 8 broches est directement câblé sur les pins de l'ESP8266EX :\n\n| Broche | Nom | Rôle |\n|---|---|---|\n| 1 | **GND** | Masse |\n| 2 | **GPIO2** | E/S générique. Doit être à l'état haut (ou flottante) au démarrage pour booter normalement. |\n| 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. |\n| 4 | **RX** | Réception série (UART0). À relier au TX de l'adaptateur USB-série. |\n| 5 | **TX** | Émission série (UART0). À relier au RX de l'adaptateur USB-série. |\n| 6 | **CH_PD** (aussi noté **EN**) | Chip enable. Doit être maintenue à **3,3 V** pour que le module fonctionne. |\n| 7 | **RST** | Reset, actif à l'état bas. |\n| 8 | **VCC** | Alimentation **3,3 V** uniquement. |\n\nPoints de vigilance :\n\n- l'alimentation **3,3 V** est impérative ; le 5 V détruit le SoC instantanément ;\n- les pics de courant en émission peuvent atteindre **300 mA**. Une alimentation sous-dimensionnée provoque des resets aléatoires ;\n- les niveaux logiques sont également à 3,3 V : interfacer un Arduino Uno (5 V) sans pont diviseur ou level shifter peut endommager l'ESP.\n\n### Branchement avec un adaptateur USB-CH340\n\n![ESP-01 avec adaptateur USB CH340](20201207-233302.png)\n\nUne 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 :\n\n- l'ordinateur voit un port série virtuel (`/dev/ttyUSB0` sous Linux, `COMx` sous Windows) ;\n- l'adaptateur fournit le 3,3 V à l'ESP-01 et relaie les octets dans les deux sens ;\n- 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](https://varlog.a5l.fr/post/adaptateur-usb-vers-esp-01-activer-le-mode-programmation) pour ajouter un jumper GPIO0 / GND.\n\n## Datasheet\n\nLa documentation officielle est très succincte pour ce module. Les deux références utiles sont :\n\n- la **datasheet de l'ESP8266EX** (Espressif) — caractéristiques électriques, brochage du SoC, consommation : <https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf>\n- la **datasheet AI-Thinker de l'ESP-01** (sommaire) — dimensions et brochage du module : disponible sur le mirroir du fabricant.\n\n![Aperçu de la datasheet ESP-01](20201209-085932.png)\n\nLe fichier joint à cet article reprend la version condensée diffusée par AI-Thinker : [esp01.pdf](esp01.pdf)\n\n## Configurer l'IDE Arduino\n\n![Paramétrage de l'IDE Arduino](20201212-183454.png)\n\nL'IDE Arduino ne sait pas, par défaut, compiler pour l'ESP8266. Il faut au préalable installer le **board package** correspondant.\n\n### 1. Ajouter l'URL du gestionnaire de cartes\n\nDans `Fichier → Préférences`, ajouter dans **URL de gestionnaire de cartes supplémentaires** :\n\n```\nhttps://arduino.esp8266.com/stable/package_esp8266com_index.json\n```\n\n### 2. Installer le support ESP8266\n\nOuvrir `Outils → Type de carte → Gestionnaire de cartes`, rechercher **esp8266** et installer le paquet *esp8266 by ESP8266 Community*.\n\n### 3. Sélectionner la carte et les paramètres\n\nPour un ESP-01, choisir `Outils → Type de carte → Generic ESP8266 Module`, puis vérifier les paramètres suivants :\n\n| Paramètre | Valeur recommandée pour ESP-01 |\n|---|---|\n| **Flash Size** | `1MB (FS:64KB OTA:~470KB)` pour les ESP-01 noirs ; `512KB` pour les anciens ESP-01 bleus |\n| **Flash Mode** | `DOUT` (compatible avec la majorité des modules ; éviter `QIO` qui plante au boot sur certains lots) |\n| **Flash Frequency** | `40 MHz` |\n| **CPU Frequency** | `80 MHz` |\n| **Upload Speed** | `115200` baud (vitesse fiable ; possible de monter à 230400 ou 460800 si l'adaptateur suit) |\n| **Reset Method** | `dtr (aka nodemcu)` si l'adaptateur câble DTR ; sinon `no dtr (aka ck)` (reset manuel) |\n| **Port** | port série de l'adaptateur (`/dev/ttyUSB0`, `COM3`…) |\n\nEn 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.\n\n### 4. Premier téléversement\n\nUn programme de test minimal pour valider la chaîne complète :\n\n```cpp\nvoid setup() {\n Serial.begin(115200);\n pinMode(LED_BUILTIN, OUTPUT);\n}\n\nvoid loop() {\n digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));\n Serial.println(\"Hello ESP-01\");\n delay(1000);\n}\n```\n\nAvant de lancer le téléversement :\n\n1. placer l'ESP-01 en **mode flash** (GPIO0 à GND au démarrage) ;\n2. brancher l'adaptateur sur le PC ;\n3. lancer le téléversement depuis l'IDE Arduino.\n\nSi 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](https://varlog.a5l.fr/post/adaptateur-usb-vers-esp-01-activer-le-mode-programmation).\n\n## Pour aller plus loin\n\n- [Adaptateur USB vers ESP-01 : activer le mode programmation](https://varlog.a5l.fr/post/adaptateur-usb-vers-esp-01-activer-le-mode-programmation)\n- [ESP8266 : commandes AT](https://varlog.a5l.fr/post/esp8266-commandes-at)\n- [Réinitialisation d'un ESP-01 : restauration du firmware AT](https://varlog.a5l.fr/post/esp8266ex-restore-commandes-at)\n```\n","featured":false,"tags":[]}