← Volver a Tina
GUÍA DE MONTAJE

Guía de referencia: Tina

Todo lo necesario para montar la placa, conectar cada módulo, instalar el firmware y dejarlo hablando. Al final, cómo funcionan la búsqueda web con Tavily y el bot de Telegram.

1Materiales

El firmware está hecho para estas piezas exactas. Otra pantalla u otra placa necesitan otro firmware.

ESP32-S3 N16R8Placa de desarrollo con 16 MB de flash y 8 MB de PSRAM, con USB-C nativo. Imprescindible que sea N16R8.
Pantalla ST7789 240×240IPS de 1.3" o 1.54", SPI, de 7 pines (GND, VCC, SCL, SDA, RES, DC, BLK) o con pin CS.
Micrófono INMP441Micrófono digital I2S. Pines SCK, WS, SD, L/R, VDD y GND.
Amplificador MAX98357AAmplificador I2S de 3 W. Pines LRC, BCLK, DIN, GAIN, SD, GND y VIN.
Altavoz 4–8 ΩDe 2 a 3 W, unos 40 mm. Se conecta a los bornes + y − del amplificador.
2 pulsadoresPara subir y bajar el volumen. El botón BOOT de la placa sirve para hablar.
LED + resistencia 220 ΩOpcional. Indica el estado de Tina.
Cables y protoboardCables dupont hembra-hembra o macho-hembra, cortos. Cable USB-C de datos (no solo de carga).

2Esquema de conexiones

Cada línea va de un pin del módulo al GPIO indicado de la ESP32-S3. Los colores agrupan cada módulo.

ESP32-S3 N16R8 USB-C (PC / 5V) Pantalla ST7789 VCC 3.3V · GND a GND SDA / MOSISCL / CLK CSDC RES / RST GPIO 8GPIO 9GPIO 11 GPIO 12GPIO 13 BLK (luz) GPIO 10 Micrófono INMP441 VDD 3.3V · GND y L/R a GND SCKWS SD GPIO 42GPIO 40GPIO 41 Amplificador MAX98357A · VIN 5V · GND BCLKLRCDIN GPIO 47GPIO 48GPIO 21 altavoz +/− Botones la otra pata de cada botón a GND Volumen +Volumen − GPIO 38GPIO 39 LED (opcional) con resistencia 220 Ω a GND GPIO 14 BOOT (GPIO 0) ya viene en la placa 5V · 3V3 · GND común
Alimentación: la pantalla y el micrófono van a 3V3; el amplificador a 5V. Todos los GND deben unirse al GND de la ESP32-S3. Sin tierra común nada funciona bien.

3Tabla de pines

La misma información del esquema, pin por pin.

Pantalla ST7789

PantallaESP32-S3
SDA / MOSIGPIO 8
SCL / CLKGPIO 9
CSGPIO 11
DCGPIO 12
RES / RSTGPIO 13
BLKGPIO 10
VCC3V3
GNDGND

Si tu pantalla de 7 pines no tiene CS, deja GPIO 11 sin conectar.

Micrófono INMP441

MicrófonoESP32-S3
SCKGPIO 42
WSGPIO 40
SDGPIO 41
L/RGND
VDD3V3
GNDGND

Amplificador MAX98357A

AmplificadorESP32-S3
BCLKGPIO 47
LRCGPIO 48
DINGPIO 21
VIN5V
GNDGND
SD, GAINsin conectar
+ / −altavoz

Botones y LED

ElementoESP32-S3
BOOT (hablar)GPIO 0
Volumen +GPIO 38
Volumen −GPIO 39
LEDGPIO 14

Botón: una pata al GPIO y la otra a GND. No hacen falta resistencias.

No uses estos pines para otra cosa: GPIO 19 y 20 (USB), 26 a 37 (memoria flash y PSRAM) y 43–44 (puerto serie).

4Consejos de montaje

5Instalar el firmware

Descarga el firmware compatible con tu placa y seguí las instrucciones incluidas en el paquete.

El firmware de Tina todavía no está disponible para descargar.

  1. Conecta la ESP32-S3 al computador con el cable USB-C.
  2. Abre espressif.github.io/esptool-js, la herramienta oficial de Espressif para grabar la placa.
  3. Pulsa Connect y elige el puerto de la placa. Si no aparece: mantén BOOT, pulsa RESET, suelta BOOT y vuelve a intentarlo.
  4. La primera vez, pulsa Erase Flash y espera a que termine.
  5. En Flash Address escribe 0x0 y elige el archivo .bin.
  6. Pulsa Program. Cuando termine, pulsa RESET en la placa.
