Un ESP32 del tamaño de una uña con WiFi 6 doble banda
Seeed Studio rompió la cronología típica de Espressif: después del XIAO ESP32 C3, en lugar de ir al C5 vino el C6, y ahora finalmente llega el C5. ¿Confuso? Sí. ¿Vale la pena entenderlo? También sí. El XIAO ESP32 C5 es el primer XIAO con WiFi 6 de doble banda (2.4 + 5 GHz), Bluetooth 5, Zigbee, Thread y Matter en un formato de 21×17.8 mm. Es el más capaz de la familia para proyectos IoT modernos en espacios ultracompactos.
Inspirado en la guía de inicio de Engr. Shahzada Fahad (Electronic Clinic), este tutorial no repite especificación por especificación. En cambio, te muestra cuándo elegir el C5 sobre el C3 o el C6, te lleva por el setup en Arduino IDE, y te deja con dos sketches útiles (OLED + relés) que puedes correr en cualquiera de los tres XIAO sin cambiar el código.
¿C3, C6 o C5? La decisión en 30 segundos
| Característica | XIAO ESP32 C3 | XIAO ESP32 C6 | XIAO ESP32 C5 |
|---|---|---|---|
| WiFi | 2.4 GHz solo | 2.4 GHz + WiFi 6 | 2.4 + 5 GHz WiFi 6 |
| Bluetooth | 5.0 LE | 5.0 LE | 5.0 LE |
| Thread/Zigbee/Matter | No | Sí | Sí |
| RAM SRAM | 400 KB | 512 KB | 384 KB + 16 KB RTC |
| PSRAM | No | No | 8 MB |
| Flash | 4 MB | 4 MB | 8 MB |
| Reloj core | 160 MHz | 160 MHz | 240 MHz |
| Precio (Seeed) | ~US$ 5 | ~US$ 6 | ~US$ 7 |

Reglas rápidas:
- Si tu proyecto sólo manda datos a 2.4 GHz y no necesita Matter, el C3 es el más barato y maduro.
- Si necesitas integrar con Apple Home o Google Home vía Matter, o redes Thread/Zigbee, va el C6.
- Si tu router 5 GHz tiene mucho mejor cobertura y ancho de banda que el 2.4 GHz, o vas a hacer streaming pesado, o quieres PSRAM de 8 MB para guardar buffers grandes (frame buffers de cámara, audio), elige el C5.
La gran ventaja de toda la familia XIAO es que comparten el mismo footprint y el mismo orden de pines, así que la decisión es casi puramente de feature contra precio.

Recibiendo el C5
El packaging de Seeed para el C5 viene en una caja redonda con la antena PCB flexible enrollada alrededor del módulo central. Los headers macho de 2.54 mm vienen soldados de fábrica, lo que ahorra unos 15 minutos y el riesgo de soldar mal los pines.

Importante: la antena flexible viene desconectada. Conéctala al puerto U.FL del XIAO antes de energizar. Si arrancas sin antena, el alcance WiFi es de centímetros y vas a creer que el módulo está fallado. En la cara frontal vas a reconocer el puerto USB C, el LED de carga, el LED de usuario, el botón reset, el botón de usuario y el conector IPEX de la antena.

Pinout (corto y útil)
| XIAO Pin | GPIO chip | Función principal |
|---|---|---|
| D0 | GPIO1 | ADC, LP_GPIO |
| D1 | GPIO0 | LP_GPIO |
| D2 | GPIO25 | GPIO |
| D3 | GPIO7 | SDIO_DATA1 |
| D4 | GPIO23 | SDA (I²C) |
| D5 | GPIO24 | SCL (I²C) |
| D6 | GPIO11 | TX (UART) |
| D7 | GPIO12 | RX (UART) |
| D8 | GPIO8 | SCK (SPI) |
| D9 | GPIO9 | MISO (SPI) |
| D10 | GPIO10 | MOSI (SPI) |
Los pines siguen el "espíritu XIAO": mismo footprint que el C3 y el C6, así que cualquier shield XIAO debería funcionar. Salvedad importante: las funciones específicas pueden variar (por ejemplo, JTAG en pines distintos), revisa siempre la tabla oficial para tu revisión de placa.

