El XIAO ESP32-S3-Plus es una placa de microcontrolador compacta y potente diseñada para proyectos avanzados de embebidos e IoT. Está basada en el procesador dual-core ESP32-S3 que funciona hasta a 240 MHz. La placa incluye conectividad Wi-Fi y Bluetooth Low Energy integradas para aplicaciones inalámbricas.
En comparación con el XIAO ESP32-S3, mantiene el factor de forma pequeño pero añade más memoria y capacidades de E/S. La versión Plus cuenta con 16 MB de flash, 8 MB de PSRAM y 20 pines GPIO.
La placa soporta múltiples interfaces como UART, I2C, SPI e I2S. También incluye carga de batería integrada y modos de bajo consumo para una operación eficiente en energía.
En este tutorial aprenderás cómo programar el XIAO ESP32-S3-Plus usando el Arduino IDE.
Dónde Comprar
Puedes conseguir el XIAO ESP32-S3-Plus en Seeed Studio. También necesitarás un cable USB-C, si no tienes uno ya. Además, podría ser necesario un pequeño disipador si vas a ejecutar procesos intensivos en la placa.

XIAO ESP32-S3-Plus

Cable USB C

Pequeño disipador 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.
Características de la placa XIAO ESP32-S3 Plus
El XIAO ESP32-S3-Plus está basado en el microcontrolador ESP32-S3R8. Usa una CPU dual-core Xtensa LX7 con una velocidad de reloj de hasta 240 MHz. La imagen a continuación muestra el frente y la parte trasera de la placa.

El procesador es de 32 bits y está diseñado para cargas de trabajo embebidas e IoT. Soporta instrucciones vectoriales que mejoran el rendimiento en procesamiento de señales y tareas de IA.
La placa es compatible con frameworks de desarrollo comunes. Soporta Arduino, MicroPython y ESP-IDF.
Configuración de Memoria
La versión Plus ofrece una configuración de memoria amplia comparada con el modelo estándar. Incluye 16 MB de memoria flash externa. También integra 8 MB de PSRAM para manejo dinámico de datos.
Esta combinación permite aplicaciones más complejas. Soporta buffering, procesamiento de imágenes y cargas de trabajo de IA en el borde.
Conectividad Inalámbrica
La placa integra un subsistema Wi-Fi completo de 2.4 GHz. También soporta Bluetooth Low Energy 5.0 y Bluetooth Mesh. Se puede conectar una antena externa mediante una interfaz U.FL. Esto mejora el alcance y la estabilidad de la señal en diseños embebidos. La foto a continuación muestra la antena junto a la placa XIAO ESP32-S3-Plus:

GPIO e Interfaces
El XIAO ESP32-S3-Plus ofrece un conjunto ampliado de pines GPIO. Ofrece hasta 20 GPIOs. Pines adicionales están disponibles a través de pads castellados en la parte trasera de la placa. La siguiente imagen muestra el pinout del XIAO ESP32-S3-Plus:

La placa soporta múltiples interfaces de comunicación. Incluye dos interfaces UART, una I2C, una I2S y dos SPI. También proporciona entradas analógicas a través de canales ADC.
Se incluye un conector B2B para placas de expansión. Ten en cuenta que el conector B2B del XIAO ESP32-S3-Plus es compatible con la Wio-SX1262 placa de expansión pero no con la placa de sensor de cámara Plug-in.

Gestión de Energía
La placa soporta entrada de alimentación USB Tipo-C a 5 V. También soporta entrada directa de batería para celdas Li-ion o LiPo. Incluye un circuito integrado de carga de batería. La corriente de carga puede alcanzar hasta 100 mA. La batería debe conectarse mediante pads de soldadura en la parte trasera de la placa:

El XIAO ESP32-S3-Plus ofrece múltiples modos de energía. Estos incluyen activo, modem sleep, light sleep y deep sleep. La corriente en deep sleep puede alcanzar valores en el rango de microamperios, permitiendo diseños de bajo consumo.
Características Físicas
La placa sigue el factor de forma estándar XIAO. Mide 21 x 17.8 x 5 mm. Usa un espaciado de pines de 2.54 mm para la mayoría de los pines GPIO para compatibilidad con protoboards. Pero hay 9 pines GPIO adicionales con paso de 1.27 mm en castellación SMD y la parte trasera incluye pads para depuración.

El diseño incluye un botón de reset y un botón de boot. También cuenta con LEDs de estado para control de usuario e indicación de carga de batería.
Especificación Técnica
La siguiente tabla resume las características técnicas del XIAO ESP32-S3-Plus:
| Parámetro | Especificación |
|---|---|
| Microcontrolador | ESP32-S3R8, Xtensa LX7 dual-core, 32 bits |
| Frecuencia CPU | Hasta 240 MHz |
| Conectividad Inalámbrica | Wi-Fi 2.4 GHz, Bluetooth 5.0, Bluetooth Mesh |
| Memoria Flash | 16 MB flash externa |
| PSRAM | 8 MB |
| GPIO | Hasta 20 GPIOs (incluyendo pads traseros adicionales) |
| Entradas Analógicas | Hasta 9 canales ADC |
| Interfaces de Comunicación | 2× UART, 1× I2C, 1× I2S, 2× SPI |
| Interfaz USB | USB Tipo-C para alimentación y programación |
| Voltaje de Operación | 5 V (USB), ~3.7–4.2 V (batería) |
| Soporte de Batería | Li-ion / LiPo con carga integrada |
| Corriente de Carga | Hasta 100 mA |
| Consumo de Energía (Wi-Fi activo) | ~81 mA |
| Consumo de Energía (Deep Sleep) | ~33 µA |
| Modos de Energía | Activo, modem sleep, light sleep, deep sleep |
| Dimensiones | 21 × 17.8 mm |
| Temperatura de Operación | -40 °C a 65 °C |
| Características Adicionales | Conector B2B, botón de reset, botón de boot, LEDs de estado |
Instalar ESP32 Core
Si quieres usar el Arduino IDE para programar la placa, primero necesitas instalar el ESP32 Core para habilitar soporte para placas ESP32 dentro del Arduino IDE. Abre tu Arduino IDE y sigue los pasos indicados a continuación. Si tienes problemas, puedes encontrar instrucciones más detalladas en nuestro tutorial Install ESP32 core in Arduino IDE.
URLs adicionales para el gestor de placas
Primero abre el diálogo de Preferencias seleccionando «Preferences…» en el menú «File»:

