Le XIAO ESP32-S3 est une carte de développement timbre-poste (≈ 21 × 17,8 mm) de Seeed Studio, bâtie autour de la puce ESP32-S3 : deux cœurs à 240 MHz, 8 Mo de PSRAM, Wi-Fi et BLE, le tout sur une carte USB-C qui tient sur un ongle. Cette fiche est le hub-parcours de la carte : pourquoi elle, quelle variante choisir, et comment l’utiliser dans un projet en s’appuyant sur les fiches existantes. XIAO est un format, pas une famille de puces : tout ce qui concerne le SoC, les radios et les chaînes d’outils est porté par le module ESP32, et le choix entre familles de microcontrôleurs reste porté par microcontrôleur.
Pourquoi le XIAO ESP32-S3 ?
On prend cette carte quand on veut la connectivité et la puissance d’un ESP32 dans un encombrement minimal :
- format timbre-poste (≈ 21 × 17,8 mm, bords castellés montables en CMS) — idéal pour un objet porté ou un produit compact ;
- ESP32-S3 : deux cœurs Xtensa LX7 à 240 MHz, 8 Mo de PSRAM + 8 Mo de Flash, instructions vectorielles pour l’IA embarquée ;
- Wi-Fi 4 (2,4 GHz) + BLE 5 intégrés, avec antenne céramique et connecteur d’antenne externe ;
- USB-C natif : l’ESP32-S3 gère l’USB sans puce externe ;
- charge LiPo embarquée (pads batterie au dos) et mode deep sleep très économe → fonctionnement sur batterie.
La rançon de la miniaturisation : onze broches seulement sortent sur les bords (voir plus bas), et la carte fonctionne en 3,3 V : les capteurs et modules en 5 V demandent une adaptation de niveau (voir niveaux de tension).
Choisir sa variante
XIAO décline le même format sur plusieurs puces ESP32. Le choix part du besoin du projet, pas de la fiche technique.
| Variante | Cœur | RAM / Flash | Radios | Périphérique signature | À choisir si… |
|---|---|---|---|---|---|
| ESP32-S3 | Xtensa LX7 ×2, 240 MHz | 8 Mo PSRAM / 8 Mo | Wi-Fi 4 + BLE 5 | — (carte de référence) | on veut l’équilibre Wi-Fi + BLE + puissance |
| ESP32-S3 Sense | idem S3 | 8 Mo PSRAM / 8 Mo | Wi-Fi 4 + BLE 5 | caméra OV2640/OV3660 + micro + microSD | vision, audio, IA embarquée |
| ESP32-C3 | RISC-V, 160 MHz | 400 Ko / 4 Mo | Wi-Fi 4 + BLE 5 | — | besoins modestes, consommation au minimum |
| ESP32-C6 | RISC-V (HP + LP) | 512 Ko / 4 Mo | Wi-Fi 6 + BLE 5 + 802.15.4 | Thread / Zigbee / Matter | domotique interopérable |
| ESP32-C5 | RISC-V | 512 Ko / 4 Mo | Wi-Fi 6 bi-bande (2,4 / 5 GHz) | — | passerelle, Wi-Fi 5 GHz |
Mettre en œuvre dans un projet
Programmer cette carte mobilise les mêmes briques que tout microcontrôleur : entrées/sorties, communication, sans-fil, basse consommation. Le tableau ci-dessous renvoie chaque besoin vers la fiche qui l’explique — pour débuter, le parcourir de haut en bas ; sinon, aller droit à ce qui manque. Et pour mener un projet de bout en bout (chiffrer les besoins, choisir, concevoir, programmer, tester), tout est déroulé dans la colonne de réalisation, où le XIAO entre à l’étape choisir le matériel.
| Besoin | Va voir |
|---|---|
| programmer en C++ (Arduino) | Arduino + ESP32 Arduino-core |
| programmer en MicroPython | MicroPython |
| les bases GPIO / PWM / ADC | GPIO · PWM · ADC |
| faire communiquer (I²C / SPI / UART) | bus de communication |
| connecter en Wi-Fi | ESP32 Wi-Fi |
| connecter en Bluetooth (BLE) | ESP32 BLE |
| réagir à un événement | interruption · timer |
| économiser la batterie | deep sleep + ESP32 deep sleep |
| faire du multitâche | FreeRTOS |
| structurer son code | firmware |
| essayer sans matériel | Wokwi — les XIAO C3, S3 et C6 y sont simulées |
Trois fiches couvrent le spécifique carte : le premier flashage avec prise en main, l’alimentation et la recharge d’accu avec alimentation, et la version caméra/IA avec XIAO Sense.
Les onze broches
Le SoC ESP32-S3 expose une quarantaine de GPIO, mais le format XIAO n’en sort que onze (D0–D10), plus l’alimentation. C’est la contrainte numéro un de la carte.
| Pad | GPIO | ADC | Touch | Rôle « par défaut » |
|---|---|---|---|---|
| D0 | GPIO1 | ✓ | ✓ | — |
| D1 | GPIO2 | ✓ | ✓ | — |
| D2 | GPIO3 | ✓ | ✓ | strapping |
| D3 | GPIO4 | ✓ | ✓ | — |
| D4 | GPIO5 | ✓ | ✓ | I²C SDA |
| D5 | GPIO6 | ✓ | ✓ | I²C SCL |
| D6 | GPIO43 | — | — | UART TX |
| D7 | GPIO44 | — | — | UART RX |
| D8 | GPIO7 | ✓ | ✓ | SPI SCK |
| D9 | GPIO8 | ✓ | ✓ | SPI MISO |
| D10 | GPIO9 | ✓ | ✓ | SPI MOSI |
Côté alimentation : 5V (sortie de l’USB, ou entrée via une diode en série), 3V3 (sortie régulée, jusqu’à 700 mA), GND, et les pads B+ / B− de batterie au dos. Une LED utilisateur est câblée sur GPIO21, plus une LED de charge et les boutons Boot/Reset.
Pièges de broches
- La sérigraphie D0…D10 n’est pas le numéro GPIO. En Arduino on peut écrire
D6, mais ailleurs (MicroPython, beaucoup de bibliothèques) c’est le numéro GPIO qui est attendu, etD6vaut GPIO43, pas GPIO6.- Neuf pads ADC seulement : D0–D5 et D8–D10. D6/D7 sont réservés à l’UART (pas d’analogique), et sur la Sense A11/A12 (GPIO41/42) ne font pas d’ADC malgré leur nom.
- Pas de DAC sur l’ESP32-S3, contrairement à l’ESP32 classique : pour une vraie sortie analogique, un convertisseur externe ou de la PWM filtrée (voir DAC).
- Pins de strapping : le bouton Boot est sur GPIO0, et D2 (GPIO3) est un pad de strapping : un niveau imposé au démarrage peut empêcher le boot ou le flashage. Le garder libre au reset si possible.
Étendre les entrées/sorties
Onze broches, c’est vite court. La réponse standard est un expandeur d’E/S sur le bus I²C : deux fils (SDA sur D4, SCL sur D5) pilotent un circuit comme le PCF8574 (8 E/S) ou le MCP23017 (16 E/S), adressable : on en chaîne plusieurs sur le même bus.
L’autre voie, sans soudure, est l’écosystème d’extension XIAO : la Expansion Base (écran OLED, RTC, buzzer, lecteur microSD, connecteurs Grove) et les modules Grove se branchent directement et donnent accès aux périphériques courants sans câblage fin.
L’antenne, interne ou externe
La carte embarque une antenne céramique active par défaut, et un connecteur d’antenne externe (U.FL / IPEX) avec une antenne fournie. On branche l’antenne externe pour gagner en portée : en boîtier (surtout métallique), à proximité d’une batterie ou d’un plan de masse, ou pour une longue distance.
Deux précautions : le connecteur U.FL est fragile (à clipser et déclipser avec soin, en tenant le connecteur et non le câble), et le choix est matériel, pas de bascule logicielle.
Format et montage
Les bords castellés permettent de souder la XIAO directement sur son propre circuit, comme un module CMS : c’est le passage du prototype au produit (voir conception de PCB). Avec des barrettes soudées, le pas de 2,54 mm reste compatible breadboard et plaque à trous. L’alimentation passe par l’USB-C ou par les pads (5V via diode, ou batterie sur B+/B−).
Voir aussi
- ESP32 — le SoC, les radios, les chaînes d’outils (le parcours puce)
- Microcontrôleur — panorama des familles et aide au choix inter-familles
- XIAO — prise en main — premier flashage, boutons, USB
- XIAO — alimentation — recharge d’accu, basse consommation
- XIAO Sense — caméra, micro, microSD, IA embarquée
- Colonne de réalisation — la démarche projet de bout en bout
- Choisir le matériel — l’étape où le XIAO entre dans le projet
- Wokwi — simuler la carte et son code dans le navigateur, avant le matériel
- I²C — le bus de l’extendeur d’E/S
- Deep sleep — le mode basse consommation sur batterie