1 line
8.5 KiB
JSON
1 line
8.5 KiB
JSON
{"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\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\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\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\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\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":[]} |