Programmer un microcontrôleur sans jongler avec du C++ pendant des heures, c'est exactement ce que permet MicroPython sur ESP32. Ce petit module Wi-Fi et Bluetooth, vendu pour quelques euros, tourne aujourd'hui dans des milliers de projets DIY à travers le monde. Ce guide couvre l'installation, les premiers scripts et les bases pour prendre le contrôle de votre matériel.

Introduction à MicroPython et ESP32

MicroPython est un interpréteur Python allégé, conçu spécifiquement pour fonctionner sur des microcontrôleurs aux ressources limitées. Contrairement à un environnement Python classique, il exécute le code directement sur la puce, sans système d'exploitation intermédiaire. Résultat : la syntaxe reste familière pour tout développeur Python, mais le temps entre l'écriture du code et son exécution sur le matériel se réduit considérablement.

L'ESP32, de son côté, est un microcontrôleur particulièrement bien adapté aux projets IoT grâce à ses capacités de connectivité embarquées. Associé à MicroPython, il devient une plateforme accessible sans sacrifier la puissance. Plusieurs caractéristiques matérielles méritent d'être comprises dans leur logique technique avant de se lancer :

  • Wi-Fi intégré : la puce gère nativement les connexions réseau, ce qui permet d'envoyer des données vers un serveur ou une API sans module externe supplémentaire.
  • Bluetooth dual-mode : compatible Bluetooth Classic et BLE, l'ESP32 peut communiquer aussi bien avec des smartphones qu'avec des capteurs basse consommation, selon le protocole choisi.
  • Multiples GPIO : les broches d'entrée/sortie configurables permettent de piloter des LEDs, lire des capteurs ou déclencher des relais, directement depuis le code MicroPython.
  • Double cœur Xtensa LX6 : la puissance de calcul disponible autorise des tâches parallèles légères, utiles dès que le projet combine acquisition de données et communication réseau.
  • Faible consommation en veille : l'ESP32 intègre des modes sleep exploitables via MicroPython, ce qui prolonge l'autonomie des montages sur batterie.

La combinaison MicroPython/ESP32 réduit ainsi la barrière d'entrée pour les makers, sans compromettre les possibilités offertes par le matériel.

Configuration de l'environnement de développement

Installation de MicroPython

Trois étapes suffisent pour installer MicroPython sur un ESP32. La première consiste à télécharger le firmware depuis le site officiel MicroPython, en choisissant la version stable correspondant à votre carte. Vient ensuite le flashage : esptool.py prend en charge l'écriture du firmware directement sur la mémoire du microcontrôleur, via une simple commande en ligne. Une mauvaise version du firmware est l'erreur la plus fréquente à ce stade, car elle provoque des comportements imprévisibles au démarrage. Pour valider l'ensemble, connectez l'ESP32 à un terminal série : l'apparition du prompt >>> confirme que l'interpréteur est actif. Ce même principe de communication série est d'ailleurs détaillé dans notre guide sur la modulation de fréquence radio.

Choix de l'IDE

Deux options se distinguent pour programmer l'ESP32 avec MicroPython. Thonny IDE convient parfaitement aux débutants : son interface épurée et sa gestion intégrée de l'interpréteur effacent la plupart des frictions d'installation. VS Code, associé à l'extension Pymakr, s'adresse davantage aux profils intermédiaires ou avancés, qui bénéficient alors de fonctionnalités poussées comme la synchronisation de fichiers et le terminal série intégré.

Premiers pas avec Thonny

Brancher l'ESP32 au port USB suffit à lancer la session dans Thonny : l'IDE détecte automatiquement le port série et ouvre un terminal interactif, ce qui permet d'envoyer des commandes MicroPython ligne par ligne sans déployer le moindre fichier. Ce retour immédiat est particulièrement utile pour tester une logique avant de l'intégrer à un script complet. La alliance stratégique de l'IA et de la RPA suit une progression similaire : automatiser par couches successives plutôt qu'en une seule passe. Le flux de travail dans Thonny repose sur trois étapes enchaînées :

