Vous venez de recevoir votre carte ESP32-S3-Wroom-1, et plus précisément la version musclée N16R8 ? Félicitations, vous avez entre les mains l’un des microcontrôleurs les plus puissants du moment ! Avec ses 16 Mo de mémoire Flash et ses 8 Mo de PSRAM, elle est prête pour l’IA, l’audio ou les écrans haute résolution.
Cependant, configurer cette « bête de course » peut être déroutant quand on part de zéro. Entre le choix de l’IDE, l’installation des drivers et l’activation de la mémoire étendue, ce guide est là pour vous accompagner pas à pas, de la sortie de boîte au premier programme fonctionnel.
1. Pourquoi choisir l’ESP32-S3 N16R8 ?
Avant de plonger dans le code, comprenons ce que signifient ces sigles barbares :
- S3 : Le successeur de l’ESP32 classique, intégrant des instructions pour l’accélération de l’IA et l’USB natif.
- N16 (16 MB Flash) : C’est votre « disque dur ». Vous pouvez y stocker des programmes immenses ou des fichiers (images, sons, pages web).
- R8 (8 MB PSRAM) : C’est votre « mémoire vive » (RAM) supplémentaire. Indispensable pour traiter des images ou des données lourdes.
2. Préparation du terrain : Le matériel
Pour suivre ce tuto, vous avez besoin de :
- Votre carte ESP32-S3 N16R8.
- Un câble USB-C de bonne qualité (attention aux câbles « charge uniquement » qui ne transmettent pas de données).
- Arduino IDE version 2.0 ou supérieure (actuellement v2.3.x) : > Attention : Il est fortement recommandé d’utiliser la version 2 de l’IDE. La version 1.8 est limitée pour la gestion des puces récentes comme la S3 et gère moins bien l’USB natif et les nouvelles bibliothèques et d’un PC (Windows, Mac ou Linux).
Note sur les ports USB : La plupart des cartes S3 possèdent deux ports.
- Le port « UART » : Passe par une puce convertisseuse (type CH340). C’est le plus stable pour débuter.
- Le port « USB » (Natif) : Relié directement au processeur S3. Il permet de simuler un clavier ou une souris, mais nécessite un réglage spécifique pour voir le moniteur série. Ce port permet de profiter des fonctionnalités avancées. Utilisez ce port de préférence..
3. Installation de l’environnement (IDE)
Le plus simple pour débuter est d’utiliser Arduino IDE (version 2.0 ou plus).
Étape 1 : Ajouter le support ESP32
- Allez dans
Fichier>Préférences. - Dans « URL de gestionnaire de cartes supplémentaires », collez ce lien : https://espressif.github.io/arduino-esp32/package_esp32_index.json
- Allez dans l’onglet Gestionnaire de cartes (icône de carte à gauche), cherchez « ESP32 » par Espressif Systems et cliquez sur Installer. Soyez patient, le pack est lourd et la première compilation sera longue.

Dans l’étape suivante où beaucoup abandonnent, il y a juste un détail de configuration à régler. Sur la photo ci dessous, on voit que le Port COM3 est bien détecté, mais l’IDE ne sait pas quelle « identité » donner à la carte qui est branchée dessus.

Étape 2 : Identifier la carte (Le piège du « Family Device »)
Au branchement, l’IDE affiche souvent « ESP32 Family Device ». Il faut lui donner sa véritable identité :
- Cliquez sur le menu déroulant des cartes en haut à gauche et faites « Select other board and port ».
- Recherchez : ESP32S3 Dev Module.
- Sélectionnez votre port COM et validez par OK.
Note : Si « ESP32S3 Dev Module » n’apparaît pas dans la recherche, c’est que le gestionnaire de carte n’a pas encore fini d’installer le pack Espressif.
Le conseil de Christianpc : « Si l’erreur persiste alors que vous avez bien choisi ESP32S3 Dev Module, maintenez le bouton BOOT de la carte enfoncé, appuyez brièvement sur RESET, puis relâchez BOOT. Cela force la carte en « Mode Flash » manuel. »
4. Configuration cruciale pour la N16R8
C’est ici que tout se joue. Si vous ne réglez pas ces options, votre carte sera bridée ou le moniteur série restera vide.
Dans le menu Outils, configurez comme suit :
- Board (Carte) :
ESP32S3 Dev Module - Flash Mode :
QIO 80MHz(ou OPI si votre carte le supporte) - Flash Size :
16MB (128Mb) - PSRAM :
OPI PSRAM(Crucial pour activer les 8MB !) - USB CDC On Boot : * Mettez Enabled si vous êtes branché sur le port USB Natif.
- Mettez Disabled si vous êtes branché sur le port UART/COM.
- Si vous vous trompez, vous ne verrez rien s’afficher dans le moniteur série !
5. Votre premier test : Le « Hello World »
Copiez ce code pour vérifier que tout fonctionne :
C++
void setup() {
// Initialisation du port série à 115200 bauds
Serial.begin(115200);
delay(1000);
Serial.println("--- Test ESP32-S3 N16R8 ---");
// Vérification de la PSRAM
Serial.printf("Total PSRAM: %d", ESP.getPsramSize());
Serial.printf("Free PSRAM: %d", ESP.getFreePsram());
}
void loop() {
Serial.println("La carte fonctionne parfaitement !");
delay(2000);
}
Cliquez sur Téléverser. Ouvrez le Moniteur Série (réglé sur 115200 bauds) pour voir le message s’afficher.
Que faire si rien ne s’affiche ?
Si après le téléversement le moniteur série est vide :
- Vérifiez le réglage « USB CDC On Boot » (voir étape 4).
- Appuyez sur le bouton RESET de votre carte.
- Vérifiez la vitesse du moniteur série (doit être sur 115200 baud).
Erreur critique : « This chip is ESP32-S3, not ESP32 »

