He convertido este M5Stack Dial en el mando perfecto para Home Assistant usando ESPHome
Si utilizas Home Assistant y alguna vez has pensado que los proyectos con ESP32 o ESPHome eran demasiado complicados, probablemente este artículo te haga cambiar de opinión. Cuando vemos dispositivos personalizados por Internet, es fácil pensar que detrás hay cientos de líneas de código y conocimientos avanzados de programación. Sin embargo, la realidad es muy diferente. Hoy existen proyectos open source muy completos que permiten empezar desde una base totalmente funcional y adaptarla poco a poco a nuestras necesidades. En este artículo voy a enseñarte cómo he convertido un M5Stack Dial en un controlador físico para Home Assistant, utilizando ESPHome, partiendo de proyectos ya existentes y realizando únicamente las modificaciones necesarias para adaptarlo a mi forma de utilizar la domótica.
En YouTube comparto más tutoriales, pruebas y domótica real. Suscribirme

Vídeo relacionado en YouTube
Video¿Qué es el M5Stack Dial?
El M5Stack Dial es un dispositivo basado en un ESP32-S3 que combina varios elementos muy interesantes en un formato realmente compacto:
- Pantalla táctil circular de 1,28 pulgadas.
- Encoder giratorio.
- Botón integrado.
- WiFi.
- Lector RFID.
- Pines GPIO de expansión.
- Alimentación mediante USB o directamente desde la parte trasera.
Precisamente esa combinación hace que sea un candidato perfecto para convertirse en un mando físico para controlar Home Assistant.
En lugar de sacar continuamente el móvil, puedes tener un controlador siempre disponible sobre una mesa o instalado en una pared.
¿Por qué utilizar un controlador físico?
Aunque Home Assistant tiene una interfaz excelente, hay acciones que hacemos continuamente.
Por ejemplo:
- Encender o apagar las luces.
- Cambiar el brillo.
- Subir o bajar el volumen de la música.
- Modificar la temperatura del aire acondicionado.
- Abrir o cerrar persianas.
Todas estas acciones requieren sacar el móvil, desbloquearlo, abrir Home Assistant y pulsar varias veces sobre la pantalla.
Con un controlador físico basta con girar una rueda o pulsar un botón.
Puede parecer una diferencia pequeña, pero cuando lo utilizas durante unos días te acostumbras muy rápido y cuesta volver atrás.
Primer paso: comprobar que el hardware funciona
Antes de instalar cualquier firmware personalizado decidí utilizar el firmware de ejemplo que proporciona ESPHome Device Builder.
Su función es muy sencilla:
- comprobar que la pantalla funciona;
- verificar que el encoder responde correctamente;
- asegurarse de que el botón funciona;
- confirmar que el dispositivo puede comunicarse con Home Assistant.
No tiene una interfaz espectacular ni pretende controlar la casa.
Simplemente sirve para asegurarnos de que el hardware está correctamente configurado antes de empezar a modificar nada.
Es un paso muy recomendable porque elimina muchas dudas cuando más adelante instalamos un firmware más complejo.
El primer firmware realmente útil

El repositorio completo está en github del autor y YouTuber SmartHome yourself
Una vez comprobado el funcionamiento del Dial, llega el momento de instalar un firmware pensado para Home Assistant.
Este proyecto permite controlar diferentes tipos de entidades simplemente modificando unas pocas líneas del archivo de configuración.
Por ejemplo, podemos añadir:
- Luces.
- Climatización.
- Persianas.
- Reproductores multimedia.
- Ventiladores.
- Entradas numéricas (inpup_numbers)
- Cerraduras
- sensores numéricos (number).
- Interruptores.
- Temporizadores (timer).
Lo interesante es que no estamos programando una aplicación desde cero.
En la mayoría de los casos simplemente indicamos qué entidad de Home Assistant queremos controlar.
Por ejemplo:
- una luz;
- un aire acondicionado;
- un reproductor multimedia.
Una vez configurado, el Dial muestra automáticamente la interfaz correspondiente y podemos utilizar el encoder para modificar brillo, volumen o temperatura dependiendo del dispositivo seleccionado.
Es precisamente aquí donde muchas personas descubren que trabajar con ESPHome es mucho más sencillo de lo que imaginaban.
Mi firmware personalizado

