Conectando XIAO ESP32-C5 a Home Assistant
Este tutorial wiki demostrará cómo conectar el Seeed Studio XIAO ESP32-C5 a Home Assistant, así como cómo controlar dispositivos o transmitir datos después de conectar módulos Grove al XIAO ESP32-C5. ¡Así que comencemos!
Introducción a Home Assistant
Home Assistant es una potente plataforma de automatización del hogar de código abierto que te permite controlar y monitorear tus dispositivos domésticos inteligentes desde una interfaz única y unificada. Actúa como el centro central de tu hogar inteligente, permitiéndote automatizar rutinas, monitorear sensores y crear un espacio de vida más inteligente.

Integración con ESPHome
ESPHome es una herramienta de creación de firmware de código abierto diseñada específicamente para dispositivos ESP8266 / ESP32. Te permite crear firmware personalizado usando archivos de configuración YAML simples, que luego pueden ser flasheados a tu dispositivo.

Método 1: Usando ESPHome
Este ejemplo se conectará a Home Assistant a través de ESPHome.
Preparación del Hardware
Necesitas preparar los elementos listados en la tabla.
| Seeed Studio XIAO ESP32-C5 | Seeed Studio Grove Base para XIAO | Grove - LED Rojo |
|---|---|---|
![]() | ![]() | ![]() |
Instalar el Firmware
Si no has configurado Home Assistant, puedes hacer clic en este enlace y seguir el tutorial oficial de Home Assistant para completar la configuración.Instalación de Home Assistant
Paso 1. Instalar ESPhome
Si ya has instalado ESPHome, puedes omitir este paso.
- Ve a Settings -> Add-ons

- ADD-ON STORE -> Search ESPHome


- Iniciar ESPhome

Asegúrate de que la versión de ESPHome que has instalado sea mayor o igual a 25.11.5; de lo contrario, puede que no soporte el XIAO ESP32-C5.
Paso 2. Agregar nuevo dispositivo
Ve a ESPHome, y haz clic en el botón Add New Device en la parte inferior derecha.

Agrega un nuevo dispositivo y nómbralo XIAO ESP32-C5.



Paso 3. Instalar firmware
Configuración de Archivo YAML de Referencia
Necesitas modificar los parámetros para que coincidan con los de tu dispositivo, como la clave API, SSID, contraseña, etc. Además, el XIAO ESP32-C5 soporta WiFi de banda dual (2.4 GHz y 5 GHz), lo que significa que puedes conectarlo al router de 5 GHz en tu hogar.
esphome:
name: xiao-esp32-c5
friendly_name: XIAO ESP32-C5
esp32:
board: esp32-c5-devkitc-1
variant: esp32c5
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key:
ota:
- platform: esphome
password:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Xiao-Esp32-C5 Fallback Hotspot"
password:
captive_portal:
# Example configuration entry
output:
- platform: gpio
pin: GPIO1
id: led_gpio_output
inverted: false
switch:
- platform: output
name: "LED Switch"
output: led_gpio_output
id: dev_board_led

Haz clic en INSTALL para instalar el código en el dispositivo y verás la siguiente imagen.

- Instalar a través del navegador
- Instalar a través del host
- Instalar a través de Wi-Fi
Si tu Host de Home Assistant (Raspberry PI/Green/Yellow etc.) está lejos de ti, recomendamos usar este método. Puedes instalarlo con la computadora que tengas a mano.
Primero, necesitas hacer clic en Manual download para descargar el firmware compilado.

Abre este sitio web donde subiremos el firmware al XIAO ESP32-C5.
ESPHome dashboard_install

Regresa a ESPHome para descargar el firmware.

Selecciona formato Factory.

Usa un cable USB para conectar el dispositivo a tu computadora y haz clic en CONNECT.
ESPHome dashboard_install

Selecciona usbmodemxxx(Windows es COMxxx) y haz clic en connect.

Haz clic en INSTALL y selecciona el firmware que acabas de descargar.

