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.

Carte XIAO ESP32-S3 et ses fonctions : USB-C, antenne U.FL, LED utilisateur sur GPIO21, boutons Boot et Reset, et les groupes alimentation, 11 GPIO, 9 ADC, I²C, SPI et UART.|640

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.

Arbre de décision pour choisir une variante XIAO ESP32 : caméra ou IA vers la S3 Sense, Matter ou Zigbee vers la C6, Wi-Fi 5 GHz vers la C5, besoins modestes vers la C3, sinon la S3 par défaut.|640

VarianteCœurRAM / FlashRadiosPériphérique signatureÀ choisir si…
ESP32-S3Xtensa LX7 ×2, 240 MHz8 Mo PSRAM / 8 MoWi-Fi 4 + BLE 5— (carte de référence)on veut l’équilibre Wi-Fi + BLE + puissance
ESP32-S3 Senseidem S38 Mo PSRAM / 8 MoWi-Fi 4 + BLE 5caméra OV2640/OV3660 + micro + microSDvision, audio, IA embarquée
ESP32-C3RISC-V, 160 MHz400 Ko / 4 MoWi-Fi 4 + BLE 5—besoins modestes, consommation au minimum
ESP32-C6RISC-V (HP + LP)512 Ko / 4 MoWi-Fi 6 + BLE 5 + 802.15.4Thread / Zigbee / Matterdomotique interopérable
ESP32-C5RISC-V512 Ko / 4 MoWi-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.

BesoinVa voir
programmer en C++ (Arduino)Arduino + ESP32 Arduino-core
programmer en MicroPythonMicroPython
les bases GPIO / PWM / ADCGPIO · PWM · ADC
faire communiquer (I²C / SPI / UART)bus de communication
connecter en Wi-FiESP32 Wi-Fi
connecter en Bluetooth (BLE)ESP32 BLE
réagir à un événementinterruption · timer
économiser la batteriedeep sleep + ESP32 deep sleep
faire du multitâcheFreeRTOS
structurer son codefirmware
essayer sans matérielWokwi — 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.

PadGPIOADCTouchRôle « par défaut »
D0GPIO1✓✓—
D1GPIO2✓✓—
D2GPIO3✓✓strapping
D3GPIO4✓✓—
D4GPIO5✓✓I²C SDA
D5GPIO6✓✓I²C SCL
D6GPIO43——UART TX
D7GPIO44——UART RX
D8GPIO7✓✓SPI SCK
D9GPIO8✓✓SPI MISO
D10GPIO9✓✓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, et D6 vaut 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.

Branchement d'un expandeur d'E/S sur le bus I²C du XIAO : SDA sur D4, SCL sur D5, deux résistances de tirage vers 3V3, et 8 à 16 entrées-sorties en sortie de l'expandeur.|640

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.

Comparaison antenne interne et externe du XIAO : à gauche l'antenne céramique intégrée par défaut, à droite une antenne externe branchée sur le connecteur U.FL pour plus de portée.|640

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