Das XIAO ESP32-S3-Plus ist ein kompaktes und leistungsstarkes Mikrocontroller-Board, das für fortgeschrittene Embedded- und IoT-Projekte entwickelt wurde. Es basiert auf dem ESP32-S3 Dual-Core-Prozessor mit bis zu 240 MHz Taktfrequenz. Das Board verfügt über integriertes Wi-Fi und Bluetooth Low Energy für drahtlose Anwendungen.
Im Vergleich zum XIAO ESP32-S3 behält es die kleine Bauform bei, bietet jedoch mehr Speicher und erweiterte I/O-Fähigkeiten. Die Plus-Version verfügt über 16 MB Flash, 8 MB PSRAM und 20 GPIO-Pins.
Das Board unterstützt mehrere Schnittstellen wie UART, I2C, SPI und I2S. Außerdem sind integriertes Batterieladen und Energiesparmodi für einen energieeffizienten Betrieb enthalten.
In diesem Tutorial lernst du, wie du das XIAO ESP32-S3-Plus mit der Arduino IDE programmierst.
Wo kaufen
Das XIAO ESP32-S3-Plus kannst du bei Seeed Studio erwerben. Du benötigst außerdem ein USB-C-Kabel, falls du noch keines hast. Für rechenintensive Anwendungen auf dem Board könnte auch ein kleiner Kühlkörper nötig sein.

XIAO ESP32-S3-Plus

USB C Kabel

Kleiner Kühlkörper 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.
Eigenschaften des XIAO ESP32-S3 Plus Boards
Das XIAO ESP32-S3-Plus basiert auf dem ESP32-S3R8 Mikrocontroller. Es verwendet eine Dual-Core Xtensa LX7 CPU mit einer Taktfrequenz von bis zu 240 MHz. Das Bild unten zeigt Vorder- und Rückseite des Boards.

Der Prozessor ist 32-Bit und für Embedded- und IoT-Anwendungen konzipiert. Er unterstützt Vektor-Instruktionen, die die Leistung bei Signalverarbeitung und KI-Aufgaben verbessern.
Das Board ist kompatibel mit gängigen Entwicklungsframeworks. Es unterstützt Arduino, MicroPython und ESP-IDF.
Speicherkonfiguration
Die Plus-Version bietet eine größere Speicherkonfiguration im Vergleich zum Standardmodell. Sie verfügt über 16 MB externen Flash-Speicher und integriert 8 MB PSRAM für die dynamische Datenverarbeitung.
Diese Kombination ermöglicht komplexere Anwendungen wie Pufferung, Bildverarbeitung und Edge-AI-Workloads.
Drahtlose Konnektivität
Das Board integriert ein vollständiges 2,4-GHz-Wi-Fi-Subsystem. Es unterstützt außerdem Bluetooth Low Energy 5.0 und Bluetooth Mesh. Eine externe Antenne kann über eine U.FL-Schnittstelle angeschlossen werden, was Reichweite und Signalstabilität in Embedded-Designs verbessert. Das Foto unten zeigt die Antenne neben dem XIAO ESP32-S3-Plus Board:

GPIO und Schnittstellen
Das XIAO ESP32-S3-Plus bietet eine erweiterte Anzahl an GPIO-Pins. Es stellt bis zu 20 GPIOs bereit. Weitere Pins sind über castellated Pads auf der Rückseite des Boards zugänglich. Das folgende Bild zeigt das Pinout des XIAO ESP32-S3-Plus:

Das Board unterstützt mehrere Kommunikationsschnittstellen. Es verfügt über zwei UART-Schnittstellen, eine I2C-Schnittstelle, eine I2S-Schnittstelle und zwei SPI-Schnittstellen. Außerdem sind analoge Eingänge über ADC-Kanäle vorhanden.
Ein B2B-Steckverbinder ist für Erweiterungsboards enthalten. Beachte, dass der B2B-Steckverbinder des XIAO ESP32-S3-Plus mit dem Wio-SX1262 Erweiterungsboard kompatibel ist, jedoch nicht mit dem Plug-in Kamera-Sensor-Board.

Stromversorgung
Das Board unterstützt USB Type-C als 5 V Stromversorgung. Es unterstützt auch den direkten Batteriebetrieb mit Li-Ion- oder LiPo-Zellen. Ein integrierter Batterieladekreis ist enthalten. Der Ladestrom kann bis zu 100 mA erreichen. Die Batterie muss über Lötpads auf der Rückseite des Boards angeschlossen werden:

Das XIAO ESP32-S3-Plus bietet mehrere Energiemodi, darunter aktiv, Modem-Schlaf, Leichtschlaf und Tiefschlaf. Der Tiefschlafstrom kann im Mikroampere-Bereich liegen, was energiesparende Designs ermöglicht.
Physikalische Eigenschaften
Das Board folgt dem Standard-XIAO-Formfaktor. Es misst 21 x 17,8 x 5 mm. Die meisten GPIO-Pins haben einen Pinabstand von 2,54 mm für Breadboard-Kompatibilität. Zusätzlich gibt es 9 GPIO-Pins mit 1,27 mm Pitch SMD-Castellation, und die Rückseite enthält Debugging-Pads.

Das Layout umfasst einen Reset-Button und einen Boot-Button. Außerdem sind Status-LEDs für Benutzerkontrolle und Batterieladeanzeige vorhanden.
Technische Spezifikationen
Die folgende Tabelle fasst die technischen Merkmale des XIAO ESP32-S3-Plus zusammen:
| Parameter | Spezifikation |
|---|---|
| Mikrocontroller | ESP32-S3R8, Xtensa LX7 Dual-Core, 32-Bit |
| CPU-Frequenz | Bis zu 240 MHz |
| Drahtlose Konnektivität | 2,4 GHz Wi-Fi, Bluetooth 5.0, Bluetooth Mesh |
| Flash-Speicher | 16 MB externer Flash |
| PSRAM | 8 MB |
| GPIO | Bis zu 20 GPIOs (inklusive zusätzlicher Pads auf der Rückseite) |
| Analoge Eingänge | Bis zu 9 ADC-Kanäle |
| Kommunikationsschnittstellen | 2× UART, 1× I2C, 1× I2S, 2× SPI |
| USB-Schnittstelle | USB Type-C für Stromversorgung und Programmierung |
| Betriebsspannung | 5 V (USB), ~3,7–4,2 V (Batterie) |
| Batterieunterstützung | Li-Ion / LiPo mit integriertem Laden |
| Ladestrom | Bis zu 100 mA |
| Stromverbrauch (Aktives Wi-Fi) | ~81 mA |
| Stromverbrauch (Tiefschlaf) | ~33 µA |
| Energiesparmodi | Aktiv, Modem-Schlaf, Leichtschlaf, Tiefschlaf |
| Abmessungen | 21 × 17,8 mm |
| Betriebstemperatur | -40 °C bis 65 °C |
| Zusätzliche Merkmale | B2B-Steckverbinder, Reset-Button, Boot-Button, Status-LEDs |
ESP32 Core installieren
Wenn du das Board mit der Arduino IDE programmieren möchtest, musst du zuerst den ESP32 Core installieren, um die Unterstützung für ESP32-Boards in der Arduino IDE zu aktivieren. Öffne deine Arduino IDE und folge den unten beschriebenen Schritten. Bei Problemen findest du detailliertere Anleitungen in unserem Tutorial Install ESP32 core in Arduino IDE.
Zusätzliche URLs für den Boards Manager
Öffne zuerst den Preferences-Dialog, indem du im „File“-Menü „Preferences…“ auswählst:

Es öffnet sich der unten gezeigte Preferences-Dialog. Unter dem Tab „Settings“ findest du unten ein Eingabefeld mit der Bezeichnung „Additional boards manager URLs“:

Füge in dieses Feld die folgende URL ein: „https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json„
Damit weiß die Arduino IDE, wo sie die ESP32 Core-Bibliotheken findet. Im nächsten Schritt installieren wir die ESP32 Core-Bibliotheken über den Boards Manager.
Boards Manager
Öffne den BOARDS MANAGER, indem du auf das Board-Symbol in der Seitenleiste der Arduino IDE klickst:

Der BOARDS MANAGER erscheint rechts neben der Seitenleiste. Gib oben im Suchfeld „ESP32“ ein. Du solltest zwei Arten von ESP32-Boards sehen: „Arduino ESP32 Boards“ und „esp32 by Espressif“. Wir wollen die esp32-Bibliotheken von Espressif. Klicke auf INSTALL und warte, bis der Download und die Installation abgeschlossen sind.

Nach der Installation sollte dein Boards Manager so aussehen, wobei die tatsächliche Version (hier 3.3.7) abweichen kann.

