
Si te gustan la electrónica, la programación y los gadgets con personalidad propia, los proyectos de relojes no tradicionales con Raspberry Pi son un terreno perfecto para trastear, aprender y acabar con algo muy útil en tu mesa o en la pared del salón. Desde relojes de estilo retro con matrices LED gigantes, hasta relojes analógicos con mecánicas físicas o despertadores muy minimalistas con Raspberry Pi Pico, hay ideas para todos los gustos y niveles.
A partir de varios proyectos reales que ya se están usando en casas, escritorios y talleres, vamos a repasar distintos tipos de relojes DIY basados en Raspberry Pi, qué hardware y software utilizan, cómo se integran cosas como la previsión del tiempo, animaciones, juegos, alarmas o incluso cucos mecánicos, y qué puedes reaprovechar en tus propias creaciones. La idea es que, cuando termines de leer, tengas la cabeza llena de ideas y sepas por dónde empezar sin agobiarte con los detalles.
Reloj inteligente con Raspberry Pi 4 y matriz LED 64×64
Uno de los proyectos más llamativos consiste en montar un reloj inteligente “de salón” con una Raspberry Pi 4B y una matriz LED RGB 64×64. El objetivo no es solo ver la hora, sino crear una especie de panel familiar interactivo que mezcle información útil con un toque lúdico muy marcado para los peques de la casa.
En este caso, el creador pensó el dispositivo para su familia y, en particular, para sus hijos de 5 y 8 años. El panel LED no se limita a mostrar hora, previsión meteorológica y recordatorios familiares; también sirve como pantalla para animaciones y minijuegos de estética retro. De este modo, el reloj deja de ser un objeto estático para convertirse en una especie de consola/centro de información doméstico.
Al principio el autor se puso a programar desde cero juegos tipo Tetris para la pantalla, pero vio rápidamente que eso consumía una cantidad de tiempo brutal. Ahí es donde entra en juego PICO-8, una consola de fantasía muy popular en la escena indie, con una resolución nativa de 128×128 píxeles. Esa resolución se adapta de maravilla a la matriz de 64×64: basta con escalar por 2 para que todo cuadre en proporción y no haya distorsiones raras.
El resultado es que se pueden ejecutar en la pantalla LED montones de cartuchos PICO-8, incluidos títulos tan emblemáticos como DOOM adaptado al estilo PICO-8, que sorprendentemente funciona muy fluido sobre la Raspberry Pi 4. El reloj deja de ser un simple reloj y pasa a ser un centro de entretenimiento pixelado que también informa del tiempo, las tareas diarias o el calendario familiar.
A nivel técnico, la configuración de este reloj inteligente es relativamente sencilla para quien ya haya cacharreado algo con Raspberry Pi, pero integra varios elementos interesantes:
- Hardware: Raspberry Pi 4B, matriz LED RGB 64×64 de Waveshare, pequeño altavoz USB y un gamepad 8BitDo Micro para controlar los juegos y menús.
- Software: Python como base para la lógica del reloj y la gestión de escenas, PICO-8 para cargar y ejecutar los juegos retro y un sistema de mensajería MQTT para comunicar datos (por ejemplo, desde un servidor doméstico o servicios externos).
El desarrollador está trabajando en un modo quiosco que vaya alternando escenas automáticamente a lo largo del día: una vista relajada por la mañana con hora y previsión, otra con recordatorios cuando los niños llegan del cole, un modo juegos por la tarde, etc. A día de hoy el repositorio del proyecto es privado, pero el autor ha comentado que lo hará público si ve que hay interés, así que es probable que acabe siendo una referencia para quien quiera replicar un concepto parecido.
Relojes con Raspberry Pi Pico y pantallas compactas
Para quienes prefieren algo más discreto y fácil de colocar en cualquier sitio, los relojes compactos con Raspberry Pi Pico y pantallas pequeñas son una opción muy apañada. Aquí se busca más la estética limpia y la ausencia de cables que un despliegue espectacular en la pared del salón.
Un ejemplo interesante es el de un reloj de sobremesa creado para un amigo muy lector, pensado para que quedara bien en su escritorio o en la mesilla, sin un lío de cables a la vista. Para conseguir este aspecto pulcro, el autor se apoyó en una pantalla Waveshare Pi Pico Res de 2,8 pulgadas y una Raspberry Pi Pico WH, de forma que todo quedara integrado en un único conjunto compacto.
El proyecto está acabado a nivel físico, y el reloj funciona mostrando la hora con una interfaz sencilla y elegante. El creador todavía no ha publicado el código en GitHub, pero su intención es subir el firmware y el esquema de conexión para que cualquiera pueda replicarlo. Aunque no hay detalles públicos de la implementación, este tipo de montaje suele usar MicroPython o C/C++ sobre la Pico, y se apoya en librerías de la propia Waveshare para la pantalla.
En este tipo de diseño minimalista es común apostar por carcasas impresas en 3D o cajas de proyecto donde la pantalla queda embebida en el frontal y la Pico va fijada por detrás. De este modo, el reloj se ve como un objeto terminado, sin protoboards ni cables colgando, perfecto para regalar o colocar en un entorno más “serio”.
Reloj analógico con Raspberry Pi Pico, pantalla OLED y RTC DS3231
Otro de los proyectos más completos -y muy didáctico si estás aprendiendo MicroPython- es el de un reloj analógico con Raspberry Pi Pico, pantalla OLED y un módulo RTC DS3231. El autor lo plantea como una forma de retomar contacto con Python cada vez que prueba hardware nuevo: pequeños proyectos estándar que, a la vez, tienen utilidad práctica.
La idea es construir un reloj que muestre una esfera analógica en una pantalla OLED, pero que internamente se apoye en un Real Time Clock externo, ya que la Pico dispone de un RTC básico pero no mantiene la hora sin alimentación mientras no se use la alimentación de reserva. Para ganar precisión y conservar la hora aunque se desconecte la placa, se recurre al conocido módulo DS3231 con pila de botón.
El proyecto se ha dividido en dos bloques principales:
- Primera fase: puesta en marcha del módulo RTC DS3231 con la Raspberry Pi Pico.
- Segunda fase: representación de la hora leída del RTC en la pantalla OLED en forma de reloj analógico, incluyendo la fecha y el día de la semana.
Hardware y software utilizados
El montaje de hardware para este reloj analógico es bastante asequible, ideal para quien está dando sus primeros pasos con la Pico. La lista de componentes incluye básicamente:
- Raspberry Pi Pico.
- Módulo RTC DS3231 con pila de botón.
- Pantalla OLED compatible con I2C (por ejemplo, 128×64 píxeles).
- Unos pocos cables dupont macho-hembra para las conexiones.
A nivel de software se utiliza MicroPython sobre la Raspberry Pi Pico, gestionado cómodamente desde el IDE Thonny, que viene ya preparado en muchas imágenes de Raspbian y está disponible para los principales sistemas operativos. Para interactuar con el hardware hacen falta varias librerías:
- urtc para manejar el módulo DS3231 a través del bus I2C.
- micropython-oled para controlar la pantalla OLED, incluyendo soporte de fuentes personalizadas.
- Una pequeña librería gráfica tipo GFX para facilitar el dibujo de círculos, líneas y formas geométricas en la pantalla.
Estas librerías se copian a la Pico mediante Thonny, y el firmware de MicroPython debe estar previamente grabado en la placa. El autor remite a una guía rápida de inicio para quien no tenga claro cómo flashear el firmware.
Inicialización y prueba del RTC DS3231
La primera parte del proyecto consiste en configurar el módulo DS3231 y comprobar que proporciona la hora correcta. Cuando compras un RTC nuevo o si la pila se ha agotado, es necesario reinicializar la fecha y hora internas.
El procedimiento se basa en conectar la Pico al DS3231 mediante I2C (básicamente cuatro cables: alimentación, tierra, SDA y SCL) y cargar un script en MicroPython que:
- Escanea el bus I2C para detectar dispositivos conectados y mostrar sus direcciones.
- Inicializa un objeto RTC a partir de la librería urtc.DS3231.
- Permite configurar la hora creando una tupla de fecha y hora (año, mes, día, día de la semana, hora, minuto, segundo y milisegundo) que se envía al DS3231.
En el código se incluye un bloque comentado para establecer la fecha y hora iniciales. El usuario debe descomentar ese fragmento, introducir la fecha y hora deseadas (respetando el formato de día de la semana, donde la semana empieza en domingo) y ejecutar el script. Tras ese primer ajuste, se vuelve a comentar la sección para que el módulo no se reseteé cada vez que el programa se ejecute.
Una vez configurado, el script entra en un bucle infinito donde, cada segundo, lee la fecha y la hora del RTC y las imprime por el terminal serie. De esta manera se puede comprobar que el DS3231 va marcando correctamente el paso del tiempo y que la Pico se comunica sin problemas por I2C. Mientras la pila de botón del módulo tenga carga, el reloj continuará funcionando aunque se apague la Pico.
Implementación del reloj analógico en la pantalla OLED
Con el reloj en tiempo real ya operativo, se pasa a la parte vistosa: un reloj analógico completo dibujado en la pantalla OLED, con la hora en formato de agujas, la fecha y el nombre del día de la semana en texto.
El montaje de hardware solo añade la pantalla OLED al bus I2C ya usado por el DS3231. Como ambos dispositivos tienen direcciones distintas dentro del bus I2C, pueden compartir las mismas líneas SDA y SCL sin conflicto, algo muy típico en proyectos con múltiples sensores o pantallas.
El código de esta segunda fase hace varias cosas interesantes:
- Define una función para calcular si corresponde horario de verano o de invierno, devolviendo un desplazamiento horario que se aplicará a la lectura del RTC.
- Implementa una función DRAW_CLOCK encargada de dibujar la esfera del reloj y las agujas de hora y minuto.
- Incluye otra función Print_date_time que coloca, en la parte derecha de la pantalla, la fecha y la hora en texto usando fuentes personalizadas.
- Controla el refresco de pantalla para que solo se redibuje lo necesario cuando cambia el minuto o el segundo, optimizando recursos.
En el dibujo de la esfera se usa la librería gráfica GFX para trazar un círculo exterior, un pequeño círculo central y las marcas numéricas de las horas principales (12, 3, 6, 9). A partir de la hora y minuto actuales se calculan los ángulos de las agujas con trigonometría básica, aprovechando funciones seno y coseno de la librería de matemáticas de MicroPython.
Un detalle muy cuidado es que la aguja de las horas no se mueve “a saltos” exactos de hora en hora. En lugar de quedarse clavada en la posición de la hora en punto, la posición se corrige teniendo en cuenta los minutos, de manera que a y media, por ejemplo, la aguja ya se encuentra a medio camino entre un número y el siguiente, igual que en un reloj analógico de verdad.
Para el texto, la fuente por defecto del OLED resultaba demasiado grande y poco flexible, así que el autor recurre a las fuentes incluidas en la librería micropython-oled (por ejemplo, ubuntu_mono_12 and ubuntu_mono_15). Con estas fuentes puede escribir el encabezado inicial, el título de “Reloj analógico”, los créditos y después las líneas con la fecha y la hora en la parte derecha de la pantalla.
Por último, en el bucle principal se activa una bandera de salida de diagnóstico opcional, pensada para depurar el código. Cuando se habilita, la Pico imprime por el terminal información detallada de fecha y hora cada segundo. Como esto ralentiza un poco la ejecución, el autor lo deja desconectado por defecto para un uso normal.
Este proyecto analógico con OLED es muy buen ejemplo de cómo combinar cálculos matemáticos sencillos, gestión de tiempo con RTC y dibujo gráfico en un entorno de microcontrolador, y sirve de base para meterle más cosas: segundero, iconos del tiempo, alarmas, etc.
Reloj / termómetro y otros proyectos de tiempo con Raspberry Pi “clásica”
Cuando se habla de Raspberry Pi, casi siempre se piensa en ese miniordenador de placa única que podemos convertir prácticamente en lo que queramos. Las distintas versiones (incluida la Raspberry Pi 2, 3, 4, etc.) han servido de base para montones de proyectos, y varios de ellos giran alrededor de la medición y visualización del tiempo, ya sea como reloj, estación meteorológica o ambos a la vez.
Entre las ideas más populares destacan las estaciones meteorológicas de bajo coste, concebidas en parte por la propia Fundación Raspberry Pi, que ha impulsado kits educativos para escuelas y centros de formación. En este tipo de proyecto se combinan sensores de temperatura, humedad, presión y otros parámetros ambientales, conectados a la Pi, y los datos se muestran en pantalla, se registran en una base de datos local o incluso se suben a la nube para su análisis.
A nivel doméstico, hay guías que explican cómo montar una estación muy básica con unos pocos sensores y una Raspberry Pi, mostrando la información tanto en una pantalla local como en un navegador web, de modo que el usuario acaba teniendo un relojes / panel meteorológico casero bastante resultón.
Otro proyecto muy visual que se relaciona mucho con los relojes es el clásico reloj/termómetro con Raspberry Pi y displays de 7 segmentos. En este caso, el dispositivo se centra en mostrar la hora y la temperatura ambiente con dígitos grandes y bien legibles, usando un módulo de segmentos LED y un sensor de temperatura sencillo. Es el típico gadget que se puede dejar colgado en la pared de una habitación o en la cocina, y que de paso sirve para enseñar a amigos y familiares cómo has combinado electrónica básica con programación.
En estos montajes, el papel de la Raspberry Pi es doble: por un lado actúa como cerebro que recoge datos del reloj interno o de un RTC externo, y por otro maneja el sensor de temperatura y actualiza el display de dígitos. La mayoría se programan en Python, aprovechando lo abundante que es la documentación y las librerías disponibles para controlar tanto sensores como pantallas.
Más allá de los relojes, la comunidad ha creado todo tipo de proyectos con Raspberry Pi: máquinas arcade caseras, portátiles “rústicos” montados en maletines, mesas de juego con paneles táctiles, routers Tor para navegar de forma anónima, traductores en vivo, tablets basados en Pi, media-centers para tele… pero casi siempre el tiempo (hora, fecha, cronómetros, temporizadores) aparece como pieza clave de la experiencia de usuario.
Pico OpenClock: reloj de escritorio con matrices LED y alarma
Otro diseño precioso dentro de los relojes no tradicionales con Raspberry Pi es el Env-OpenClock, más conocido simplemente como Pico OpenClock. Se trata de un reloj de sobremesa muy elegante montado sobre una Raspberry Pi Pico y un conjunto de ocho matrices de puntos LED, ideal como reloj de escritorio o despertador de mesilla.
Este proyecto destaca porque se ha construido utilizando componentes económicos y fáciles de conseguir, sin recurrir a soluciones raras. La estructura consiste básicamente en la Pico, las ocho matrices LED alineadas para mostrar cifras y animaciones, y un módulo RTC DS3231 que se encarga de mantener la hora con mucha precisión incluso si se corta la alimentación principal.
Para poder ajustar el reloj sin conectarlo a un PC, se han incluido cuatro botones físicos con los que se puede configurar la hora y la alarma. Además, un pequeño interruptor permite activar o desactivar de forma sencilla el ajuste al horario de verano, cambiando el desfase horario sin necesidad de reprogramar nada.
Como despertador, el OpenClock incorpora también un zumbador piezoeléctrico que se utiliza para la alarma sonora. El propio autor reconoce que el buzzer que eligió es exageradamente ruidoso, así que anima a experimentar con alternativas o añadir resistencias para rebajar el volumen. La gracia está en que el sistema está abierto a ajustes: desde cambiar el tono y el patrón de pitidos, hasta sustituir el buzzer por un pequeño altavoz activo.
En la versión mostrada, el reloj funciona conectado a la red eléctrica, pero el diseño es compatible con el uso de baterías tipo LiPo combinadas con un Lipo Shim para la Pico, lo que permitiría usarlo como reloj portátil sin cables, al menos durante algunas horas. En el montaje presentado se emplea una placa de circuito impreso personalizada, aunque se podría replicar el proyecto sin PCB propia, usando perfboard o cables dupont si no se busca un acabado tan pulido.
En cuanto al software, el firmware del OpenClock se ha publicado en GitHub y está escrito principalmente en C y C++. Esto facilita un control muy fino del hardware y un rendimiento excelente. El flujo típico para replicar el proyecto es: montar el hardware siguiendo el esquema proporcionado, compilar o utilizar el firmware ya generado y flashearlo en la Raspberry Pi Pico. Una vez hecho esto, el reloj arranca solo y muestra la hora en las matrices LED con una estética que muchos comparan con los paneles verdes de la saga Matrix.
Si quieres personalizarlo, las matrices de puntos LED se venden en multitud de colores (rojo, ámbar, azul, blanco, etc.), así que puedes adaptar el aspecto visual a tus gustos. También es factible añadir nuevas funciones al firmware: animaciones distintas al cambiar de minuto, mensajes de texto, indicadores de temperatura, etc.
Reloj de cuco conectado con wifi y Raspberry Pi
Dentro de los relojes “no tradicionales” destaca también la idea de un reloj de cuco moderno controlado por Raspberry Pi. Este tipo de proyecto mezcla mecánica y electrónica, y sirve muy bien para aprender cómo sincronizar elementos físicos (engranajes, palancas, figuras móviles) con la hora obtenida de internet.
El planteamiento incluye varios requisitos interesantes:
- Conexión wifi para obtener la hora exacta de servidores NTP, evitando tener que ajustar el reloj a mano.
- Capacidad para mover una aguja de minutos y una de horas, reproduciendo el comportamiento de un reloj analógico clásico.
- Un mecanismo de cuco sencillo, ya sea girando un engranaje o empujando una palanca, que se active durante un corto periodo al dar la hora.
- Reproducción de archivos MP3 para el sonido del cuco y las campanadas, con la posibilidad de desactivar los sonidos por la noche.
- Opción de cambiar las pistas de sonido fácilmente a través de la red, por ejemplo mediante una interfaz web.
La pregunta clave de quien planteó el proyecto era si una Raspberry Pi podría encargarse de todo esto. La respuesta es que sí: una Pi puede gestionar la sincronización de hora por wifi, el control de servomotores o motores paso a paso para las agujas y el mecanismo del cuco, y la reproducción de audio digital, todo en el mismo sistema.
El mayor reto práctico es la parte analógica: para mover las agujas de manera precisa según la hora actual, conviene usar algún tipo de motor paso a paso con reductor o un movimiento de reloj adaptado, de forma que la Pi pueda indicar un ángulo concreto o un número de pasos que corresponda a un cierto avance en minutos y horas. Con bibliotecas de control de motores y un poco de calibración, se puede lograr que el reloj se autoajuste cuando arranca, sincronizando la posición inicial de las agujas con la hora obtenida por internet.
Quien planteó el proyecto reconocía que era novato en Raspberry Pi, pero esa es justamente la gracia: este tipo de reloj de cuco conectado obliga a tocar wifi, PWM o control de motores, reproducción de audio y algo de lógica horaria, así que es un laboratorio estupendo para aprender. Lo más sensato es empezar por pequeños pasos: primero la parte de tiempo por wifi, después mover un servo a un ángulo dado, luego añadir el audio, y finalmente integrar la mecánica completa del cuco.
Al enlazar todas estas ideas -reloj inteligente con matriz LED, reloj analógico con OLED y RTC, reloj de escritorio con matrices y alarma, reloj de cuco wifi, y otros montajes como estaciones meteorológicas o relojes-termómetro- se ve claramente que la familia Raspberry Pi ofrece un abanico inmenso de posibilidades para construir relojes no tradicionales. Tanto la Raspberry Pi “grande” como la Pico son alternativas muy capaces frente a otros microcontroladores tipo Arduino o Nano, y aunque el ecosistema de bibliotecas para Pico aún es más joven, la comunidad está creciendo a buen ritmo.
A partir de los ejemplos comentados, se pueden combinar ideas y funcionalidades: añadir segunderos suaves, integrar sensores de temperatura en relojes analógicos, mostrar estados de la red doméstica en la misma pantalla que la hora, o crear despertadores que cambien su comportamiento según el día de la semana. Lo más valioso de estos proyectos no es solo acabar con un reloj diferente en la pared, sino el camino de aprendizaje que obliga a recorrer: programación, electrónica, diseño físico y algo de creatividad para que el resultado tenga personalidad propia.