ESP32-S2
⚡ L’essentiel en 60 secondes
- cpu — single-core Tensilica Xtensa LX7 @ up to 240 MHz (160 MHz default in many configs); no GPU ( ESP32-S2 datasheet URL above).
- memory — 320 KB internal SRAM, ~1.5 KB low-power SRAM, 448 KB ROM; external SPI flash up to 16 MB (4/8 MB typical); optional quad PSRAM (module-dependent) (ESP32-S2 datasheet:
- connectivity — Wi-Fi 802.11 b/g/n 2.4 GHz (HT40, ESP-WIFI-MESH). No Bluetooth at all — a defining cut vs the ESP32 (
- usb — native USB-OTG (device + host) on GPIO19 (D−)/GPIO20 (D+) — flash/debug over USB without any bridge chip; basis of the QT-Py form factor (
- gpio — 43 programmable GPIOs, freely matrix-routed to USB-OTG, LCD (8080/SPI), 8-bit parallel camera interface, SPI, I2S, UART, ADC, DAC, touch (14 capacitive-touch GPIOs) ( - ADC: 12-bit SAR, up to 20 channels (ADC1 GPIO1–14 + ADC2); ADC2 blocked while Wi-Fi runs (datasheet URL above). - DAC: one 8-bit channel (GPIO17) (datasheet URL above). - LEDC PWM, RMT, motor-control PWM, SDIO master (datasheet URL above).
- logic_level — 3.3 v
- Sur cette fiche : 9 tutoriels · 10 codes
L’ESP32-S2, développé par Espressif Systems, représente une étape charnière dans l’histoire des microcontrôleurs connectés. Annoncé en 2019 et entré en production de masse en 2020, ce composant se distingue par une décision architecturale majeure : il s’agit du premier membre de la famille ESP32 à supprimer entièrement le support du Bluetooth. Cette absence, qui peut surprendre au premier abord, est en réalité une optimisation stratégique. En éliminant la pile logicielle et le matériel radio dédiés au Bluetooth, Espressif a pu concentrer les ressources sur une connectivité Wi-Fi robuste et, surtout, sur l’intégration native de l’USB. Pour le débutant ou le maker, cela signifie que la carte peut être reconnue directement par un ordinateur comme une clé USB, sans nécessiter de puce convertisseur externe (comme le célèbre CP2102 ou CH340). Cette fonctionnalité simplifie considérablement le processus de programmation et de débogage, rendant l’expérience utilisateur plus fluide, notamment avec des formats compacts comme les cartes Adafruit QT Py ou Feather.
Sur le plan du cœur de calcul, l’ESP32-S2 embarque un processeur unique, le Tensilica Xtensa LX7, cadencé jusqu’à 240 MHz. Il est important de noter qu’il s’agit d’un cœur unique, contrairement à l’ESP32 classique qui en possède deux. Pour la plupart des applications IoT simples, comme la lecture de capteurs ou la commande de LED, cette différence est imperceptible. La fréquence de 240 MHz offre une puissance de traitement largement suffisante pour gérer les protocoles réseau et les interfaces graphiques basiques. La mémoire interne est composée de 320 Ko de SRAM, une quantité généreuse pour un microcontrôleur, complétée par une mémoire morte (ROM) de 448 Ko pour le code de démarrage. Une particularité technique cruciale concerne la mémoire externe : bien que la carte puisse accueillir jusqu’à 16 Mo de flash SPI, l’utilisation de la PSRAM (mémoire vive externe) présente une limitation notable. Lorsque le Wi-Fi est actif, l’accès à la PSRAM est restreint pour éviter les conflits de bande passante. Les systèmes d’exploitation comme ESP-IDF gèrent cela automatiquement en plaçant les données critiques dans la SRAM interne, mais les développeurs doivent garder à l’esprit que des designs ambitieux reposant entièrement sur la PSRAM peuvent rencontrer des goulots d’étranglement en performance.
La connectivité est assurée par un module Wi-Fi 802.11 b/g/n fonctionnant sur la bande des 2,4 GHz. L’absence de Bluetooth impose une réflexion différente sur la configuration des appareils. Là où l’on aurait pu utiliser une application mobile via BLE pour saisir les identifiants du réseau Wi-Fi, l’ESP32-S2 privilégie d’autres méthodes, comme la création d’un point d’accès temporaire (SoftAP) ou la configuration via le port USB. Cette approche est souvent jugée plus fiable et moins complexe à mettre en œuvre pour les produits finis. L’interface USB native est un atout majeur : elle permet non seulement le transfert de données et l’alimentation, mais aussi l’émulation de périphériques. Grâce à la pile TinyUSB, la carte peut se faire passer pour un clavier, une souris ou un périphérique MIDI auprès de l’ordinateur hôte, ouvrant la voie à des projets d’automatisation ou d’instruments de musique interactifs sans aucun composant supplémentaire.
Les capacités d’entrée/sortie sont riches et flexibles. La carte dispose de 43 broches GPIO programmables, ce qui signifie que l’utilisateur peut définir la fonction de chaque broche (entrée, sortie, communication série, etc.) via le logiciel. Parmi ces broches, 14 sont compatibles avec la détection capacitive, permettant de créer des interfaces tactiles sans boutons mécaniques, idéal pour les tableaux de bord modernes. Un convertisseur analogique-numérique (ADC) 12 bits est présent, offrant une grande précision pour la lecture de capteurs analogiques. Cependant, il existe une contrainte technique bien connue des utilisateurs de la famille ESP32 : le second convertisseur ADC (ADC2) est indisponible lorsque le Wi-Fi est actif. Il faut donc impérativement utiliser le premier convertisseur (ADC1) pour les applications sans fil. De plus, une sortie numérique-analogique (DAC) 8 bits est disponible sur la broche GPIO17, permettant de générer des signaux audio simples ou de contrôler des circuits analogiques. Il est crucial de rappeler que la logique de ces broches fonctionne en 3,3 volts ; elles ne tolèrent pas les signaux 5 volts, ce qui nécessite l’utilisation de convertisseurs de niveau si l’on souhaite interfacer la carte avec des composants anciens ou des Arduino classiques.
La sécurité est un autre pilier de l’ESP32-S2, qui a été positionné comme le produit phare d’Espressif en matière de protection des données. Il intègre des mécanismes matériels avancés, tels que le démarrage sécurisé basé sur un algorithme RSA-3072 et le chiffrement du flash mémoire (AES-XTS). Ces fonctionnalités empêchent le vol de code propriétaire ou la modification non autorisée du firmware, un aspect indispensable pour les produits commerciaux. La carte supporte également des modes de faible consommation, avec une veille profonde consommant quelques microampères, permettant une autonomie prolongée sur batterie. La plage de température de fonctionnement, allant de -40 °C à +105 °C, assure une fiabilité dans des environnements industriels ou extérieurs difficiles.
En termes d’écosystème logiciel, l’ESP32-S2 est pleinement soutenu par les outils standards. Le SDK officiel ESP-IDF est la référence pour les développements professionnels, offrant une gestion fine des tâches et des périphériques. Pour les débutants, le noyau Arduino est disponible et permet de sélectionner la carte « ESP32S2 Dev Module ». Le support de MicroPython et CircuitPython est également excellent, facilitant le prototypage rapide. Cependant, les utilisateurs doivent être vigilants concernant certaines broches spécifiques. Les broches GPIO0, GPIO45 et GPIO46 sont des broches de configuration (strapping pins) qui déterminent le mode de démarrage de la puce. Si elles sont reliées à une charge électrique au moment de l’allumage, la carte peut ne pas démarrer correctement. De même, sur certaines variantes de modules, les broches GPIO33 à GPIO37 peuvent être utilisées en interne pour la mémoire flash ou la PSRAM, rendant leur usage comme GPIO impossible. Il est donc essentiel de consulter la fiche technique spécifique à son module avant de finaliser un circuit. Enfin, bien que la gamme soit active, Espressif a effectué des consolidations, abandonnant certains kits de développement au profit de nouveaux modèles, ce qui peut entraîner des références obsolètes dans les tutoriels en ligne. Malgré ces petits pièges, l’ESP32-S2 reste une plateforme puissante, sécurisée et économique pour tous les projets nécessitant une connexion Wi-Fi et une interface USB native.


Schéma de brochage (pinout)

| Attr | Specs | vérifié |
|---|---|---|
cpu | single-core Tensilica Xtensa LX7 @ up to 240 MHz (160 MHz default in many configs); no GPU ( ESP32-S2 datasheet URL above). | ✔ |
memory | 320 KB internal SRAM, ~1.5 KB low-power SRAM, 448 KB ROM; external SPI flash up to 16 MB (4/8 MB typical); optional quad PSRAM (module-dependent) (ESP32-S2 datasheet: | ✔ |
connectivity | Wi-Fi 802.11 b/g/n 2.4 GHz (HT40, ESP-WIFI-MESH). No Bluetooth at all — a defining cut vs the ESP32 ( | ✔ |
usb | native USB-OTG (device + host) on GPIO19 (D−)/GPIO20 (D+) — flash/debug over USB without any bridge chip; basis of the QT-Py form factor ( | ✔ |
gpio | 43 programmable GPIOs, freely matrix-routed to USB-OTG, LCD (8080/SPI), 8-bit parallel camera interface, SPI, I2S, UART, ADC, DAC, touch (14 capacitive-touch GPIOs) ( - ADC: 12-bit SAR, up to 20 channels (ADC1 GPIO1–14 + ADC2); ADC2 blocked while Wi-Fi runs (datasheet URL above). - DAC: one 8-bit channel (GPIO17) (datasheet URL above). - LEDC PWM, RMT, motor-control PWM, SDIO master (datasheet URL above). | ✔ |
logic_level | 3.3 v | ? non vérifié |
power | deep sleep in the single-digit µA class with RTC wake; multiple low-power modes (datasheet URL above). > | ? non vérifié |
temperature | −40 °C to +105 °C ( | ✔ |
- Fabricant : Espressif Systems (Shanghai) (
- Année : annoncé en 2019, production en volume à partir de 2020 (premier membre de la famille ESP32 uniquement Wi-Fi). >
- Statut : gamme active, bien qu'Espressif rationalise ses kits : l'ESP32-S2-DevKitM-1 a été discontinué au profit du ESP32-S2-DevKitC-1-N8R2, tandis que la fourniture des modules MINI-2/2U se poursuit (
- Prix au lancement : prix rue du module ≈ 2–4 US$ (classe ESP32-S2-MINI-1) ; >
- Variantes : puces ESP32-S2R8 (8 Mo de flash dans le boîtier), ESP32-S2FH32/FH16 etc. (combinaisons flash/PSRAM) ; modules ESP32-S2-SOLO-1, ESP32-S2-MINI-1/-1U, ESP32-S2-MINI-2/-2U (
- Cartes courantes : ESP32-S2-DevKitC-1, ESP32-S2-Kaluga-1 (écran + caméra), Adafruit QT Py / Feather / MagTag ESP32-S2, Espressif ESP32-S2-DevKitM-1 (héritage).
+ Points forts
- USB-OTG sur une puce de classe ESP32 : série USB CDC, clavier/souris HID, MIDI, designs grand public "USB dongle IoT" (
- Interfaces caméra parallèle 8 bits + LCD — dispositifs HMI/caméra sans le coût du double cœur (
- Le bloc sécurité le plus solide des ESP de l'ère 2019 : secure boot RSA-3072, chiffrement flash XTS, fusion de clés résistante à l'effraction, signature numérique, HMAC (
- 14 canaux capacitifs touch + LCD → niche HMI tactile (
- Plateforme cloud ESP RainMaker lancée autour du S2 (
− Points faibles
- Pas de Bluetooth : les apps de provisioning BLE écrites pour ESP32 ne fonctionnent pas ; utiliser le provisioning SoftAP ou USB (
- Conflit PSRAM vs Wi-Fi : sur S2, l'accès à la PSRAM externe est restreint tant que la radio Wi-Fi est active ; ESP-IDF garde automatiquement les tampons critiques en RAM interne, mais les conceptions naïves "tout mettre en PSRAM" butent sur des limites de performance/fonctions (guide PSRAM ESP-IDF :
- ADC2 inutilisable avec le Wi-Fi (même particularité héritée de toute la famille ESP32) (
- Broches strapping GPIO0 / GPIO45 / GPIO46 : GPIO45 contrôle la tension VDD_SPI et GPIO46 est une entrée de mode de boot ; les charger à la mise sous tension provoque un "chip won't boot" (datasheet ESP32-S2 §Strapping Pins, URL ci-dessus).
- GPIO33–GPIO37 peuvent être consommés par la flash/PSRAM dans le boîtier sur certaines variantes (p. ex. S2R8) — vérifier le datasheet de votre module avant de figer les broches (
- Les broches USB sont précieuses : GPIO19/20 sont les seules broches USB ; les utiliser en GPIO fait perdre le flashage natif sur les cartes sans pont UART (les utilisateurs de QT Py doivent apprendre la danse boot+reset) (guide Adafruit QT Py :
- Renouvellement des kits : DevKitM-1 discontinué ; docs/exemples y font encore référence (
- Retour d'expérience expert expert — expert-microcontroleur
- Petit retour经验 sur l'ESP32-S2 après quelques mois d'utilisation. Le gros point fort reste le USB-OTG natif : pouvoir flasher et debugger sans pont UART est un gain de temps immense, surtout sur les formats compacts comme le QT Py. La sécurité (secure boot RSA-3072) est aussi très solide pour du pro… — expert-microcontroleur
- Merci pour le rappel sur le PSRAM, je galerais depuis quelques jours en pensant que c'etait mon code WiFi qui etaient trop lourd. Par contre, tu parles du USB-OTG comme d'un avantage, mais c'est une horreur quand on depasse le stade du devkit. Sur ma carte, j'ai utilise GPIO19 et 20 pour un petit c… — bricoleur_du_dimanche
- Pour le problème des pins GPIO19/20, il n'y a pas de magie. Une fois configurees en GPIO, tu perds l'interface native. La seule solution est d'utiliser un convertisseur USB-TTL sur d'autres pins pour le debug série, ou de laisser ces pins libres des le debut si tu veux la simplicite du flash par US… — maker_embedded
Retours et projets de la communauté
- ESP32-S2 built-in temperature sensor forum.arduino.cc
- ESP32-S2 Feather & SD card forum.arduino.cc
- USB OTG and ESP32-S2 arduino.stackexchange.com
- Error in programming ESP32-S2-WROVER electronics.stackexchange.com
- esp32-s2_datasheet_en.pdf datasheet
- Pas de Bluetooth : les apps de provisioning BLE écrites pour ESP32 ne fonctionnent pas ; utiliser le provisioning SoftAP ou USB (
- Conflit PSRAM vs Wi-Fi : sur S2, l'accès à la PSRAM externe est restreint tant que la radio Wi-Fi est active ; ESP-IDF garde automatiquement les tampons critiques en RAM interne, mais les conceptions naïves "tout mettre en PSRAM" butent sur des limites de performance/fonctions (guide PSRAM ESP-IDF :
- ADC2 inutilisable avec le Wi-Fi (même particularité héritée de toute la famille ESP32) (
- Broches strapping GPIO0 / GPIO45 / GPIO46 : GPIO45 contrôle la tension VDD_SPI et GPIO46 est une entrée de mode de boot ; les charger à la mise sous tension provoque un "chip won't boot" (datasheet ESP32-S2 §Strapping Pins, URL ci-dessus).
- GPIO33–GPIO37 peuvent être consommés par la flash/PSRAM dans le boîtier sur certaines variantes (p. ex. S2R8) — vérifier le datasheet de votre module avant de figer les broches (
- Les broches USB sont précieuses : GPIO19/20 sont les seules broches USB ; les utiliser en GPIO fait perdre le flashage natif sur les cartes sans pont UART (les utilisateurs de QT Py doivent apprendre la danse boot+reset) (guide Adafruit QT Py :
- Renouvellement des kits : DevKitM-1 discontinué ; docs/exemples y font encore référence (
- Faire clignoter une LED avec l'ESP32-S2 debutant Schéma : IMG-esp32-s2-debutant-1-esp32-s2-clignotement-led.svg — Carte ESP32-S2, broche GPIO2 reliée via une résistance de 330 Ω à une LED dont la cathode va au GND.
- Lire un bouton poussoir avec anti-rebond debutant Schéma : IMG-esp32-s2-debutant-2-esp32-s2-bouton-anti-rebond.svg — Bouton poussoir entre le GPIO4 et le GND, résistance de pull-up interne activée par le programme sur la carte ESP32-S2.
- Console série et lecture d'un capteur analogique debutant Schéma : IMG-esp32-s2-debutant-3-esp32-s2-console-serie-capteur-analogique.svg — Potentiomètre dont le curseur est relié à l'entrée ADC1 GPIO3 d'une ESP32-S2, les deux autres pattes au 3V3 et au GND, câble USB vers l'ordinateur pour la console série.
- Scanner les réseaux WiFi environnants intermediaire Schéma : IMG-esp32-s2-intermediaire-1-esp32-s2-scan-wifi-reseaux.svg — ESP32-S2 reliée par câble USB à un ordinateur, la console série affiche la liste des réseaux WiFi 2,4 GHz détectés avec leur puissance de signal.
- Détecter un contact avec les broches tactiles capacitives intermediaire Schéma : IMG-esp32-s2-intermediaire-2-esp32-s2-tactile-capacitif.svg — Plaque de cuivre autocollante reliée au GPIO4 de l'ESP32-S2 servant de touche tactile capacitive, LED avec résistance de 330 Ω sur GPIO2, doigt posé sur la plaque.
- Stocker des journaux dans la flash avec LittleFS intermediaire Schéma : IMG-esp32-s2-intermediaire-3-esp32-s2-littlefs-logs.svg — ESP32-S2 dont la puce de flash embarquée est mise en évidence avec une icône de fichier journal, un capteur analogique sur GPIO3 et le câble USB vers la console série.
- Deep sleep à quelques microampères sur batterie avance Schéma : IMG-esp32-s2-avance-1-esp32-s2-deep-sleep-batterie.svg — ESP32-S2 alimentée par un pack de piles, bouton de réveil sur GPIO1 (réveil EXT0), LED témoin sur GPIO2, multimètre en série mesurant la consommation en microampères.
- Secure boot RSA-3072 et chiffrement de la flash avance Schéma : IMG-esp32-s2-avance-2-esp32-s2-secure-boot-chiffrement.svg — ESP32-S2 reliée en USB à un ordinateur, cadenas et bouclier au-dessus de la puce, icône de clé RSA-3072 et puce de flash chiffrée en AES-XTS.
- Serveur web embarqué pour piloter une LED avance Schéma : IMG-esp32-s2-avance-3-esp32-s2-serveur-web-led.svg — ESP32-S2 connectée au WiFi local, LED sur GPIO2 avec résistance de 330 Ω, un ordinateur et un smartphone affichent la page web servie par la carte avec boutons ON/OFF.
Bibliothèque de code — exemples écrits pour cette carte
clignotante.inoArduinobouton-led.inoArduinorespiration.inoArduinodht22.inoArduinooled-i2c.inoArduinoserveur-web.inoArduinotouch.inoArduinoservo.inoArduinosommeil-profond.inoArduinomesures.pyMicroPython
Exemples et dépôts trouvés en ligne
- espressif/esp-idf github.com
- espressif/arduino-esp32 github.com
- espressif/esp-iot-solution github.com