SVITRIX-XE1E: firmware para el Ulanzi TC001 con el clima de mi estación
El Ulanzi TC001 es un relojito de píxeles con una matriz de 32×8 LEDs que se ve muy bien en el escritorio. Sin embargo, con su firmware de fábrica se queda en reloj y poco más. Por eso uso SVITRIX-XE1E, el firmware para el Ulanzi TC001 que tengo en mi casa y en el shack. Lo convierte en una pantalla programable, controlable por MQTT y HTTP, que se integra con Home Assistant, IOBroker o Node-RED. Además, muestra los datos de mi propia estación meteorológica.
No hay que soldar ni abrir nada, ya que se instala por USB desde el navegador. A partir de ahí, se actualiza por WiFi. Aquí te cuento qué hace, de dónde viene y cómo instalarlo.
| Lo básico | |
|---|---|
| Dispositivo | Ulanzi TC001 de fábrica (ESP32-WROOM-32D, matriz WS2812B-Mini de 32×8, 256 LEDs) |
| Versión actual | v0.4.0-beta.22 |
| Control | Interfaz web, menú en pantalla en español, MQTT, API HTTP y Home Assistant |
| Clima | Desde tu propio servidor o desde WeatherAPI.com |
| Instalación | Web Flasher por USB; después, actualizaciones OTA |
| Código | github.com/XE1E/svitrix-firmware-XE1E |
De dónde viene este firmware
SVITRIX-XE1E es un fork de SVITRIX, que a su vez es un fork comunitario de AWTRIX 3. AWTRIX 3 es el conocido firmware de Blueforcer para estos relojes. La base viene de ese linaje, es decir, las apps personalizadas, las notificaciones, los efectos y la API. Por eso el crédito es suyo.
En cambio, lo que yo le agregué al firmware del Ulanzi TC001 está pensado para mi uso. Por ejemplo, las apps de clima conectadas a mi estación, la app de la luna y el menú en pantalla en español. También le hice un buen número de arreglos de estabilidad.
La idea de fondo es sencilla: el reloj es la pantalla y la lógica vive en tu sistema de automatización. Es decir, las «apps personalizadas» no se instalan como programas. Más bien, son páginas que rotan en la matriz con lo que les mandes por MQTT o HTTP.
El clima de mi estación en el Ulanzi
Lo que más uso es el clima. El firmware puede tomar los datos de WeatherAPI.com (con una clave gratuita) o, mejor, de tu propio servidor. Para eso, en la configuración hay un campo «Servidor propio (URL)». Si lo llenas, el reloj consulta esa dirección en lugar de WeatherAPI. Eso sí, el servidor tiene que responder con el mismo formato de WeatherAPI. La respuesta lleva, además, algunos datos extra, como la radiación solar y la lluvia.
En mi caso, apunto el firmware del Ulanzi TC001 al servidor de mi estación Ecowitt. Es el mismo que publica clima.xe1e.net y del que te platico en este artículo. Como no hay límite de consultas, el reloj puede actualizarse cada 1 o 2 minutos. Así sigue de cerca valores que cambian rápido, como la radiación al atardecer.
En total, las apps de clima son temperatura exterior, humedad, presión, calidad del aire, UV, viento, radiación solar y precipitación:
- Viento muestra dirección y velocidad en una sola línea que se desplaza y, si quieres, agrega la ráfaga.
- Precipitación muestra la lluvia acumulada del día, que se reinicia a medianoche. También puede mostrar la intensidad en mm/h.
- UV, radiación solar y calidad del aire pueden cambiar de color según el nivel. Así sabes de un vistazo si toca protegerse.
- Además, viento, radiación y precipitación tienen sus propios iconos animados.
- La app de calidad del aire desglosa los contaminantes fuera de rango, como PM2.5 u O3. Cada uno lleva el color de su nivel.
- Por último, de noche el icono de condición ya no pinta un sol antes del amanecer. En su lugar, muestra la fase real de la luna.
Hecho para funcionar sin que lo atiendas
Un reloj de escritorio no debería pedirte que lo reinicies. Por eso le dediqué varias versiones del firmware del Ulanzi TC001 a la estabilidad:
- Se recupera solo si el clima se atasca. Primero vuelve a conectar el WiFi. Solo si así no logra una lectura después de un buen rato, se reinicia como último recurso.
- Pausa las consultas en modo nocturno. De noche solo se muestra la hora, así que no tiene caso pedir datos que no se van a ver. Luego, al terminar la ventana nocturna, se reconecta y consulta de inmediato. Así, las apps de clima regresan con datos frescos.
- Reporta la causa del último reinicio en el campo
reset_reasonde/api/statsy en MQTT (encendido, watchdog, falla, bajo voltaje, OTA…). Por lo tanto, puedes vigilarlo desde Home Assistant. - Además, si el servidor todavía no tiene lectura de la estación, el reloj conserva el último dato en vez de reiniciarse.
- También la app de fecha muestra ya los meses en español («AGO» en lugar de «AUG»).
Lo demás que trae el firmware
- Apps nativas: hora (con varios modos, incluidos dígitos grandes y reloj binario), fecha y fase lunar con iconos por fase. También trae temperatura y humedad del sensor interno, y batería con un icono que cambia de color.
- API MQTT y HTTP para apps personalizadas, notificaciones, configuración y hasta dibujar píxel por píxel. Por ejemplo, un
POSTa/api/notifycon un texto y un icono muestra una notificación al instante. - Descubrimiento automático en Home Assistant y hasta 3 redes WiFi de respaldo.
- 20 efectos visuales como fondo de las apps y efectos de clima encima de la pantalla (nieve, lluvia, tormenta).
- Alarmas y recordatorios (hasta 10) que funcionan sin WiFi gracias al reloj de tiempo real. Además, melodías RTTTL por el buzzer, con un editor en la interfaz web.
- Interfaz web con gestor de archivos, descargador de iconos de LaMetric, actualización OTA y vista en vivo. También hay un menú en pantalla en español que manejas con los botones.
- Por último, píxeles de esquina que te avisan si se perdió el WiFi o MQTT. Y todo sin nube y sin telemetría.
Cómo instalar el firmware en el Ulanzi TC001
El firmware se instala en cualquier Ulanzi TC001 de fábrica. Solo necesitas, además, un cable USB y una computadora con Google Chrome o Microsoft Edge.
- Conecta el reloj por USB y abre el Web Flasher. Si es la primera vez que le cambias el firmware, marca la opción de borrar.
- Luego, conéctate a la red WiFi que crea el reloj,
svitrix_XXXXX(contraseña de fábrica12345678). - Después, abre
http://192.168.4.1y escribe los datos de tu WiFi. - El reloj muestra su dirección IP. Ábrela en el navegador para entrar a la interfaz web.
- Para el clima, pon la URL de tu servidor o una clave gratuita de WeatherAPI.com en la configuración del clima. Finalmente, agrega las apps que quieras.
Las siguientes versiones las instalas por OTA desde la interfaz web, sin cable. Además, la documentación completa tiene la guía de inicio, la referencia de la API y el detalle del hardware.
Lo bueno y lo que hay que saber
- Lo bueno: el firmware del Ulanzi TC001 no requiere soldar ni hardware extra. Además, funciona sin hogar inteligente, porque las apps nativas y las de clima trabajan solas. Y si tienes Home Assistant, se integra en automático.
- El sensor interno está dentro de la carcasa y marca de más. Por eso, desde la interfaz web puedes ajustar una compensación.
- Es una beta. Lo uso todos los días, pero la versión todavía lleva el «beta» en el nombre.
- Solo para el TC001. Este firmware está hecho para la matriz de 32×8 del Ulanzi TC001 y su mapa de pines.
Créditos y licencia
Todo el trabajo de base es de SVITRIX y, antes, de AWTRIX 3 de Blueforcer. El proyecto se distribuye con la licencia Creative Commons BY-NC-SA 4.0: puedes usarlo, modificarlo y compartirlo dando crédito, sin fines comerciales y con la misma licencia. Por último, no está afiliado a Ulanzi.
Conclusión
Con SVITRIX-XE1E, el Ulanzi TC001 dejó de ser un reloj bonito. Ahora es la pantalla del clima de mi estación, siempre a la vista y sin sacar el celular. Si tienes un Ulanzi TC001 guardado en un cajón, instálale el firmware desde el Web Flasher en unos minutos. Y si encuentras un error o tienes una idea, el repositorio está abierto. Por otro lado, si te gustan las pantallas de LEDs, mira también mi reloj de matriz LED Clockwise XE1E.
73 y DX de XE1E
Enrique
Recibe los artículos nuevos por correo
Te aviso cada vez que publique un artículo en el XE1E Radio Blog. Puedes darte de baja cuando quieras.