Im nächsten Schritt zeige ich dir, wie du das ESP32-Board für das XIAO ESP32-S3-Plus auswählst.
XIAO_ESP32S3_PLUS Board auswählen
Du kannst ein Board über den Dropdown-Selector unter der Menüleiste auswählen. Im Beispiel unten ist ein Arduino Uno als Board ausgewählt:

Wenn du auf den Namen des aktuell ausgewählten Boards (Arduino Uno) klickst, öffnet sich der Board-Auswahldialog. Gib im Suchfeld „xiao s3“ ein und wähle „XIAO_ESP32S3_PLUS“ wie unten gezeigt aus:

Wenn das Board per USB mit deinem PC verbunden ist, solltest du auch den COM-Port auswählen können. Im Screenshot oben ist es COM9, bei dir kann es ein anderer COM-Port sein.
Code-Beispiele
In diesem Abschnitt stelle ich dir einige Code-Beispiele vor, mit denen du die Hauptfunktionen des XIAO ESP32-S3-Plus ausprobieren kannst.
Onboard-LED blinken lassen
Wir beginnen mit dem üblichen Blink Beispiel. Es schaltet die Onboard-LED für eine Sekunde ein und aus. Die Onboard-LED des XIAO ESP32-S3-Plus ist mit GPIO21 verbunden, ist aber invertiert. LOW bedeutet LED an, HIGH bedeutet LED aus. Das siehst du im folgenden Code-Beispiel:
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);
}
GPIO lesen & schreiben
In den folgenden kurzen Beispielen lesen und schreiben wir GPIO. Zur Pin-Spezifikation im Code kannst du die GPIO x Nummer oder die Dx Nummer verwenden. Laut Pinout identifizieren D3 oder GPIO4 denselben Pin, und im Code kannst du beide verwenden. Die folgenden zwei Code-Beispiele sind funktional identisch und setzen GPIO4 auf HIGH:
digitalWrite(D3, HIGH); // D3 == GPIO4
digitalWrite(4, HIGH); // D3 == GPIO4
Wenn du analoge Signale lesen möchtest, kannst du die vordefinierten Ax Konstanten verwenden. Zum Beispiel liest der folgende Code einen analogen Eingang von A3, was dem GPIO4 Pin entspricht:
int val = analogRead(A3); // A3 == GPIO4
int val = analogRead(4); // A3 == GPIO4
Analoge Werte liegen im Bereich von 0 bis 4095, was einer Eingangsspannung zwischen 0 und 3,3 V entspricht.
Touch-Eingabe
Dieses Beispiel zeigt, wie du die kapazitiven Touch-Pins des XIAO ESP32-S3-Plus zur Erkennung von Berührungen nutzt. Wenn du den ersten Pin (D0) des Boards berührst, schaltet sich die eingebaute LED ein. Möglicherweise musst du den Erkennungsschwellenwert anpassen.
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
Das folgende Beispiel zeigt, wie du das XIAO ESP32-S3-Plus mit einem Wi-Fi-Netzwerk verbindest. Das funktioniert auch ohne externe Antenne, wenn du nahe am Router bist. Für bessere Reichweite solltest du jedoch die Antenne installieren.
#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
Das letzte Beispiel zeigt, wie du einen einfachen Bluetooth Low Energy (BLE) Server erstellst.
#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() {
}
Du kannst prüfen, ob der Server aktiv ist, indem du einen BLE-Scanner auf deinem Handy verwendest. Übliche Apps sind nRF Connect oder LightBlue. Wenn du einen Scan startest, erscheint „XIAO-ESP32-S3“.
Fazit
Dieser Beitrag hat dir gezeigt, wie du mit dem Seeed Studio XIAO ESP32-S3-Plus startest. Seeed Studio bietet weitere Informationen in seinem Wiki.
Im Vergleich zum XIAO ESP32-S3 hat das XIAO ESP32-S3-Plus mehr Flash und GPIO-Pins. Allerdings fehlt das Mikrofon des XIAO MG24 Sense bzw. die Kamera (und das Mikrofon) des XIAO-ESP32-S3-Sense. Wenn du Audio aufnehmen oder Video streamen möchtest, sind diese Boards besser geeignet. Brauchst du jedoch mehr Speicher oder I/O, ist das XIAO ESP32-S3-Plus die bessere Wahl.
Wenn du Fragen hast, kannst du sie gerne im Kommentarbereich stellen.
Viel Spaß beim Tüfteln 😉