Setup en Arduino IDE
- Arduino IDE 2.x (la 1.8.x está obsoleta, no la uses).
- File → Preferences → Additional Boards URLs: agrega
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - Tools → Board → Boards Manager: instala esp32 by Espressif Systems versión 3.0.x o más reciente (el C5 requiere v3+, no aparece en v2.x).
- Tools → Board → ESP32 Arduino: selecciona XIAO_ESP32C5.

Si el XIAO_ESP32C5 no aparece en la lista pese a tener v3.x instalada, asegúrate de actualizar la package URL: algunas instalaciones cachean el JSON. Fuerza una actualización borrando
~/Library/Arduino15/staging/packages/(Mac) o el equivalente en tu sistema.
Sketch 1 · OLED SSD1306 (el "hola mundo" con display)
Mismo código que en cualquier ESP32. SDA = D4, SCL = D5.
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(115200);
Wire.begin();
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("OLED no encontrado");
for (;;);
}
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0, 16);
display.println("XIAO");
display.setCursor(0, 40);
display.println("ESP32-C5");
display.display();
}
void loop() {}

Sketch 2 · Relés SPDT (mismo código que C3 y C6)
int relays[] = {D0, D2, D8, D10};
void setup() {
Serial.begin(115200);
for (int r : relays) pinMode(r, OUTPUT);
}
void loop() {
for (int r : relays) {
digitalWrite(r, HIGH);
Serial.printf("Relay %d ON\n", r);
delay(500);
digitalWrite(r, LOW);
delay(500);
}
}

¿Por qué importa que sea el mismo código? Porque la mayor ventaja del XIAO es portabilidad de proyecto. Diseña tu carcasa, tu shield y tu firmware una sola vez, y elige el XIAO específico al final según el costo o el feature que necesites.
Variantes y mejoras
- Accesorio Matter con el C5. Usa el SDK
esp-mattery expón un endpoint OnOff al accesorio. Queda compatible con Apple Home o Google Home directo, sin nube ni gateway. - Streaming de cámara HM01B0 en 5 GHz. La PSRAM de 8 MB sumada al WiFi 6 en 5 GHz hace viable streaming de cámara monocromática 320×240 a 15 FPS, algo que al C3 le costaba.
- OTA en doble banda. En lugar de mandar firmware por 2.4 GHz (con todos los vecinos compitiendo), aprovecha el 5 GHz para updates rápidos sin caer la red de tus sensores 2.4.
- Battery shield XIAO. Suma un módulo TP4056 y una batería LiPo al footprint XIAO para hacer el dispositivo portátil con carga por USB C.
Personalización para Chile (MechatronicStore)
El XIAO ESP32 C5 todavía no está extendido en distribuidores locales (lo compras directo en Seeed Studio o AliExpress). Mientras tanto, los componentes de soporte de los dos sketches sí los tienes en stock:
- Pantalla OLED SSD1306 0.91" (SKU D-112): exactamente el módulo usado en el sketch 1.
- Protoboard 830 puntos (SKU C-302): soporte físico, ya que el XIAO no se monta directo y requiere headers o un shield.
- Cables macho a macho 20 cm (SKU C-411) y macho a hembra 10 cm (SKU C-415): para cablear los módulos externos.
Recuerda que el C5 se programa por USB C, no por micro USB, así que ten a mano el cable correcto.
Recursos
- Tutorial original: XIAO ESP32-C5: Master Dual-Band Wi-Fi 6 & Tiny IoT Projects
- Seeed wiki XIAO ESP32-C5: https://wiki.seeedstudio.com/xiao_esp32c5_getting_started/
- Arduino ESP32: https://github.com/espressif/arduino-esp32
- esp-matter SDK: https://github.com/espressif/esp-matter
Versión chilena con componentes en stock local en MechatronicStore.






