Le XIAO ESP32-S3-Plus est une carte microcontrôleur compacte et puissante conçue pour des projets embarqués avancés et IoT. Elle est basée sur le processeur dual-core ESP32-S3 fonctionnant jusqu’à 240 MHz. La carte intègre une connectivité Wi-Fi et Bluetooth Low Energy pour les applications sans fil.
Par rapport au XIAO ESP32-S3, il conserve un facteur de forme réduit tout en ajoutant plus de mémoire et de capacités d’E/S. La version Plus dispose de 16 Mo de flash, 8 Mo de PSRAM et 20 broches GPIO.
La carte prend en charge plusieurs interfaces telles que UART, I2C, SPI et I2S. Elle inclut également la charge de batterie intégrée et des modes basse consommation pour une utilisation économe en énergie.
Dans ce tutoriel, vous apprendrez comment programmer le XIAO ESP32-S3-Plus avec l’IDE Arduino.
Où acheter
Vous pouvez vous procurer le XIAO ESP32-S3-Plus chez Seeed Studio. Vous aurez également besoin d’un câble USB-C, si vous n’en possédez pas déjà un. Un petit dissipateur thermique peut aussi être nécessaire si vous effectuez des calculs intensifs sur la carte.

XIAO ESP32-S3-Plus

Câble USB C

Petit dissipateur thermique 9×9 mm
Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.
Caractéristiques de la carte XIAO ESP32-S3 Plus
Le XIAO ESP32-S3-Plus est basé sur le microcontrôleur ESP32-S3R8. Il utilise un CPU dual-core Xtensa LX7 cadencé jusqu’à 240 MHz. L’image ci-dessous montre le recto et le verso de la carte.

Le processeur est 32 bits et conçu pour les charges embarquées et IoT. Il supporte les instructions vectorielles qui améliorent les performances pour le traitement du signal et les tâches d’IA.
La carte est compatible avec les frameworks de développement courants. Elle supporte Arduino, MicroPython et ESP-IDF.
Configuration mémoire
La version Plus offre une configuration mémoire plus importante que le modèle standard. Elle inclut 16 Mo de mémoire flash externe et 8 Mo de PSRAM pour la gestion dynamique des données.
Cette combinaison permet des applications plus complexes, notamment la mise en tampon, le traitement d’images et les charges d’IA en périphérie.
Connectivité sans fil
La carte intègre un sous-système Wi-Fi complet en 2,4 GHz. Elle supporte aussi Bluetooth Low Energy 5.0 et Bluetooth Mesh. Une antenne externe peut être connectée via une interface U.FL, améliorant la portée et la stabilité du signal dans les designs embarqués. La photo ci-dessous montre l’antenne à côté de la carte XIAO ESP32-S3-Plus :

GPIO et interfaces
Le XIAO ESP32-S3-Plus offre un ensemble étendu de broches GPIO, jusqu’à 20 GPIO. Des broches supplémentaires sont disponibles via des pastilles castellated au dos de la carte. L’image suivante montre le brochage du XIAO ESP32-S3-Plus :

La carte supporte plusieurs interfaces de communication : deux UART, un I2C, un I2S et deux SPI. Elle fournit aussi des entrées analogiques via des canaux ADC.
Un connecteur B2B est inclus pour les cartes d’extension. Notez que le connecteur B2B du XIAO ESP32-S3-Plus est compatible avec la Wio-SX1262 carte d’extension mais pas avec la carte capteur caméra Plug-in.

Gestion de l’alimentation
La carte supporte une alimentation USB Type-C en 5 V. Elle accepte aussi une alimentation directe par batterie Li-ion ou LiPo. Un circuit de charge intégré est inclus, avec un courant de charge pouvant atteindre 100 mA. La batterie doit être connectée via des pastilles de soudure au dos de la carte :

Le XIAO ESP32-S3-Plus propose plusieurs modes d’alimentation : actif, modem sleep, light sleep et deep sleep. Le courant en deep sleep peut descendre dans la gamme des microampères, permettant des conceptions basse consommation.
Caractéristiques physiques
La carte suit le facteur de forme standard XIAO. Elle mesure 21 x 17,8 x 5 mm. Elle utilise un espacement de 2,54 mm pour la plupart des broches GPIO, compatible avec les breadboards. Mais elle dispose aussi de 9 broches GPIO supplémentaires en pastilles SMD à pas de 1,27 mm et le verso inclut des pastilles de débogage.

