M5Stack Atom Echo y Xiaozhi: El Futuro del Control por Voz Privado en Español
Un dispositivo de 15€ del tamaño de un dado puede hacer lo mismo que un Amazon Echo de 60€. La diferencia: tu voz nunca sale de tu casa.
M5Stack Atom Echo y Xiaozhi ESP32 son la revolución del control por voz privado. Con Home Assistant, Whisper y Piper, puedes crear un ecosistema de asistentes de voz que funcionan 100% en local, sin suscripciones y con soporte completo para español.
¿Por qué necesitas un asistente de voz privado?
Cada vez que dices "Alexa" o "Hey Google", tu voz viaja a servidores en Estados Unidos donde es procesada, almacenada y, a menudo, revisada por humanos.
El problema de los asistentes comerciales
| Aspecto | Amazon Echo | Google Home | Asistente local |
|---|---|---|---|
| Privacidad | Audio en servidores AWS | Audio en servidores Google | 100% local |
| Grabaciones | Almacenadas indefinidamente | Almacenadas 18 meses | No hay grabaciones |
| Requiere internet | Sí | Sí | No |
| Funciona offline | No | No | Sí |
| Coste mensual | €0 (eres el producto) | €0 (eres el producto) | €0 |
| Personalización | Limitada | Limitada | Total |
| Idioma español | Sí (con acento forzado) | Sí | Sí (natural) |
"Si no pagas por el producto, tú eres el producto. Amazon y Google monetizan tus conversaciones." — Cory Doctorow, activista digital
La alternativa: Asistentes ESP32 con Home Assistant
Home Assistant lanzó en 2023 el "Year of the Voice", un proyecto ambicioso para crear asistentes de voz totalmente locales y privados. En 2026, el ecosistema está maduro:
- Whisper: Transcripción de voz a texto (STT) local
- Piper: Síntesis de voz (TTS) en español con voces naturales
- openWakeWord: Detección de palabra de activación local
- Wyoming Protocol: Conecta todo con Home Assistant
M5Stack Atom Echo: Review completa
¿Qué es el M5Stack Atom Echo?
El Atom Echo es un altavoz inteligente del tamaño de un cubo de 24mm basado en ESP32 con micrófono integrado y un pequeño altavoz. Home Assistant lo recomienda como el dispositivo de 13 dólares para control por voz.
Especificaciones técnicas
| Característica | Especificación |
|---|---|
| Procesador | ESP32-PICO-D4 (dual-core, 240MHz) |
| Memoria | 4MB Flash, 520KB SRAM |
| Micrófono | SPM1423 (MEMs) |
| Altavoz | 0.5W (8Ω) |
| Conectividad | WiFi 2.4GHz, Bluetooth |
| LED | SK6812 RGB direccionable |
| Alimentación | 5V via USB-C |
| Dimensiones | 24 x 24 x 17 mm |
| Precio | €12-18 |
Puntos fuertes
- Tamaño minúsculo: Cabe en cualquier rincón
- Bajo consumo: ~0.5W en standby
- Fácil de flashear: ESPHome compatible
- Económico: 3-4 unidades por el precio de un Echo Dot
- Integración oficial: Documentado por Home Assistant
Puntos débiles
- Altavoz pequeño: Sonido limitado, no apto para música
- Micrófono único: Peor captación que arrays de micrófonos
- Sin jack 3.5mm: No puedes conectar altavoz externo fácilmente
- ESP32 antiguo: No tiene el rendimiento del S3
Dónde comprar
- AliExpress: €12-15 (envío 15-30 días)
- Amazon España: €18-22 (envío rápido)
- Tienda oficial M5Stack: €13 + envío
Xiaozhi ESP32: La alternativa open source
¿Qué es Xiaozhi?
Xiaozhi es un proyecto open source chino que ha revolucionado el mundo de los asistentes de voz DIY. Es un chatbot de voz basado en ESP32 con integración de LLMs y soporte para más de 30 módulos de hardware.
Diferencias con Atom Echo
| Aspecto | Atom Echo | Xiaozhi |
|---|---|---|
| Enfoque | Hardware comercial + ESPHome | Framework open source completo |
| LLM integrado | No (depende de HA) | Sí (DeepSeek, Qwen, etc.) |
| Backend | Home Assistant | Servidor propio o cloud |
| Personalización | Media | Muy alta |
| Documentación | Excelente (inglés) | Buena (chino/inglés) |
| Comunidad | Grande (HA focused) | Creciente |
| MCP (Model Context Protocol) | No | Sí, nativo |
Características destacadas de Xiaozhi
- Multimodal: Soporte para pantallas, cámaras, LEDs
- Múltiples LLMs: DeepSeek, Qwen, GPT-4, Claude
- MCP nativo: Conecta con cualquier aplicación
- IoT integrado: Control de dispositivos sin Home Assistant
- Open source MIT: Uso comercial permitido
Hardware compatible con Xiaozhi
| Dispositivo | Precio | Características |
|---|---|---|
| ESP32-S3-BOX-3 | €50-60 | Pantalla táctil, mejor audio |
| Atom Echo | €15 | Básico pero funcional |
| AtomS3R + Echo Base | €35 | Combo recomendado |
| LILYGO T-Display | €20 | Con pantalla pequeña |
| M5Stack Core2 | €50 | Pantalla grande, batería |
Instalación: M5Stack Atom Echo con Home Assistant
Requisitos previos
- Home Assistant con Supervisor (HAOS o Supervised)
- Add-ons instalados:
- Whisper (STT local)
- Piper (TTS local)
- openWakeWord (detección de palabra)
- Atom Echo con USB-C
Paso 1: Flashear ESPHome al Atom Echo
Opción A: Desde el navegador (más fácil)
- Conecta el Atom Echo por USB a tu ordenador
- Ve a web.esphome.io
- Click en "Connect" y selecciona el puerto USB
- Click en "Prepare for first use"
- Introduce las credenciales WiFi
Opción B: Desde ESPHome Dashboard
1# atom-echo.yaml2substitutions:3 name: atom-echo-salon4 friendly_name: "Atom Echo Salón"5 6packages:7 m5stack.atom-echo-voice-assistant:8 url: https://github.com/esphome/wake-word-voice-assistants9 files:10 - m5stack-atom-echo/m5stack-atom-echo.yaml11 refresh: 0s12 13esphome:14 name: ${name}15 name_add_mac_suffix: false16 friendly_name: ${friendly_name}17 18wifi:19 ssid: !secret wifi_ssid20 password: !secret wifi_password21 22api:23 encryption:24 key: !secret api_encryption_key
Paso 2: Instalar add-ons de voz en Home Assistant
Whisper (Speech-to-Text)
- Ve a Configuración > Complementos > Tienda de complementos
- Busca "Whisper" e instala
- Configura:
1# Configuración de Whisper2language: es # Español3model: base # o 'small' para mejor precisión4beam_size: 5
- Inicia el add-on
Piper (Text-to-Speech)
- Instala "Piper" desde la tienda
- Configura la voz en español:
1# Configuración de Piper2voice: es_ES-davefx-medium # Voz española masculina3# Alternativas:4# es_ES-sharvard-medium # Voz femenina5# es_MX-ald-medium # Español mexicano
openWakeWord
- Instala "openWakeWord" desde la tienda
- Palabras de activación disponibles:
- "Okay Nabu" (por defecto)
- "Hey Jarvis"
- "Hey Mycroft"
Nota importante: openWakeWord actualmente solo soporta wake words en inglés. Para español, puedes:
- Usar una palabra en inglés (ej: "Hey Jarvis")
- Entrenar un modelo personalizado (avanzado)
- Usar activación por botón físico
Paso 3: Configurar Assist Pipeline
- Ve a Configuración > Asistentes de voz
- Crea un nuevo asistente:
- Nombre: "Jarvis"
- Idioma: Español
- STT: Whisper
- TTS: Piper
- Wake word: Hey Jarvis (opcional)
- Guarda
Paso 4: Asignar dispositivo al asistente
- Ve a Configuración > Dispositivos y servicios
- Busca tu Atom Echo (aparece como "ESPHome: atom-echo-salon")
- Click en el dispositivo
- En Asistente, selecciona "Jarvis"
Paso 5: Probar
- Di "Hey Jarvis" (si configuraste wake word) o pulsa el botón del Atom Echo
- El LED cambiará a azul (escuchando)
- Di: "Enciende la luz del salón"
- El LED cambiará a verde (procesando) y ejecutará el comando
Instalación: Xiaozhi ESP32 con servidor local
Arquitectura de Xiaozhi
1┌─────────────────────────────────────────────────────────────────┐2│ XIAOZHI ECOSYSTEM │3├─────────────────────────────────────────────────────────────────┤4│ │5│ ┌──────────────┐ ┌──────────────────┐ ┌─────────────┐ │6│ │ ESP32-S3 │ │ Xiaozhi Server │ │ LLM │ │7│ │ (Cliente) │ ──► │ (Backend) │ ──► │ (DeepSeek) │ │8│ │ Micrófono │ │ ASR + TTS │ │ │ │9│ │ Altavoz │ │ MCP Gateway │ │ │ │10│ └──────────────┘ └──────────────────┘ └─────────────┘ │11│ │ │12│ ▼ │13│ ┌─────────────┐ │14│ │ Home Asst. │ │15│ │ (vía MCP) │ │16│ └─────────────┘ │17│ │18└─────────────────────────────────────────────────────────────────┘
Paso 1: Desplegar Xiaozhi Server
1# Clonar repositorio2git clone https://github.com/78/xiaozhi-esp32-server.git3cd xiaozhi-esp32-server4 5# Configurar variables de entorno6cp .env.example .env7 8# Editar .env con tu configuración9# LLM_API_KEY=tu-api-key-de-deepseek10# LLM_MODEL=deepseek-chat11# TTS_PROVIDER=edge # o azure, google12# STT_PROVIDER=whisper13 14# Levantar con Docker15docker compose up -d
Paso 2: Flashear firmware Xiaozhi al ESP32
1# xiaozhi-config.yaml para ESPHome2esphome:3 name: xiaozhi-salon4 platform: ESP325 board: esp32-s3-devkitc-16 7external_components:8 - source: github://78/xiaozhi-esp329 10xiaozhi:11 server_url: "http://192.168.1.100:8000" # Tu servidor Xiaozhi12 device_id: "salon"13 14# Configuración de audio15i2s_audio:16 i2s_lrclk_pin: GPIO517 i2s_bclk_pin: GPIO618 19microphone:20 - platform: i2s_audio21 id: mic22 adc_type: external23 i2s_din_pin: GPIO424 25speaker:26 - platform: i2s_audio27 id: speaker28 dac_type: external29 i2s_dout_pin: GPIO7
Paso 3: Integrar con Home Assistant via MCP
Xiaozhi soporta el Model Context Protocol (MCP), lo que permite conectarlo con Home Assistant:
- Instala la integración HACS: xiaozhi-mcp-ha
1# configuration.yaml2xiaozhi:3 host: 192.168.1.1004 port: 80005 entities:6 - light.salon7 - switch.calefaccion8 - climate.termostato
- Ahora puedes decir: "Xiaozhi, enciende la luz del salón" y controlará Home Assistant
Comparativa de hardware para asistentes de voz
Tabla comparativa completa
| Dispositivo | Precio | Micrófono | Altavoz | Pantalla | Batería | Ideal para |
|---|---|---|---|---|---|---|
| Atom Echo | €15 | 1x MEMS | 0.5W | No | No | Básico, bajo coste |
| AtomS3R | €20 | No | No | 0.85" | No | Con Echo Base |
| Echo Base | €10 | 2x MEMS | 1W | No | No | Complemento S3R |
| ESP32-S3-BOX-3 | €55 | 2x MEMS | 1.5W | 2.4" táctil | No | Premium, pantalla |
| ESP32-S3-BOX-3B | €40 | 2x MEMS | 0.5W | No | No | Sin pantalla |
| Respeaker Lite | €25 | 2x MEMS | No | No | No | Array calidad |
| M5Stack Core2 | €50 | 1x MEMS | 1W | 2" táctil | 390mAh | Portátil |
Mi recomendación según presupuesto
Presupuesto mínimo (<€20): M5Stack Atom Echo
- Funcional para comandos básicos
- Ideal para empezar y probar
Mejor relación calidad/precio (€30-40): AtomS3R + Atomic Echo Base
- Doble micrófono (mejor captación)
- Procesador ESP32-S3 (más potente)
- Modular y actualizable
Premium (€50-60): ESP32-S3-BOX-3
- Pantalla táctil
- Mejor calidad de audio
- Experiencia más completa
Para múltiples habitaciones: 3-4x Atom Echo
- Un dispositivo por habitación
- Coste total similar a un Echo Dot
Configuración avanzada: Voces en español
Voces disponibles en Piper para español
| Voz | Acento | Género | Calidad | ID |
|---|---|---|---|---|
| davefx | España | Masculino | Media | es_ES-davefx-medium |
| sharvard | España | Femenino | Media | es_ES-sharvard-medium |
| ald | México | Masculino | Media | es_MX-ald-medium |
| claude | México | Masculino | Media | es_MX-claude-high |
Personalizar la voz
En la configuración del add-on Piper:
1voice: es_ES-davefx-medium2length_scale: 1.0 # Velocidad (0.5-2.0)3noise_scale: 0.667 # Variación tonal4noise_w: 0.8 # Variación de duración
Crear respuestas personalizadas
En Home Assistant, puedes crear automatizaciones con respuestas de voz personalizadas:
1automation:2 - alias: "Respuesta personalizada al preguntar la hora"3 trigger:4 - platform: conversation5 command:6 - "¿Qué hora es?"7 - "Dime la hora"8 action:9 - service: conversation.process10 data:11 text: >12 Son las {{ now().strftime('%H:%M') }}.13 {% if now().hour >= 22 or now().hour < 6 %}14 Ya es tarde, deberías irte a dormir.15 {% elif now().hour >= 12 and now().hour < 14 %}16 Es hora de comer, ¿tienes hambre?17 {% endif %}
Casos de uso prácticos
Control de luces por voz
1# Intents personalizados en Home Assistant2# sentences/es.yaml3language: es4intents:5 HassLightSet:6 data:7 - sentences:8 - "pon las luces al {brightness} por ciento"9 - "luces al {brightness}"10 slots:11 brightness:12 type: percentage13 min: 014 max: 10015 16 HassTurnOn:17 data:18 - sentences:19 - "enciende (la|las) {name}"20 - "prende (la|las) {name}"21 - "activa (la|las|el) {name}"22 23 HassTurnOff:24 data:25 - sentences:26 - "apaga (la|las) {name}"27 - "desactiva (la|las|el) {name}"
Rutinas por voz
1# scripts.yaml2buenos_dias:3 alias: "Buenos días"4 sequence:5 - service: light.turn_on6 target:7 entity_id: light.dormitorio8 data:9 brightness_pct: 5010 kelvin: 400011 - service: media_player.volume_set12 target:13 entity_id: media_player.salon14 data:15 volume_level: 0.316 - service: tts.speak17 target:18 entity_id: tts.piper19 data:20 media_player_entity_id: media_player.salon21 message: >22 Buenos días. Son las {{ now().strftime('%H:%M') }}.23 La temperatura exterior es de {{ states('sensor.temperatura_exterior') }} grados.
Actívalo diciendo: "Hey Jarvis, buenos días"
Consultas del hogar
1# conversation intents2# Cuando preguntas: "¿Está encendida la calefacción?"3intent_script:4 CheckHeating:5 speech:6 text: >7 {% if is_state('climate.termostato', 'heat') %}8 Sí, la calefacción está encendida a {{ state_attr('climate.termostato', 'temperature') }} grados.9 {% else %}10 No, la calefacción está apagada.11 {% endif %}
Solución de problemas
El micrófono no capta bien
- Aléjalo de fuentes de ruido (TV, ventilador)
- Usa doble micrófono (Echo Base o Respeaker)
- Ajusta sensibilidad en ESPHome:
1microphone:2 - platform: i2s_audio3 id: mic4 gain: 40dB # Aumentar ganancia
La transcripción es incorrecta
- Usa modelo Whisper más grande:
- tiny → base → small → medium
- Habla más claro y pausado
- Reduce ruido ambiente
Latencia alta (>3 segundos)
- Usa aceleración GPU para Whisper si tienes Nvidia
- Reduce tamaño del modelo
- Verifica que el servidor HA no esté saturado
Wake word no funciona
openWakeWord solo soporta inglés. Alternativas:
- Usa botón físico para activar
- Di "Hey Jarvis" (palabra inglesa)
- Entrena modelo personalizado con Mycroft Precise
Costes totales: Construye tu ecosistema de voz
Setup básico (1 habitación)
| Componente | Coste |
|---|---|
| Atom Echo | €15 |
| Raspberry Pi (si no tienes HA) | €80 |
| Total | €15-95 |
Setup completo (casa entera)
| Componente | Cantidad | Coste |
|---|---|---|
| ESP32-S3-BOX-3 (salón, principal) | 1 | €55 |
| Atom Echo (habitaciones) | 4 | €60 |
| Mini PC para HA (si necesitas) | 1 | €150 |
| Total | - | €115-265 |
Comparativa con ecosistemas comerciales
| Setup | Coste inicial | Coste mensual | Privacidad |
|---|---|---|---|
| 5x Echo Dot | €150 | €0* | ❌ Audio en AWS |
| 5x Google Mini | €150 | €0* | ❌ Audio en Google |
| 5x ESP32 + HA | €115 | €5 (electricidad) | ✅ 100% local |
*Nota: "Gratis" significa que tú eres el producto.
Conclusión: El futuro de la voz es privado y local
Los dispositivos como M5Stack Atom Echo y Xiaozhi ESP32 demuestran que:
- No necesitas Amazon o Google para tener un asistente de voz
- Por €15-50 puedes tener capacidades similares a dispositivos de €60-100
- Tu voz se queda en casa, procesada por Whisper en tu propio servidor
- El español está soportado con voces naturales gracias a Piper
El "Year of the Voice" de Home Assistant ha madurado en 2026. Lo que antes era experimental ahora es producción-ready para uso diario.
¿Mi recomendación? Empieza con un Atom Echo de €15 para probar. Si te convence (lo hará), expande a más habitaciones con dispositivos adicionales.
¿Ya tienes un asistente de voz local funcionando? Comparte tu experiencia en los comentarios. Y si este artículo te ha sido útil, suscríbete a la newsletter para más guías de Home Assistant y domótica privada.