Si tu Host de Home Assistant (Raspberry PI/Green/Yellow etc.) está cerca, recomendamos usar este método ya que es más simple.
Antes de instalar el código en el dispositivo, necesitas usar un cable USB para conectar este dispositivo a tu Raspberry Pi o HA Green(Yellow) etc que esté ejecutando Home Assistant.
Haz clic en las opciones siguiendo la imagen para instalar el código en el dispositivo.


Espera un momento y verás la retroalimentación como en la siguiente imagen. Significa que el código se está ejecutando exitosamente.

Esta es la forma más simple, pero con la premisa de que al instalar el programa por primera vez, primero debes subir el programa al Panel ePaper usando el método de la izquierda. Después de eso, puedes subirlo vía wifi. También, asegúrate de que tu configuración YAML incluya secciones ota y api configuradas correctamente con claves de cifrado válidas para que este método funcione.
De esta manera, no necesitas conectar el XIAO ESP32-C5 a nada, solo asegúrate de que esté en línea.
Haz clic en la opción y luego el firmware se instalará automáticamente en el panel ePaper.

Espera un momento y verás la retroalimentación como en la siguiente imagen. Si falla, puede ser debido a una señal débil. Por favor mueve el dispositivo más cerca de tu router.

Paso 4. Agregar Dispositivo
-
Navega a Settings → Devices & services

-
ESPHome Device -> Add.

-
Si has optado por agregar una clave secreta, necesitas ingresarla, la cual se puede encontrar en el archivo YAML que creaste.

-
La siguiente pantalla se mostrará después de una adición exitosa.

Mostrar en el Panel de Control
Paso 1. Abre Overview -> Haz clic en Edit en la esquina superior derecha

Paso 2. Crea una sección y nómbrala LED Control -> Agrega la Tarjeta

Paso 3. Agregar por entidad -> Buscar XIAO ESP32-C5 -> Continuar

Paso 4. Selecciona Add to dashboard en la ventana emergente -> Haz clic en Done en la esquina superior derecha para completar la adición.

-
Los efectos son los siguientes:


Método 2: Seeed Home Assistant Discovery
- Seeed HA Discovery es una solución completa para conectar fácilmente dispositivos ESP32/nRF52840 a Home Assistant, proporcionada por Seeed Studio.
- Con solo unas pocas líneas de código en Arduino IDE o PlatformIO para tus placas de desarrollo de la serie XIAO, puedes conectarte a Home Assistant vía WiFi o BLE.
- Aquí usaremos un ejemplo de lectura de un sensor de temperatura y humedad de invernadero para mostrarte cómo usar Seeed Home Assistant Discovery para conectar el XIAO ESP32-C5 a Home Assistant.
Preparación del Hardware
| Seeed Studio XIAO ESP32-C5 | Seeed Studio Grove Base para XIAO | Grove - Sensor de Temperatura y Humedad (DHT11) |
|---|---|---|
![]() | ![]() | ![]() |
Instalar HACS Instagram
Antes de agregar la integración Seeed Home Assistant Discovery, necesitas instalar HACS primero.
Pasos de Instalación:
- Settings -> Devices & services -> Add integration -> Buscar HACS

- Selecciona todas las opciones -> Submit

-
Haz clic en el hipervínculo y copia el código de activación dentro de él.
-
Ingresa el código de activación mencionado anteriormente
-
Regresa a HomeAssistant -> Developer tools -> Reboot system

- La barra de navegación izquierda muestra HACS

Instalar Integración
- Instalación con Un Clic vía HACS (Recomendado)
-
Abre HACS -> Integrations:
-
Haz clic en el ícono ⋮ en la esquina superior derecha -> Custom repositories
-
Ingresa
https://github.com/limengdu/Seeed-Homeassistant-Discovery, selecciona categoría Integration -
Haz clic en Add, luego busca Seeed HA Discovery e instala
-
Reinicia Home Assistant
Instalar Biblioteca de Arduino
Instalar la Biblioteca de Dependencia WiFi
- Para Arduino IDE
- Descarga la carpeta
arduino/SeeedHADiscovery
-
Copiar a
C:\Users\yourname\Documents\Arduino\libraries\ -
ArduinoJson (por Benoit Blanchon)

- WebSockets (por Markus Sattler)