Le layout comprend un bouton reset et un bouton boot. Il comporte aussi des LEDs de statut pour le contrôle utilisateur et l’indication de charge de batterie.
Spécifications techniques
Le tableau suivant résume les caractéristiques techniques du XIAO ESP32-S3-Plus :
| Paramètre | Spécification |
|---|---|
| Microcontrôleur | ESP32-S3R8, Xtensa LX7 dual-core, 32 bits |
| Fréquence CPU | Jusqu’à 240 MHz |
| Connectivité sans fil | Wi-Fi 2,4 GHz, Bluetooth 5.0, Bluetooth Mesh |
| Mémoire Flash | 16 Mo flash externe |
| PSRAM | 8 Mo |
| GPIO | Jusqu’à 20 GPIO (y compris pastilles arrière) |
| Entrées analogiques | Jusqu’à 9 canaux ADC |
| Interfaces de communication | 2× UART, 1× I2C, 1× I2S, 2× SPI |
| Interface USB | USB Type-C pour alimentation et programmation |
| Tension de fonctionnement | 5 V (USB), ~3,7–4,2 V (batterie) |
| Support batterie | Li-ion / LiPo avec charge intégrée |
| Courant de charge | Jusqu’à 100 mA |
| Consommation (Wi-Fi actif) | ~81 mA |
| Consommation (Deep Sleep) | ~33 µA |
| Modes d’alimentation | Actif, modem sleep, light sleep, deep sleep |
| Dimensions | 21 × 17,8 mm |
| Température de fonctionnement | -40 °C à 65 °C |
| Fonctionnalités supplémentaires | Connecteur B2B, bouton reset, bouton boot, LEDs de statut |
Installer le Core ESP32
Si vous souhaitez utiliser l’IDE Arduino pour programmer la carte, vous devez d’abord installer le Core ESP32 pour activer le support des cartes ESP32 dans l’IDE Arduino. Ouvrez votre Arduino IDE et suivez les étapes ci-dessous. En cas de problème, vous pouvez consulter des instructions plus détaillées dans notre tutoriel Install ESP32 core in Arduino IDE.
URLs supplémentaires pour le gestionnaire de cartes
Commencez par ouvrir la boîte de dialogue Préférences en sélectionnant « Preferences… » dans le menu « File » :

Cela ouvrira la boîte de dialogue Préférences ci-dessous. Sous l’onglet Settings, vous trouverez un champ d’édition en bas intitulé « Additional boards manager URLs » :

Dans ce champ, copiez l’URL suivante : « https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json«
Cela permettra à l’IDE Arduino de savoir où trouver les bibliothèques du core ESP32. Ensuite, nous allons installer ces bibliothèques via le Boards Manager.
Gestionnaire de cartes
Ouvrez le BOARDS MANAGER en cliquant sur l’icône de la carte dans la barre latérale de l’IDE Arduino :

Le BOARDS MANAGER apparaîtra à droite de la barre latérale. Tapez « ESP32 » dans le champ de recherche en haut et vous verrez deux types de cartes ESP32 : « Arduino ESP32 Boards » et « esp32 by Espressif ». Nous voulons les bibliothèques esp32 par Espressif. Cliquez sur INSTALL et attendez la fin du téléchargement et de l’installation.

Une fois installé, votre Boards Manager devrait ressembler à ceci, bien que la version (ici 3.3.7) puisse être différente.

À l’étape suivante, je vous montre comment sélectionner la carte ESP32 pour le XIAO ESP32-S3-Plus.
Sélectionner la carte XIAO_ESP32S3_PLUS
Vous pouvez sélectionner une carte dans le menu déroulant sous la barre de menu : dans l’exemple ci-dessous, c’est une Arduino Uno qui est sélectionnée :

Cliquer sur le nom de la carte sélectionnée (Arduino Uno) ouvrira la boîte de sélection de carte. Dans la zone de recherche, tapez « xiao s3 » et sélectionnez « XIAO_ESP32S3_PLUS » comme montré ci-dessous :