Este está basado en el fantástico proyecto de Jason.
Después de utilizar ese firmware durante unos días me di cuenta de que funcionaba realmente bien.
Sin embargo, quería una interfaz más cuidada visualmente y una experiencia de uso más agradable.
Buscando diferentes proyectos encontré un firmware desarrollado originalmente para otro objetivo.
Ese proyecto estaba pensado principalmente para controlar una tira LED utilizando los GPIO del M5Stack Dial.
En lugar de utilizarlo tal cual, decidí hacer un fork y adaptarlo completamente para Home Assistant.
El resultado es el firmware que utilizo actualmente.
No está escrito desde cero.
Parte del trabajo ya estaba hecho gracias al proyecto original, pero se ha modificado para adaptarlo a un uso completamente diferente.
El repositorio modificado está en mi propio github.
Entre otras cosas incorpora:
- una interfaz más limpia;
- animaciones más cuidadas;
- pantallas optimizadas para el uso diario;
- integración con Home Assistant.
Actualmente permite controlar varias luces, climatización y otros dispositivos compatibles.
Como cualquier proyecto abierto, seguirá evolucionando con el tiempo.
Alimentación sin utilizar el USB
Uno de los detalles que más me gusta del M5Stack Dial es que no estamos obligados a dejar conectado el cable USB.
Una vez configurado podemos alimentarlo directamente desde la parte trasera utilizando únicamente dos cables.
Esto facilita muchísimo una instalación permanente.
Por ejemplo:
- colocado sobre un soporte impreso en 3D;
- instalado en una pared;
- integrado dentro de un mueble.

El resultado es mucho más limpio y da sensación de ser un dispositivo completamente terminado.
Mucho más que una pantalla
Otro aspecto muy interesante del Dial es que dispone de pines GPIO accesibles desde la parte trasera.
Eso significa que podemos conectar hardware adicional como:
- sensores;
- relés;
- tiras LED;
- botones;
- otros dispositivos compatibles con ESP32.
Esto abre la puerta a crear proyectos mucho más completos.
Aunque en este artículo nos hemos centrado en Home Assistant, el hardware permite desarrollar muchas otras ideas.
¿Hace falta saber programar?
Probablemente esta sea la pregunta más habitual.
La respuesta es que depende de hasta dónde quieras llegar.
Si simplemente quieres utilizar uno de los proyectos existentes, no necesitas grandes conocimientos de programación.
La mayor parte del trabajo consiste en:
- modificar algunas entidades;
- cambiar nombres;
- adaptar pequeños parámetros;
- compilar el firmware.
Todo ello partiendo de una base completamente funcional.
La IA también puede ayudarte
Otra ventaja que tenemos hoy es que herramientas basadas en inteligencia artificial pueden ayudarnos a entender proyectos que hace unos años parecían inaccesibles.
Si encuentras una parte del código que no entiendes, puedes pedir una explicación o incluso ayuda para realizar una modificación concreta.
Eso no significa que todo vaya a funcionar automáticamente.
Siempre habrá que probar, compilar y corregir errores.
Pero sí reduce muchísimo la barrera de entrada para quien está empezando.
Recursos utilizados
Firmware M5 dial for ESPHome
https://github.com/SmartHome-yourself/m5-dial-for-esphome
Proyecto original
https://www.hackster.io/JasonFang/smart-home-button-a-circular-hmi-for-home-assistant-872133
Mi fork adaptado para Home Assistant
https://github.com/hectorzin/m5stack-dial-home-assistant
¿Dónde comprarlo?
Si te interesa el M5Stack Dial v1.1, aquí tienes las opciones de compra disponibles:
- M5Stack Dial v1.1 — Analizado en el vídeo: OPENELAB · Amazon · AliExpress
Conclusión
Después de utilizar este proyecto durante un tiempo, creo que la conclusión más importante no es que el M5Stack Dial sea un buen dispositivo.
Lo realmente interesante es comprobar que empezar con ESPHome está mucho más al alcance de lo que parece.
No hace falta desarrollar un proyecto desde cero.
Puedes partir de un firmware que ya funciona, entender poco a poco cómo está construido, modificar pequeñas partes y adaptarlo exactamente a tus necesidades.
Así es como aprende la mayoría de la comunidad.
Y, probablemente, también sea la forma más sencilla de empezar si quieres dar el salto desde Home Assistant al mundo de los ESP32.
Preguntas frecuentes
¿Es compatible con Home Assistant?
Sí. Tanto el firmware de ejemplo como los proyectos utilizados en este artículo están pensados para integrarse con Home Assistant mediante ESPHome.
¿Necesito saber programar?
No necesariamente. Puedes empezar utilizando proyectos ya creados y realizar únicamente pequeñas modificaciones.
¿Se puede alimentar sin el cable USB?
Sí. Una vez configurado, el M5Stack Dial puede alimentarse mediante el conector trasero utilizando dos cables.
¿Qué dispositivos puedo controlar?
Luces, climatización, persianas, reproductores multimedia y prácticamente cualquier entidad compatible con Home Assistant.
¿Puedo modificar el firmware?
Sí. Tanto el proyecto original como mi fork son abiertos y pueden adaptarse para añadir nuevas funciones o modificar la interfaz según tus necesidades.


