En esta guía vamos a convertir una placa esp32-S3 ES3C28P en un asistente de voz utilizando el proyecto open source XiaoZhi AI.
El dispositivo podrá:
🎤 Escuchar nuestra voz.
🔊 Responder mediante el altavoz integrado.
🖥️ Mostrar expresiones en su pantalla.
🌐 Conectarse a Internet mediante Wi-Fi.
🤖 Comunicarse con un agente de inteligencia artificial (DeepSeek,Qwen 3.6, GPT 5).
🗣️ Utilizar una palabra de activación.
⚙️ Configurarse desde la plataforma de XiaoZhi.
XiaoZhi está diseñado precisamente como una plataforma de interacción por voz basada en ESP32, con reconocimiento de palabra de activación, audio, pantalla, camara (si lo integras con otros tipos de ESP21) y comunicación con servidores de IA.
1. ¿Qué vamos a utilizar?
Hardware
- ES3C28P
- Cable USB de datos.
- Computadora con Linux, Windows o macOS.
- Conexión a Internet.
No necesitamos añadir micrófono ni altavoz externos si nuestra placa ya incorpora estos componentes.
Software
- Git
- Python 3
- ESP-IDF
- XiaoZhi ESP32
- Cuenta en XiaoZhi
La documentación oficial de Espressif indica que ESP-IDF es el framework oficial para desarrollar aplicaciones para la familia ESP32.
2. Una aclaración importante antes de empezar
Esta guía está realizada específicamente para la placa de modelo : ES3C28P
Revisa que tu placa sea el modelo correcto, acá puedes diferenciarla:
https://www.lcdwiki.com/res/ES3C28P/ES3C28P_ES2N28P_Specification_V1.0.pdf
3. Instalar ESP-IDF
ESP-IDF es el entorno oficial de desarrollo de Espressif que utilizaremos para compilar el firmware de Xiaozhi.
En nuestro caso utilizamos ESP-IDF 6.0.2.
3.1. Instalar las dependencias
Abrimos una terminal y ejecutamos:
|
|
3.2. Crear la carpeta para ESP-IDF
|
|
3.3. Descargar ESP-IDF
Clonamos el repositorio oficial:
|
|
Entramos en la carpeta:
|
|
Y seleccionamos la versión que utilizaremos:
|
|
Después actualizamos los submódulos:
|
|
3.4. Instalar las herramientas de ESP-IDF
Desde la carpeta esp-idf ejecutamos:
|
|
Este proceso instala las herramientas necesarias para trabajar con el ESP32-S3, incluyendo el entorno Python utilizado por ESP-IDF.
3.5. Activar ESP-IDF
IMPORTANTE: Cada nueva terminal necesita tener cargado el entorno de ESP-IDF. Ejecutamos:
|
|
Comprobamos que idf.py está disponible:
|
|
Deberíamos obtener una salida indicando la versión de ESP-IDF, por ejemplo:
|
|
Importante: ESP-IDF utiliza su propio entorno Python. Esto permite mantener separadas las herramientas de ESP-IDF del Python del sistema y evita modificar innecesariamente las instalaciones de Python de Linux.
3.6. Comprobar que todo está listo
Ejecutamos:
|
|
Debería mostrar una ruta perteneciente a la instalación de ESP-IDF.
4. Descargar XiaoZhi
Clonamos el repositorio:
|
|
Entramos al proyecto:
|
|
El proyecto oficial es open source y utiliza ESP-IDF como entorno de desarrollo.
5. Utilizar una versión estable del proyecto
Para evitar que una actualización futura cambie el resultado de nuestra guía, podemos utilizar una versión concreta.
En nuestro caso utilizamos:v2.4.2
Primero:
|
|
Después:
|
|
Comprobamos:
|
|
6. Configurar el ESP32-S3
Ahora indicamos a ESP-IDF que nuestro microcontrolador es un: ESP32-S3
Ejecutamos:
|
|
A continuación:
|
|
Aquí configuraremos el proyecto.
7. Configurar la placa en menuconfig
Desde la carpeta del proyecto Xiaozhi ejecutamos:
|
|
Dentro de menuconfig, debemos ir a:
Xiaozhi Assistant → Board Type → Freenove ESP32-S3 Display 2.8 LCD
Seleccionamos:
Freenove ESP32-S3 Display 2.8 LCD
Esta opción corresponde a nuestra placa ES3C28P y utiliza la configuración:
CONFIG_BOARD_TYPE_Freenove_ESP32S3_DISPLAY_2_8_LCD
Después:
Seleccionamos Freenove ESP32-S3 Display 2.8 LCD.
Presionamos Enter para marcarla.
Presionamos S para guardar.
Confirmamos con Enter.
Presionamos Esc hasta salir de menuconfig.
8. Compilar XiaoZhi
Ahora podemos compilar:
|
|
Si todo está correcto aparecerá algo similar a:
Project build complete.
Además, se mostrarán los archivos que ESP-IDF utilizará para instalar el firmware.
9. Conectar la ES3C28P
Conectamos la placa mediante USB.
Linux debería crear un dispositivo similar a:
|
|
Podemos comprobarlo:
|
|
En nuestro caso fue:
|
|
10. Instalar el firmware
Con la placa conectada ejecutamos:
|
|
ESP-IDF se encargará de escribir el firmware en la memoria del ESP32-S3. Este proceso va a demorar un poco así que ve por un café. ☕
11. Comprobar que XiaoZhi arrancó
Una vez terminado el proceso, reiniciamos la placa.
Si todo salió correctamente veremos que la pantalla cobra vida y escucharemos el sonido de inicio.
En nuestra prueba:
🖥️ La pantalla mostró la expresión de XiaoZhi.
🔊 El dispositivo emitió el sonido de inicio.
Esto confirma que el firmware está funcionando correctamente.
12. Configurar XiaoZhi
Ahora llega la parte interesante.
El firmware de XiaoZhi está preparado para conectarse al servicio oficial de:
La plataforma separa claramente el hardware del dispositivo y los servicios de IA. El dispositivo proporciona la entrada/salida de voz y el servidor proporciona funciones como ASR, LLM, TTS y el agente de IA.
Debemos:
Conectar el dispositivo a nuestra red Wi-Fi.
Nos dará un código.
Asociarlo con nuestra cuenta.
Entrar en la consola.
Configurar nuestro agente.
Configurar el agente
Entramos en:
Consola de XiaoZhi — Agents
Desde aquí podemos configurar aspectos como:
Personalidad del asistente; nombre; voz; idioma; modelo de IA; comportamiento del agente.
Un truco acá hay una parte donde debes asociar tu cuenta de github esto te dará mejores cosas para personalizar tu Agente de AI como mejores modelos y otras cosas más.
Y eso fue todo. Saludos, tu amigo ROCURUN