--- title: "Module 0 — Prérequis & Installation" --- ## Objectifs du module - Comprendre le rôle et les avantages de l'Arduino IDE pour programmer un ESP32-S3. - Installer et configurer l'environnement de développement. - Identifier et installer les pilotes nécessaires à la reconnaissance de la carte. - Flasher un premier programme (Blink) et valider la chaîne complète (code → compilation → upload → exécution). ## 1. Matériel utilisé dans cette formation Toute la formation s'appuie sur une carte de développement ESP32-S3-WROOM-1 (DevKitC-1 ou équivalent). Points clés à connaître dès maintenant : - Microcontrôleur Xtensa LX7 double cœur, cadencé jusqu'à 240 MHz. - Connexion USB native (USB OTG) : pas besoin de convertisseur USB-série externe sur la plupart des DevKits S3. - Une LED RGB adressable (NeoPixel / WS2812) intégrée sur la carte — nous l'utiliserons au Module 2. - Wi-Fi 2,4 GHz + Bluetooth Low Energy (BLE) — attention : pas de Bluetooth Classic sur l'ESP32-S3. - Alimentation 3,3 V logique (contrairement à l'Arduino Uno qui est en 5 V) : ne jamais appliquer plus de 3,3 V sur une broche GPIO. ::: {.callout-note title="À vérifier avant de commencer"} Le modèle exact de votre carte peut varier (nombre de broches, position de la LED NeoPixel, présence de PSRAM). Repérez sur votre carte la sérigraphie indiquant le numéro de chaque GPIO : elle servira de référence tout au long de la formation. ::: ## 2. Installation de l'Arduino IDE ### 2.1 Téléchargement Rendez-vous sur le site officiel arduino.cc/en/software et téléchargez la version 2.x de l'Arduino IDE (interface plus moderne, gestion de projets multiples, terminal série amélioré) pour votre système d'exploitation (Windows, macOS, Linux). ### 2.2 Installation des pilotes USB Selon la puce USB-série présente sur votre carte (souvent inutile si la carte utilise l'USB natif du S3), il peut être nécessaire d'installer un pilote : - CP210x (Silicon Labs) — pour certains DevKits. - CH340/CH343 — pour d'autres clones. Sur Windows, le Gestionnaire de périphériques doit afficher un port COM une fois la carte branchée. Sur macOS/Linux, la carte apparaît généralement automatiquement (/dev/tty.usbserial-\* ou /dev/ttyUSB\*/ttyACM\*). ## 3. Ajout du support ESP32 dans l'Arduino IDE Par défaut, l'IDE ne connaît que les cartes Arduino officielles. Il faut ajouter le paquet de définitions Espressif : ### Étapes - Ouvrir Fichier \> Préférences (ou Arduino IDE \> Réglages sur macOS). - Dans « URL de gestionnaire de cartes supplémentaires », ajouter : ```text https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json ``` - Ouvrir Outils \> Type de carte \> Gestionnaire de cartes. - Rechercher « esp32 » et installer le paquet « esp32 by Espressif Systems » (dernière version stable). - Redémarrer l'IDE. ## 4. Sélection et configuration de la carte Une fois le paquet installé : - Outils \> Type de carte \> ESP32 Arduino \> choisir « ESP32S3 Dev Module ». - Outils \> Port : sélectionner le port série apparu à la connexion de la carte. - Outils \> USB CDC On Boot : Enabled (recommandé pour voir les messages Serial dès le démarrage sur l'ESP32-S3). - Outils \> Upload Speed : 921600 (par défaut, réduire en cas d'échec d'upload). ::: {.callout-tip title="Astuce mode téléchargement"} Si l'upload échoue avec un message « Failed to connect », maintenez le bouton BOOT appuyé, appuyez brièvement sur RESET, relâchez BOOT, puis relancez le téléversement. Ce geste force la carte en mode bootloader. ::: ![Forcer le mode téléchargement : séquence des boutons BOOT et RESET](../schemas/svg/m00-boot-reset.svg){#fig-m00-boot-reset width=90%} ## 5. Premier programme : Blink Nous allons vérifier que toute la chaîne (code → compilation → upload → exécution) fonctionne, en faisant clignoter la LED intégrée. ![La chaîne de développement : du croquis à l'exécution sur la carte, puis retour par le moniteur série](../schemas/svg/m00-chaine-developpement.svg){#fig-m00-chaine-developpement} ```cpp // Sur la plupart des DevKitC ESP32-S3, la LED simple (non RGB) est sur la broche 2. // Vérifiez la sérigraphie de votre carte : elle peut varier. #define LED_PIN 2 void setup() { pinMode(LED_PIN, OUTPUT); Serial.begin(115200); Serial.println("Demarrage du programme Blink"); } void loop() { digitalWrite(LED_PIN, HIGH); delay(500); digitalWrite(LED_PIN, LOW); delay(500); Serial.println("Clignotement..."); } ``` Compilez avec le bouton ✓ (Vérifier), puis téléversez avec la flèche → (Téléverser). Ouvrez le Moniteur Série (Outils \> Moniteur Série, vitesse 115200 bauds) pour voir les messages s'afficher. ## 6. Checklist de fin de module - [ ] Arduino IDE installé et à jour. - [ ] Pilotes USB installés si nécessaire, port COM/tty visible. - [ ] Paquet ESP32 (Espressif) installé via le gestionnaire de cartes. - [ ] Carte « ESP32S3 Dev Module » sélectionnée avec le bon port. - [ ] Programme Blink compilé, téléversé et fonctionnel. - [ ] Moniteur série fonctionnel (messages visibles à 115200 bauds). ## Exercice pratique Modifiez le programme Blink pour : - Faire clignoter la LED avec un rythme irrégulier (ex : court, court, long — façon morse). - Afficher dans le moniteur série un compteur du nombre de clignotements depuis le démarrage. ## Pour aller plus loin (facultatif) Consultez la documentation officielle Espressif sur le cœur Arduino pour ESP32 : elle liste l'ensemble des cartes supportées et des options spécifiques (partitions, PSRAM, etc.) que nous détaillerons au Module 1.