C’est l’erreur la plus fréquente lors du premier essai. Vous lancez le téléversement et, après la compilation, un message d’erreur rouge vif apparaît dans la console :
A fatal error occurred: This chip is ESP32-S3, not ESP32. Wrong chip argument?
Pourquoi cette erreur ?
L’Arduino IDE est resté configuré sur l’ESP32 classique (le modèle de 2016). Bien qu’ils partagent le nom « ESP32 », le cerveau (le processeur) du S3 est totalement différent. L’outil de flashage détecte l’incohérence et bloque l’envoi pour ne pas endommager le micrologiciel.
La Solution
Vous devez forcer l’IDE à utiliser les outils spécifiques au S3 :
Retournez dans le menu Outils > Carte.
Assurez-vous que c’est bien ESP32S3 Dev Module qui est coché (et non « ESP32 Dev Module »).
Vérifiez à nouveau votre Port COM : parfois, changer le type de carte désélectionne le port.
Relancez le téléversement.
Une vérification importante après le changement
Une fois que vous aurez sélectionné le S3, une nouvelle option devrait apparaître dans le menu (ou être modifiable) : « USB CDC On Boot » mettre « Enabled« .
- Si votre ESP32-S3 est branché via le port USB direct de la puce : Réglez « USB CDC On Boot » sur Enabled. Cela permet d’afficher les messages du « Moniteur Série » correctement.
- PSRAM : elle doit être sur « Enabled » si votre module WROOM-1 en possède (ce qui est souvent le cas sur les S3), sinon laissez par défaut.
Une fois ces réglages appliqués, relancez le téléversement (la flèche vers la droite). L’erreur This chip is ESP32-S3, not ESP32 devrait disparaître.
Comprendre l’affichage : Serial.printf vs log_d
Dans le code ci-dessus, nous avons utilisé Serial.printf pour afficher les informations de mémoire. Cependant, vous rencontrerez souvent log_d dans les exemples officiels d’Espressif. Voici la différence et comment choisir :
Option 1 : La méthode « Directe » (recommandée pour débuter)
C’est l’utilisation de Serial.printf.
- Réglage : Aucun réglage particulier requis dans l’IDE.
- Pourquoi l’utiliser : Le message est envoyé « en force » vers le moniteur série. C’est l’assurance que votre message s’affiche quoi qu’il arrive, idéal pour vérifier que votre carte est bien vivante.
Option 2 : La méthode « Pro » (Le système de Logs)
C’est l’utilisation de log_d("Mon message");.
- Le problème : Si vous l’utilisez tel quel, rien ne s’affichera dans votre moniteur par défaut !
- Le réglage indispensable : Vous devez aller dans le menu Outils > Core Debug Level et sélectionner « Debug » (ou « Info »).
- L’avantage : C’est très puissant pour les gros projets. En un seul clic dans le menu de l’IDE, vous pouvez décider de « faire taire » tous les messages de diagnostic de votre code pour ne garder que l’essentiel, sans avoir à supprimer vos lignes de code.
Le conseil de Christianpc : « Pour vos premiers pas, restez sur
Serial.printf. Une fois que vous serez à l’aise avec la gestion des bibliothèques, passez au système delogpour garder une console propre et professionnelle ! N’oubliez pas que si vous changez le Core Debug Level, l’IDE devra recompiler le code entièrement, ce qui prendra à nouveau un peu de temps.
Conclusion
Bravo ! Votre ESP32-S3 est maintenant configurée et vous avez vérifié que les 8 Mo de PSRAM sont bien actifs. Vous avez franchi l’étape la plus difficile.
Le petit dico technique de l’ESP32-S3
Pour y voir plus clair dans les réglages de votre IDE, voici les définitions simplifiées des termes rencontrés dans ce tuto :
- Flash (N16) : C’est la mémoire de stockage permanente de votre carte (comme un disque dur). C’est là que votre programme (le code) est enregistré même quand vous coupez le courant.
- PSRAM (R8) : C’est une extension de la mémoire vive (RAM). Elle est indispensable pour manipuler des données lourdes comme des images haute définition, de l’audio ou de l’intelligence artificielle.
- USB CDC (On Boot) : Cette option permet à la puce S3 de créer un port série virtuel directement via son port USB natif. Sans l’activer (Enabled), vous ne verrez rien s’afficher dans votre moniteur série si vous êtes branché sur le port USB direct.
- UART / Port COM : C’est la méthode de communication « classique » qui passe par une puce intermédiaire (souvent une petite puce noire à côté du port USB). C’est généralement le port le plus stable pour envoyer vos premiers programmes.
- OPI / QIO : Ce sont les modes de communication ultra-rapides entre le processeur et la mémoire. Pour profiter des 8 Mo de votre version N16R8, le réglage OPI est souvent indispensable dans les options de la PSRAM.
- Bootloader : C’est le petit programme interne à la carte qui attend de recevoir votre code. Si le téléversement échoue, maintenir le bouton BOOT enfoncé force la carte à entrer dans ce mode.
Prochaine étape : Pourquoi ne pas essayer d’afficher une image sur un écran TFT ou de connecter votre carte au Wi-Fi ?




