À faire avant la séance
L’installation de PlatformIO (voir le prérequis ci-dessus) et du support ESP32 doit être terminée.
Installer la chaîne ESP32-S3 et valider ton premier flashage
Vérification de la toolchain
Configurer PlatformIO pour l'ESP32-S3 et faire clignoter la LED embarquée, avant d'ajouter une LED externe.
Pré-requis :
Logiciels :
Machines/Outils :
Ce tutoriel a pour but de vérifier que chacun a une chaîne de développement fonctionnelle avant d’attaquer la suite des aventures sur les microcontrôleurs. Chaque TD suivant ajoutera un périphérique au même montage : le câblage posé ici ne bougera plus.
Dans VSCode, ouvre l’onglet PlatformIO (icône fourmi dans la barre latérale) puis New Project.
Configure :
pong-esp32Espressif ESP32-S3-DevKitC-1 (N16R8) (ou la référence exacte de ta carte)ArduinoPlatformIO génère un dossier avec un fichier platformio.ini et un dossier src/ contenant main.cpp.
; platformio.ini généré
[env:esp32-s3-devkitc-1]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200
La carte communique avec l’ordinateur via une puce USB-série (CP2102 ou CH340 selon le modèle). Sans le bon driver, le port ne s’affiche pas dans la liste des ports disponibles.
dialout pour accéder au port sans sudo.Remplace le contenu de src/main.cpp par le code ci-dessous, puis clique sur Upload (flèche →) dans la barre bleue PlatformIO en bas de VSCode.
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
La LED intégrée (LED_BUILTIN) doit clignoter à 1 Hz. Montre ta carte qui clignote avant de passer à la suite : c’est la seule sortie attendue de ce TD1.
S’il te reste du temps, câble une LED externe avec sa résistance série. C’est la première brique physique du montage qui restera figée jusqu’au projet.

Voici le code nécessaire au fonctionnement de cette démonstration.
#define LED_PIN 4
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}
Le calcul de la résistance série est détaillé dans le concept GPIO & monde numérique.