Esto abrirá el diálogo de Preferencias mostrado abajo. En la pestaña Settings encontrarás un cuadro de edición en la parte inferior del diálogo etiquetado como «Additional boards manager URLs»:

En este campo copia la siguiente URL: «https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json«
Esto indicará al Arduino IDE dónde encontrar las librerías core del ESP32. A continuación instalaremos las librerías core del ESP32 usando el Gestor de Placas.
Gestor de Placas
Abre el BOARDS MANAGER haciendo clic en el icono de placa en la barra lateral del Arduino IDE:

Verás el BOARDS MANAGER aparecer a la derecha de la barra lateral. Escribe «ESP32» en el campo de búsqueda en la parte superior y deberías ver dos tipos de placas ESP32; las «Arduino ESP32 Boards» y las placas «esp32 by Espressif». Queremos las librerías esp32 de Espressif. Haz clic en el botón INSTALL y espera a que la descarga e instalación finalicen.

Una vez instalado, tu Gestor de Placas debería verse así, aunque la versión real (aquí 3.3.7) podría ser diferente.

En el siguiente paso, te muestro cómo seleccionar la placa ESP32 para el XIAO ESP32-S3-Plus.
Seleccionar placa XIAO_ESP32S3_PLUS
Puedes seleccionar una placa desde el selector desplegable bajo la barra de menú: en el ejemplo abajo se muestra Arduino Uno como placa seleccionada, por ejemplo:

Al hacer clic en el nombre de la placa actualmente seleccionada (Arduino Uno), se abrirá el diálogo de selección de placa. En el cuadro de búsqueda escribe «xiao s3» y selecciona «XIAO_ESP32S3_PLUS» como se muestra abajo:

Si la placa está conectada a tu PC vía USB, también deberías poder seleccionar el puerto COM. En la captura de pantalla arriba es COM9 pero en tu caso podría ser otro puerto COM.
Ejemplos de Código
En esta sección, te proporcionaré algunos ejemplos de código para probar las principales características del XIAO ESP32-S3-Plus.
Parpadeo del LED integrado
Comenzamos con el común Blink ejemplo. Enciende y apaga el LED integrado durante un segundo. El LED integrado del XIAO ESP32-S3-Plus está conectado al GPIO21 pero está invertido. LOW significa que el LED está encendido y HIGH que está apagado. Puedes ver esto en el ejemplo de código abajo:
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);
}
Leer y Escribir GPIO
En los siguientes ejemplos muy cortos, leemos y escribimos GPIO. Para especificar pines en el código puedes usar el número GPIO x o el número Dx. Por ejemplo, según el pinout, D3 o GPIO4 identifican el mismo pin y en tu código puedes usar cualquiera de los dos. Los siguientes dos ejemplos de código son idénticos en función y configuran GPIO4 a HIGH:
digitalWrite(D3, HIGH); // D3 == GPIO4
digitalWrite(4, HIGH); // D3 == GPIO4
Si quieres leer señales analógicas puedes usar las constantes predefinidas Ax. Por ejemplo, el siguiente código lee una entrada analógica de A3, que es el mismo pin que GPIO4:
int val = analogRead(A3); // A3 == GPIO4
int val = analogRead(4); // A3 == GPIO4
Los valores analógicos van de 0 a 4095, lo que equivale a un voltaje en la entrada entre 0 y 3.3V.
Entrada táctil
Este ejemplo demuestra cómo usar los pines táctiles capacitivos del XIAO ESP32-S3-Plus para detectar entradas táctiles. Si tocas el primer pin (D0) de la placa, el LED integrado se encenderá. Puede que tengas que ajustar el umbral de detección.
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
El siguiente ejemplo muestra cómo conectar el XIAO ESP32-S3-Plus a una red Wi-Fi. Esto funcionará sin la antena externa si estás cerca del router Wi-Fi. Pero para mejor alcance deberías instalar la antena.
#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
Este último ejemplo demuestra cómo crear un servidor 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() {
}
Puedes comprobar si el servidor está activo usando un escáner BLE en tu teléfono. Opciones comunes son nRF Connect o LightBlue. Si inicias un escaneo, verás aparecer «XIAO-ESP32-S3».
Conclusiones
Este post te mostró cómo empezar con el Seeed Studio XIAO ESP32-S3-Plus. Seeed Studio proporciona información adicional en su Wiki.
En comparación con el XIAO ESP32-S3, el XIAO ESP32-S3-Plus tiene más Flash y pines GPIO. Sin embargo, carece del micrófono del XIAO MG24 Sense o de la cámara (y micrófono) del XIAO-ESP32-S3-Sense. Si quieres grabar audio o transmitir vídeo, estas placas son una mejor opción. Pero si necesitas más memoria o E/S, elige el XIAO ESP32-S3-Plus.
Si tienes alguna pregunta, no dudes en dejarla en la sección de comentarios.
¡Feliz bricolaje! 😉