Si la carte est connectée à votre PC via USB, vous pourrez aussi sélectionner le port COM. Sur la capture d’écran, c’est COM9, mais cela peut être un autre port sur votre machine.
Exemples de code
Dans cette section, je vous propose quelques exemples de code pour tester les principales fonctionnalités du XIAO ESP32-S3-Plus.
Faire clignoter la LED intégrée
Nous commençons par l’exemple classique Blink. Il allume et éteint la LED intégrée pendant une seconde. La LED intégrée du XIAO ESP32-S3-Plus est connectée à GPIO21 mais est inversée. LOW signifie que la LED est allumée et HIGH qu’elle est éteinte. Vous pouvez voir cela dans l’exemple de code ci-dessous :
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
Serial.println("Off");
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
Serial.println("On");
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
Lire & écrire sur GPIO
Dans les exemples très courts suivants, nous lisons et écrivons sur les GPIO. Pour spécifier les broches dans le code, vous pouvez utiliser le numéro GPIO x ou le numéro Dx. Par exemple, selon le brochage, D3 ou GPIO4 identifient la même broche et dans votre code vous pouvez utiliser l’un ou l’autre. Les deux exemples de code suivants sont identiques en fonction et mettent GPIO4 à HIGH:
digitalWrite(D3, HIGH); // D3 == GPIO4
digitalWrite(4, HIGH); // D3 == GPIO4
Si vous souhaitez lire des signaux analogiques, vous pouvez utiliser les constantes prédéfinies Ax. Par exemple, le code suivant lit une entrée analogique sur A3, qui est la même broche que GPIO4:
int val = analogRead(A3); // A3 == GPIO4
int val = analogRead(4); // A3 == GPIO4
Les valeurs analogiques vont de 0 à 4095, ce qui correspond à une tension d’entrée entre 0 et 3,3 V.
Entrée tactile
Cet exemple montre comment utiliser les broches tactiles capacitives du XIAO ESP32-S3-Plus pour détecter un toucher. Si vous touchez la première broche (D0) de la carte, la LED intégrée s’allumera. Vous devrez peut-être ajuster le seuil de détection.
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
int value = touchRead(T1);
Serial.println(value);
if (value > 30000) {
digitalWrite(LED_BUILTIN, LOW);
} else {
digitalWrite(LED_BUILTIN, HIGH);
}
delay(200);
}
Wi-Fi
L’exemple suivant montre comment connecter le XIAO ESP32-S3-Plus à un réseau Wi-Fi. Cela fonctionnera sans antenne externe si vous êtes proche du routeur Wi-Fi. Mais pour une meilleure portée, il est conseillé d’installer l’antenne.
#include <WiFi.h>
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConnected");
Serial.println(WiFi.localIP());
}
void loop() {
}
Bluetooth
Ce dernier exemple montre comment créer un serveur Bluetooth Low Energy (BLE) simple.
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEServer.h>
void setup() {
Serial.begin(115200);
BLEDevice::init("XIAO-ESP32-S3");
BLEServer *pServer = BLEDevice::createServer();
BLEDevice::getAdvertising()->start();
Serial.println("BLE server started");
}
void loop() {
}
Vous pouvez vérifier si le serveur est actif en utilisant un scanner BLE sur votre téléphone. Les options courantes sont nRF Connect ou LightBlue. En lançant un scan, vous verrez apparaître « XIAO-ESP32-S3 ».
Conclusions
Ce post vous a montré comment démarrer avec le XIAO ESP32-S3-Plus de Seeed Studio. Seeed Studio fournit des informations supplémentaires dans son Wiki.
Comparé au XIAO ESP32-S3, le XIAO ESP32-S3-Plus offre plus de Flash et de broches GPIO. Cependant, il ne possède pas le microphone du XIAO MG24 Sense ni la caméra (et microphone) du XIAO-ESP32-S3-Sense. Si vous souhaitez enregistrer de l’audio ou diffuser de la vidéo, ces cartes sont un meilleur choix. Mais si vous avez besoin de plus de mémoire ou d’E/S, optez pour le XIAO ESP32-S3-Plus.
Si vous avez des questions, n’hésitez pas à les poser dans la section commentaires.
Bon bricolage 😉

