ESP32 MicroPython – Faire clignoter une LED (DevKitC + Thonny)
Un premier projet simple pour valider votre chaîne de développement : pilote CP210x → MicroPython → Thonny → LED clignotante sur GPIO16.
Sommaire
Matériel nécessaire
- Carte ESP32 DevKitC (ESP32-Wroom-32)
- Câble Micro-USB (souvent non fourni avec la carte)
- LED + résistance de 390 Ω + fils pour breadboard
- Un ordinateur (instructions pour Windows ci-dessous ; les autres OS sont similaires)
La documentation ESP32 est fournie par Espressif sur documentation.espressif.com.
1) Pilote USB-UART (CP210x)
La plupart des cartes ESP32 utilisent une puce USB-UART, généralement une Silicon Labs CP2102 / CP210x. Si le pilote correspondant n’est pas installé, la carte peut ne pas apparaître comme port COM.
Vérification sous Windows
- Ouvrez le Gestionnaire de périphériques avec Win + X, puis M.
- Connectez l’ESP32 à l’aide d’un câble Micro-USB.
- Recherchez un nouveau port COM (par exemple dans « Ports (COM et LPT) »).
Si aucun nouveau port n’apparaît, installez le pilote VCP Silicon Labs :
Télécharger les pilotes CP210x VCP
Après l’installation, débranchez puis rebranchez la carte et vérifiez que le port COM apparaît.
2) Thonny + MicroPython
Pour un prototype rapide, nous utiliserons MicroPython avec l’IDE Thonny. MicroPython est interprété (idéal pour itérer rapidement) ; pour des applications plus exigeantes en performances, un environnement compilé (Arduino, ESP-IDF…) peut être préférable.
- Installez Thonny puis connectez l’ESP32.
- Dans Thonny : Outils → Options → Interpréteur.
- Sélectionnez MicroPython (ESP32) et le port COM de la carte.
- Maintenez le bouton BOOT de la carte et cliquez sur Installer ou mettre à jour MicroPython.
3) Câblage de la LED
Connectez une LED sur GPIO 16 via une résistance série de 390 Ω vers la masse :
- GPIO16 → résistance → anode de la LED (+)
- Cathode de la LED (−) → GND
Astuce : laissez le câble USB branché pendant le développement ; l’alimentation USB est suffisante pour ce test.
4) Script de clignotement
Copiez le script suivant dans Thonny :
# Import the Pin class so we can control ESP32 GPIO pins (turn pins on/off, read inputs, etc.)
from machine import Pin
# Import time so we can pause between LED on/off states (create the “blink” timing)
import time
# Create a Pin object for the LED.
# Pin.OUT means we will drive the pin as an output (HIGH or LOW).
led = Pin(16, Pin.OUT)
# Run forever (this loop never ends unless you reset the board or stop the program)
while True:
# Set the pin HIGH (3.3V) -> typically turns the LED ON
led.value(1)
print("1")
# Wait 0.5 seconds with the LED in its current state
time.sleep(0.5)
# Set the pin LOW (0V) -> typically turns the LED OFF
led.value(0)
print("0")
# Wait another 0.5 seconds before repeating the loop
time.sleep(0.5)
5) Exécuter et valider
Cliquez sur le bouton Play dans Thonny pour exécuter le script depuis votre ordinateur.
Si tout est correctement configuré, la LED connectée à GPIO16 clignotera toutes les 0,5 secondes, confirmant que le mockup fonctionne correctement.
6) Exécuter le programme automatiquement au démarrage
Maintenant que le code fonctionne, nous pouvons le flasher sur le microcontrôleur afin qu’il s’exécute automatiquement à la mise sous tension de l’ESP32. Connectez la carte à votre ordinateur, ouvrez Thonny et choisissez Fichier → Enregistrer sous… → Périphérique MicroPython, puis enregistrez le script sous le nom main.py afin qu’il s’exécute au démarrage. Ensuite, appuyez sur le bouton de réinitialisation (ou débranchez puis rebranchez la carte) ; la LED devrait alors commencer à clignoter.
Dans le script, nous avons ajouté deux instructions de débogage Python print à
l’intérieur de la boucle de clignotement : l’une affiche « 1 » lorsque la LED est mise à 1,
et l’autre affiche « 0 » lorsque la LED est mise à 0. Ces messages sont envoyés via l’USB ;
ainsi, si vous démarrez Thonny après que la carte est déjà sous tension et en train de clignoter,
les valeurs affichées apparaîtront dans la fenêtre Shell de Thonny.
Il est également possible d’utiliser d’autres applications de port série, telles que PuTTY ou Tera Term, pour visualiser les valeurs envoyées par le script flashé ; gardez simplement à l’esprit qu’un seul programme peut utiliser le port série USB à la fois.
Si vous souhaitez remplacer le programme de démarrage existant sur l’ESP32, enregistrez votre nouveau script sur l’appareil sous le nom main.py en écrasant le fichier existant. Après l’enregistrement, appuyez sur reset (ou débranchez puis rebranchez la carte) et le nouveau script s’exécutera au démarrage. Il peut arriver que vous deviez réinstaller MicroPython via les options de Thonny pour que cela fonctionne ; dans ce cas, pensez à maintenir le bouton BOOT enfoncé pendant l’installation.
Ressources
- Carte ESP32 DevKitC : Lien Amazon
- Documentation Espressif : documentation.espressif.com
- Documentation MicroPython : docs.micropython.org
- IDE Thonny : thonny.org
- Pilote CP210x : Silicon Labs