- Para PlatformIO
lib_deps =
bblanchon/ArduinoJson@^7.0.0
links2004/WebSockets@^2.4.0
Instalar la Biblioteca de Dependencias BLE
- Para Arduino IDE
-
Descargar la carpeta
arduino/SeeedHADiscoveryBLE -
Copiar a
C:\Users\yourname\Documents\Arduino\libraries\
- NimBLE-Arduino

- Para PlatformIO
lib_deps =
h2zero/NimBLE-Arduino@^1.4.0
Escribir Programa Arduino
Elige la versión correspondiente según tus necesidades reales.
- Código Versión WiFi
- Código Versión BLE
#include <SeeedHADiscovery.h>
const char* WIFI_SSID = "Your WiFi Name";
const char* WIFI_PASSWORD = "Your WiFi Password";
SeeedHADiscovery ha;
SeeedHASensor* tempSensor;
SeeedHASensor* humiditySensor;
void setup() {
Serial.begin(115200);
ha.setDeviceInfo("Living Room Sensor", "ESP32-C5", "1.0.0");
ha.enableDebug(true);
if (!ha.begin(WIFI_SSID, WIFI_PASSWORD)) {
Serial.println("WiFi connection failed!");
while (1) delay(1000);
}
tempSensor = ha.addSensor("temperature", "Temperature", "temperature", "°C");
tempSensor->setPrecision(1);
humiditySensor = ha.addSensor("humidity", "Humidity", "humidity", "%");
humiditySensor->setPrecision(0);
}
void loop() {
ha.handle();
static unsigned long lastUpdate = 0;
if (millis() - lastUpdate > 5000) {
lastUpdate = millis();
tempSensor->setValue(25.5);
humiditySensor->setValue(55);
}
}
Después de subir el código, abre el monitor serie. Una vez que la conexión WiFi sea exitosa, se imprimirá la dirección IP correspondiente.

XIAO ESP-C5 soporta WiFi de banda dual (2.4 GHz y 5 GHz).
Si encuentras que la configuración manual de red es demasiado engorrosa, también puedes usar la página web de flasheo de firmware que lanzamos.: Web Firmware Flasher
#include <SeeedHADiscoveryBLE.h>
SeeedHADiscoveryBLE ble;
SeeedBLESensor* tempSensor;
SeeedBLESensor* humiditySensor;
SeeedBLESensor* batterySensor;
void setup() {
Serial.begin(115200);
ble.enableDebug(true);
if (!ble.begin("XIAO Temperature Sensor")) {
Serial.println("BLE initialization failed!");
while (1) delay(1000);
}
// Use BTHome standard sensor types
tempSensor = ble.addTemperature();
humiditySensor = ble.addHumidity();
batterySensor = ble.addBattery();
}
void loop() {
// Set sensor values
tempSensor->setValue(25.5f); // Temperature 25.5°C
humiditySensor->setValue(55.0f); // Humidity 55%
batterySensor->setValue(100.0f); // Battery 100%
// Send BLE broadcast
ble.advertise();
// Wait 10 seconds (BLE is suitable for low frequency updates)
delay(10000);
}
Después de subir el código, abre el monitor serie, y se mostrará la información Bluetooth del XIAO ESP32-C5.

Agregar Dispositivo en Home Assistant
- Dispositivo WiFi
- Dispositivo BLE
¡Será descubierto automáticamente! O agregar manualmente:
-
Ve a Settings -> Devices & Services
-
Haz clic en Add Integration
-
Busca Seeed HA Discovery
-
Ingresa la dirección IP del ESP32

Utiliza el protocolo BTHome, ¡será descubierto automáticamente por Home Assistant!
-
Asegúrate de que HA tenga un adaptador Bluetooth o proxy Bluetooth ESP32
-
El dispositivo aparecerá automáticamente en Settings -> Devices & Services -> BTHome

Demostración del Efecto

¡Felicidades! A estas alturas, deberías haber dominado dos métodos para conectar el XIAO ESP32-C5 a Home Assistant. ¡Esperamos ver tus proyectos increíbles y te damos la bienvenida a compartirlos con nosotros!
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.