Con línea de comandos (esptool)
pip install esptool
esptool --chip esp32s3 -b 460800 write-flash 0x0 NOMBRE_DEL_ARCHIVO.bin

6Primer arranque

Tina te guía en la pantalla. Son dos pasos.

PASO 1 DE 2
Escanea con la cámara
Red: Xiaozhi-XXXX

Conecta el WiFi

Escanea el QR con la cámara del celular. Se unirá a la red de Tina y abrirá su página. Elige tu WiFi, escribe la contraseña y toca Conectar.

¿No se abre? Entra a http://192.168.4.1. Usa una red de 2.4 GHz.

PASO 2 DE 2
Registra a Tina
123456
Entra a xiaozhi.me

Registra a Tina

Tina dice y muestra un código de 6 dígitos. Entra a xiaozhi.me, inicia sesión, toca Agregar dispositivo y escribe el código.

En xiaozhi.me también eliges la voz, el idioma y la personalidad.

7Usar a Tina

Activación por vozUsá la palabra de activación configurada en tu firmware.
Botón BOOTUna pulsación para hablar o interrumpir.
Volumen + / −Una pulsación sube o baja un poco. Mantén pulsado para el máximo o para silencio.
Cambiar de WiFiPulsa RESET y enseguida BOOT mientras arranca. Vuelve a aparecer el paso 1.

Pídele recordatorios, alarmas, temporizadores o un modo de concentración, o simplemente conversa con él.

8Búsqueda web y Telegram

Dos funciones extra que necesitan claves personales.

Importante: estas funciones pueden requerir configuración en el firmware. Las claves se graban dentro del firmware al compilarlo, así que para usarlas hay que compilar una versión propia con tus claves (abajo se explica). Nunca compartas un firmware compilado con tus claves.

🔎 Tavily: búsqueda en internet

Permite que Tina busque información actual en internet (noticias, resultados, datos del día).

  1. Crea una cuenta en app.tavily.com. Tiene un plan gratuito con créditos mensuales.
  2. En el panel, copia tu API Key. Empieza por tvly-.
  3. Guárdala para el archivo .env como XIAOZHI_TAVILY_API_KEY.

✈️ Bot de Telegram: avisos en tu celular

Tina te envía al celular sus recordatorios, alarmas y temporizadores, y puedes darle órdenes desde el chat.

  1. En Telegram, abre @BotFather, envía /newbot y sigue los pasos (nombre y usuario del bot).
  2. BotFather te da un token del tipo 123456789:AA…. Es la contraseña de tu bot: no la compartas.
  3. Para saber tu chat_id: compila primero solo con el token, escríbele a tu bot y Tina te responderá “Tu chat_id es …”.
  4. Agrega ambos al .env y vuelve a compilar. Solo tu chat podrá controlar a Tina.
ComandoQué hace
/recordar 10m Sacar la ropaRecordatorio en 10 minutos (también 2h o 18:30)
/recordatoriosLista los pendientes
/cancelar 3Borra el recordatorio número 3
/aviso HolaMuestra el mensaje en la pantalla de Tina
/estadoHora, estado y recordatorios pendientes
/ayudaLista de comandos

🛠️ Compilar con tus claves

Requiere el código fuente del proyecto y ESP-IDF 6.1 instalado. En la carpeta del proyecto crea un archivo .env:

XIAOZHI_TAVILY_API_KEY=tvly-tu-clave
XIAOZHI_TELEGRAM_BOT_TOKEN=123456789:AA-tu-token
XIAOZHI_TELEGRAM_CHAT_ID=tu-chat-id

Y compila e instala:

source ~/.espressif/v6.1/esp-idf/export.sh
python3 scripts/build.py wk-esp32s3-dev --name wk-esp32s3-dev --custom-wake-word PALABRA_CONFIGURADA --language es-ES
cd build && esptool --chip esp32s3 -b 460800 write-flash $(cat flash_args | tr '\n' ' ')
Seguridad: el archivo .env y el firmware que compiles con él contienen tus claves. Guárdalos solo para ti.

9Solución de problemas

No se escucha nada
No me escucha o no responde a la palabra de activación
La pantalla está negra o se ve rara
No aparece la página del WiFi
No se conecta a mi WiFi
El computador no detecta la placa

Tina está basado en el proyecto de código abierto XiaoZhi ESP32 (licencia MIT; ver el archivo LICENSE). La conversación con la IA la presta el servicio xiaozhi.me, de terceros. Tavily y Telegram son servicios externos con sus propias condiciones.