Étape Description
Connexion Branchez l'ESP32 via USB et sélectionnez l'interpréteur MicroPython dans Thonny.
Écriture Créez un script simple, par exemple l'allumage d'une LED.
Exécution Lancez le script directement sur la carte depuis l'éditeur.
Débogage Observez les sorties en temps réel dans le terminal intégré.
Sauvegarde Enregistrez le fichier sur l'ESP32 pour une exécution autonome.

L'environnement est en place : place maintenant aux projets concrets.

Projets pratiques avec MicroPython et ESP32

Passer de la théorie à la pratique est souvent là où les connaissances se consolident vraiment. Avec le duo MicroPython/ESP32, plusieurs projets permettent de tester des compétences concrètes tout en produisant des résultats immédiatement utiles.

Les projets suivants progressent en complexité et couvrent les principales capacités du microcontrôleur :

  • Serveur web pour contrôle de LED : activez le module Wi-Fi de l'ESP32 avec network.WLAN, puis exposez une route HTTP simple via la bibliothèque socket. Chaque requête entrante fait basculer la broche GPIO correspondante, ce qui rend le contrôle matériel accessible depuis n'importe quel navigateur du réseau local.
  • Station météo avec capteurs : connectez un capteur DHT22 à une broche GPIO et interrogez-le à intervalle régulier grâce au module dht. Les relevés de température et d'humidité peuvent être affichés sur un écran OLED ou envoyés vers un serveur distant pour constituer un historique exploitable.
  • Système d'alerte par email : combinez un capteur PIR pour la détection de mouvement avec la bibliothèque ussl et un appel SMTP. Dès qu'un mouvement est détecté, l'ESP32 établit une connexion sécurisée et expédie une notification automatique, sans aucun intermédiaire cloud propriétaire.
  • Datalogging sur carte SD : horodatez chaque mesure via un module RTC et écrivez les données au format CSV. Ce projet introduit la gestion de fichiers en MicroPython, compétence directement réutilisable dans des contextes industriels légers.

Chaque projet réutilise les mêmes briques fondamentales, GPIO, réseau, protocoles, ce qui accélère la montée en compétence d'un projet à l'autre.

La plateforme MicroPython/ESP32 offre un terrain d'expérimentation presque sans limites. Plus les projets gagnent en complexité, plus les possibilités se révèlent. Partagez vos réalisations : la communauté maker apprend autant des tâtonnements que des succès.

Questions fréquentes

Comment installer MicroPython sur un ESP32 ?

Téléchargez le firmware MicroPython (.bin) depuis micropython.org, puis flashez-le avec esptool.py via la commande esptool.py --port COM3 write_flash -z 0x1000 firmware.bin. Une connexion USB suffit.

Quel outil utiliser pour programmer l'ESP32 en MicroPython ?

Thonny IDE est recommandé pour les débutants : gratuit, intuitif et intègre un terminal REPL direct. uPyCraft ou VS Code avec l'extension Pymakr conviennent aussi parfaitement.

MicroPython est-il compatible avec tous les modèles d'ESP32 ?

MicroPython supporte la plupart des variantes : ESP32, ESP32-S2, ESP32-S3 et ESP32-C3. Chaque modèle dispose d'un firmware dédié à télécharger séparément sur le site officiel de MicroPython.

Comment connecter l'ESP32 au Wi-Fi avec MicroPython ?

Utilisez le module network : import network; sta = network.WLAN(network.STA_IF); sta.active(True); sta.connect('SSID', 'motdepasse'). Vérifiez la connexion avec sta.isconnected().

Quelle est la différence entre MicroPython et CircuitPython sur ESP32 ?

MicroPython offre plus de flexibilité et supporte davantage de cartes ESP32. CircuitPython, maintenu par Adafruit, privilégie la simplicité et la compatibilité avec ses modules. Pour l'ESP32, MicroPython reste le choix le plus répandu.