Blog
ESP32 avec PlatformIO : installation, portage, débogage
Comment utiliser platformio avec esp32 sans la douleur habituelle — configuration de la carte breakout Freenove ESP32-S3, portage des croquis Arduino, débogage quand rien ne compile.
Comment utiliser PlatformIO avec l’ESP32 ?
Installez l’extension PlatformIO dans VS Code, créez un projet et écrivez un seul fichier platformio.ini — c’est toute la configuration. PlatformIO enveloppe la même chaîne d’outils Espressif, mais épingle chaque version. Mon premier pio run a téléchargé toute la chaîne d’outils espressif32 et compilé sans une seule étape manuelle ; le même croquis m’avait coûté un après-midi dans l’IDE.
Que contient vraiment un fichier platformio.ini ?
Trois lignes couvrent la plupart des projets : [env:esp32dev], platform = espressif32 et board = esp32dev. Ajoutez framework = arduino, plus monitor_speed = 115200. Tout le reste est optionnel jusqu’à ce que ça ne le soit plus.
Comment configurer PlatformIO pour la carte breakout Freenove ESP32-S3 ?
Pas de configuration personnalisée pour la plupart des cartes Freenove S3 — le registre fournit un alias comme freenove_esp32_s3_wroom, donc réglez board = freenove_esp32_s3_wroom et le reste se remplit tout seul. Deux choses font trébucher les gens quel que soit l’alias : le port USB natif de la S3 a besoin du bon upload_port — choisissez le port qui apparaît quand vous branchez — et la LED RVB embarquée est sur GPIO 48 pour la plupart des variantes Freenove. L’alias exact dépend de la révision de votre carte. Notre base de connaissances tient le tableau Freenove à jour.
Comment débugger avec PlatformIO sur ESP32 ?
Commencez par pio run -t upload, puis pio device monitor — la journalisation série, c’est 90 % du débogage ESP32. De vrais points d’arrêt exigent un ESP-Prog en JTAG, ou une S3 avec débogage USB natif ; les kits WROOM ordinaires fonctionnent la plupart du temps avec un clone d’ESP-Prog bon marché, mais la documentation officielle est vague sur les clones qui négocient bien la poignée de main. Quand esptool rapporte Failed to connect to ESP32: timed out waiting for packet header, maintenez BOOT pendant le téléversement — cette erreur est un problème de mode, pas une puce morte. La FAQ débogage couvre le reste.
Comment porter mon projet Arduino ESP32 vers PlatformIO ?
Créez un dossier de projet, ajoutez platformio.ini avec framework = arduino, et renommez le .ino en src/main.cpp — PlatformIO compile du C++ pur, donc l’enveloppe Arduino disparaît. setup() et loop() restent tels quels. Les bibliothèques passent dans lib_deps, comme lib_deps = bblanchon/ArduinoJson@^7.
Comment porter mon projet Arduino ESP32 vers PlatformIO sans perdre les réglages ?
Sauvegardez trois choses avant de déménager : les réglages de carte et de flash que vous exprimeriez dans platformio.ini, votre dossier lib/, et tout dossier data/ livré avec pio run -t uploadfs. Le croquis est portable ; ce qui se perd, ce sont les identifiants Wi-Fi dans les fichiers de configuration et les layouts de partition codés en dur. Déplacez-les dans le ini (board_build.partitions) et une config ignorée par git. Lancez pio pkg list d’abord pour que les versions correspondent.
Pourquoi mon moniteur série est-il plein de charabia ?
Mauvais débit, presque à coup sûr — l’ESP32 démarre sa ROM à 115200, donc tout autre débit affiche du charabia. J’ai perdu une heure sur du 74880 avec un ESP8266 avant de comprendre que PlatformIO avait hérité d’un mauvais monitor_speed ; réglez monitor_speed = 115200 et tout devient propre.
Comment faire un pio monitor sur un appareil ESP32 ?
Lancez pio device list, puis pio device monitor — c’est comme ça qu’on fait un pio monitor sur un appareil esp32. Sous Linux, rejoignez le groupe dialout ; sous Windows, installez le pilote CH340 ou CP2102 sinon le port n’apparaît jamais.
PlatformIO fonctionnera-t-il avec le module de dev ESP32 ?
Oui — la réponse courte à « will platformio work with the esp32 dev module », c’est que esp32dev est le défaut pour le kit WROOM classique. Les clones avec des LED ou des tailles de flash différentes surchargent ces deux réglages.
Comment configurer PlatformIO pour l’ESP32 de la façon la plus rapide ?
La plupart des guides « how to setup platformio for esp32 » supposent VS Code, mais le CLI travaille seul : pio project init --board esp32dev crée un projet fonctionnel instantanément. Itérez dans le simulateur en navigateur, puis flashez la vraie carte.
Les projets de ce sujet s’exécutent directement dans le simulateur gratuit de sensbench : circuit pré-câblé, firmware inclus, sans compte ni installation.