
If you like electronics, programming, and gadgets with their own personality, the Non-traditional clock projects with Raspberry Pi They're the perfect place to tinker, learn, and end up with something really useful for your desk or living room wall. From retro-style clocks with giant LED matrices to analog clocks with physical mechanisms or minimalist alarm clocks using Raspberry Pi Pico, there are ideas for all tastes and skill levels.
Based on several real projects that are already being used in homes, offices, and workshops, we will review different types of DIY clocks based on Raspberry Pi, what hardware and software They explain how things like weather forecasts, animations, games, alarms, and even mechanical cuckoo clocks are integrated, and what you can reuse in your own creations. The idea is that, when you finish reading, your head will be full of ideas, and you'll know where to start without getting overwhelmed by the details.
Smartwatch with Raspberry Pi 4 and 64x64 LED matrix
One of the most striking projects involves setting up a "Living room" smart clock with a Raspberry Pi 4B and a 64x64 RGB LED matrixThe goal is not just to tell the time, but to create a kind of interactive family panel that blends useful information with a playful touch, very much for the little ones in the house.
In this case, the creator designed the device for his family, and in particular for his 5- and 8-year-old children. The LED panel does more than just display time, weather forecast and family remindersIt also serves as a screen for retro-style animations and minigames. In this way, the clock ceases to be a static object and becomes a kind of home console/information center.
At first, the author set about programming Tetris-type games for the screen from scratch, but he quickly realized that It consumed a brutal amount of timeThat's where the PICO-8 comes in, a fantasy console very popular in the indie scene, with a native resolution of 128x128 pixels. That resolution adapts perfectly to the 64x64 matrix: simply scaling by 2 ensures everything fits proportionally and there are no strange distortions.
The result is that you can run tons of PICO-8 cartridges on the LED screen, including such iconic titles as DOOM adapted to the PICO-8 stylewhich surprisingly runs very smoothly on the Raspberry Pi 4. The clock ceases to be a simple clock and becomes a pixelated entertainment center that also reports the time, daily tasks or the family calendar.
On a technical level, setting up this smartwatch is relatively simple for anyone who has already tinkered with Raspberry Pi, but it integrates several interesting elements:
- HardwareRaspberry Pi 4B, Waveshare 64x64 RGB LED matrix, small USB speaker, and a 8BitDo Micro gamepad to control games and menus.
- SoftwarePython as the basis for clock logic and scene management, PICO-8 to load and run retro games, and an MQTT messaging system to communicate data (e.g., from a home server or external services).
The developer is working on a kiosk mode It would automatically alternate scenes throughout the day: a relaxed view in the morning with the time and forecast, another with reminders when the children get home from school, a game mode in the afternoon, and so on. Currently, the project repository is private, but the author has said they will make it public if there is enough interest, so it will likely become a reference for anyone wanting to replicate a similar concept.
Clocks with Raspberry Pi Pico and compact displays
For those who prefer something more discreet and easy to place anywhere, the Compact watches with Raspberry Pi Pico and small displays They're a very practical option. The focus here is more on a clean aesthetic and the absence of cables than on a spectacular display on the living room wall.
An interesting example is a mantel clock created for a friend who loves to read, designed to look good on his desk or bedside table, without a tangle of cables in sight. To achieve this clean look, the designer relied on a Waveshare Pi Pico Res 2,8-inch screen and a Raspberry Pi Pico WH, so that everything would be integrated into a single compact unit.
The project is physically complete, and the clock works by displaying the time with a simple and elegant interface. The creator has not yet published the code on GitHub, but intends to do so. upload the firmware and the connection diagram so that anyone can replicate it. Although there are no public details of the implementation, this type of setup usually uses MicroPython or C/C++ on the Pico, and relies on Waveshare's own libraries for the display.
In this type of minimalist design, it is common to opt for 3D printed cases or project boxes where the screen is embedded in the front and the Pico is attached to the back. This way, the watch looks like a finished product, without breadboards or dangling wires, perfect for gifting or placing in a more "serious" setting.
Analog clock with Raspberry Pi Pico, OLED display and DS3231 RTC
Another of the most complete projects – and very educational if you are learning MicroPython – is that of a Analog clock with Raspberry Pi Pico, OLED display and a DS3231 RTC moduleThe author presents it as a way to reconnect with Python every time he tests new hardware: small standard projects that, at the same time, have practical utility.
The idea is to build a clock that displays a analog dial on an OLED screenHowever, internally it relies on an external Real Time Clock (RTC), since the Pico has a basic RTC but does not maintain the time without power unless the backup power supply is used. To gain accuracy and retain the time even when the board is disconnected, the well-known DS3231 module with a coin cell battery is used.
The project has been divided into two main blocks:
- First phase: commissioning the DS3231 RTC module with the Raspberry Pi Pico.
- Second phase: representation of the time read from the RTC in the OLED display in the shape of an analog clockincluding the date and day of the week.
Hardware and software used
The hardware assembly for this analog clock is quite affordable, ideal for those taking their first steps with the Pico. The component list basically includes:
- Raspberry Pi Peak.
- DS3231 RTC module with button cell battery.
- OLED display compatible with I2C (for example, 128×64 pixels).
- A few male-female dupont cables for the connections.
At the software level, the following is used MicroPython on the Raspberry Pi PicoIt's easily managed from the Thonny IDE, which comes pre-installed in many Raspbian images and is available for the main operating systems. Several libraries are needed to interact with the hardware:
- urtc to control the DS3231 module via the I2C bus.
- micropython-oled to control the OLED display, including support for custom fonts.
- A small graphic library type GFX to facilitate the drawing of circles, lines, and geometric shapes on the screen.
These libraries are copied to the Pico using Thonny, and the MicroPython firmware must be pre-programmed onto the board. The author refers to a quick start guide for those who are unsure how to flash the firmware.
Initialization and testing of the DS3231 RTC
The first part of the project consists of Configure the DS3231 module and verify that it provides the correct time.When you buy a new RTC or if the battery has run out, it is necessary to reset the internal date and time.
The procedure involves connecting the Pico to the DS3231 via I2C (basically four wires: power, ground, SDA, and SCL) and uploading a MicroPython script that:
- Scan the I2C bus to detect connected devices and display their addresses.
- Initializes an RTC object from the library urtc.DS3231.
- It allows you to configure the time by creating a date and time tuple (year, month, day, day of the week, hour, minute, second and millisecond) that is sent to the DS3231.
The code includes a commented block for set the initial date and timeThe user must uncomment that section, enter the desired date and time (respecting the weekday format, where the week starts on Sunday), and run the script. After this initial adjustment, the section is recommented to prevent the module from resetting each time the program runs.
Once configured, the script enters an infinite loop where, every second, it reads the date and time from the RTC and prints them to the serial terminal. This allows verification that the DS3231 correctly marks the passage of time And the Pico communicates seamlessly via I2C. As long as the module's button cell battery has a charge, the clock will continue to function even if the Pico is turned off.
Implementation of the analog clock on the OLED screen
With the real-time clock now operational, we move on to the showy part: a Full analog clock drawn on the OLED screen, with the time in analog format, the date and the name of the day of the week in text.
The hardware assembly simply adds the OLED display to the I2C bus already used by the DS3231. Since both devices have different addresses within the I2C busThey can share the same SDA and SCL lines without conflict, which is very typical in projects with multiple sensors or screens.
The code for this second phase does several interesting things:
- Define a function for Calculate whether summer or winter time applies, returning a time offset that will be applied to the RTC reading.
- Implement a function DRAW_CLOCK responsible for drawing the clock face and the hour and minute hands.
- It includes another feature Print_date_time which places the date and time in text using custom fonts on the right side of the screen.
- Control the screen refresh rate so that only what is necessary is redrawed when the minute or second changes, optimizing resources.
The sphere is drawn using the GFX graphics library to create an outer circle, a small central circle, and the numerical markers for the main hours (12, 3, 6, 9). The time is then calculated from the current hour and minute. angles of the needles with basic trigonometry, taking advantage of sine and cosine functions from the MicroPython math library.
One detail that has been carefully considered is that the The hour hand does not move in exact "jumps" from hour to hourInstead of staying fixed on the hour mark, the position is corrected taking the minutes into account, so that at half past, for example, the hand is already halfway between one number and the next, just like on a real analog clock.
For the text, the OLED's default font was too large and inflexible, so the author resorted to the fonts included in the micropython-oled library (for example, ubuntu_mono_12 and ubuntu_mono_15With these fonts you can write the initial heading, the title "Analog Clock", the credits and then the lines with the date and time on the right side of the screen.
Finally, in the main loop, a flag is activated optional diagnostic outputDesigned for debugging code, when enabled, the Pico prints detailed date and time information to the terminal every second. Since this slightly slows down execution, the author leaves it disabled by default for normal use.
This analog project with OLED is a very good example of how to combine simple mathematical calculations, time management with RTC and graphic drawing in a microcontroller environment, and serves as a base to add more things: second hand, weather icons, alarms, etc.
Clock/thermometer and other time projects with the "classic" Raspberry Pi
When people talk about Raspberry Pi, they almost always think of that single-board minicomputer which we can practically turn into anything we want. The different versions (including the Raspberry Pi 2, 3, 4, etc.) have served as the basis for countless projects, and several of them revolve around measuring and displaying time, whether as a clock, weather station, or both at the same time.
Among the most popular ideas are the low-cost weather stationsThese projects, conceived in part by the Raspberry Pi Foundation itself, which has promoted educational kits for schools and training centers, combine... temperature sensorsHumidity, pressure, and other environmental parameters are connected to the Pi, and the data is displayed on screen, recorded in a local database, or even uploaded to the cloud for analysis.
At home, there are guides that explain how to set up a very basic station with a few sensors and a Raspberry Pi, displaying the information both on a local screen and in a web browser, so the user ends up having a clocks / weather panel homemade, quite effective.
Another very visual project that is closely related to watches is the classic Clock/thermometer with Raspberry Pi and 7-segment displaysIn this case, the device focuses on displaying the time and ambient temperature with large, easily readable digits, using an LED segment module and a simple temperature sensor. It's the kind of gadget you can hang on a bedroom or kitchen wall, and it also serves as a great way to show friends and family how you've combined basic electronics with programming.
In these setups, the Raspberry Pi plays a dual role: on one hand it acts as brain that collects data from the internal clock or an external RTCOn one hand, it controls the temperature sensor, and on the other, it updates the digital display. Most are programmed in Python, taking advantage of the abundant documentation and libraries available for controlling both sensors and displays.
Beyond watches, the community has created all sorts of projects with Raspberry Pi: homemade arcade machines, "rustic" laptops mounted in briefcases, gaming tables with touch panels, Tor routers for anonymous browsing, live translators, Pi-based tablets, media centers for TV... but almost always the time (hour, date, stopwatches, timers) It appears as a key part of the user experience.
Pico OpenClock: Desktop clock with LED matrices and alarm
Another beautiful design within the realm of non-traditional watches using Raspberry Pi is the Env-OpenClock, more commonly known simply as Pico OpenClock. It is a very elegant desktop clock built on a Raspberry Pi Pico and a set of eight LED dot matrices, ideal as a desk clock or bedside alarm clock.
This project stands out because it was built using inexpensive and readily available componentswithout resorting to unusual solutions. The structure basically consists of the Pico, eight LED matrices aligned to display numbers and animations, and a DS3231 RTC module that maintains the time with high precision even if the main power supply is cut off.
To allow adjusting the clock without connecting it to a PC, the following have been included: four physical buttons These allow you to set the time and alarm. Additionally, a small switch lets you easily activate or deactivate daylight saving time, changing the time difference without needing to reprogram anything.
As an alarm clock, the OpenClock also incorporates a piezoelectric buzzer which is used for the audible alarm. The author himself acknowledges that the buzzer he chose is excessively loud, so he encourages experimenting with alternatives or adding resistors to reduce the volume. The beauty of it is that the system is open to adjustments: from changing the tone and beep pattern to replacing the buzzer with a small active speaker.
In the version shown, the clock operates connected to the electrical grid, but the design is compatible with the use of LiPo batteries combined with a LiPo Shim for the PicoThis would allow it to be used as a wireless wearable watch, at least for a few hours. The assembly shown uses a custom printed circuit board, although the project could be replicated without a custom PCB, using perfboard or Dupont cables if such a polished finish isn't desired.
Regarding the software, the OpenClock firmware has been published on GitHub and is primarily written in C and C ++This facilitates very fine control of the hardware and excellent performance. The typical workflow for replicating the project is: assemble the hardware following the provided schematic, compile or use the pre-generated firmware, and flash it on the Raspberry Pi PicoOnce this is done, the clock starts automatically and displays the time on LED matrices with an aesthetic that many compare to the green panels of the Matrix saga.
If you want to personalize it, LED dot matrices are sold in a multitude of colors (red, amber, blue, white, etc.), so you can adapt the visual appearance to your tastes. It's also possible to add new functions to the firmware: different animations when the minute changes, text messages, temperature indicators, etc.
Cuckoo clock connected with Wi-Fi and Raspberry Pi
Among "non-traditional" watches, the idea of a modern cuckoo clock controlled by Raspberry PiThis type of project mixes mechanics and electronics, and is very useful for learning how to synchronize physical elements (gears, levers, moving figures) with the time obtained from the internet.
The proposal includes several interesting requirements:
- WiFi connection to obtain the exact time from NTP servers, avoiding having to adjust the clock manually.
- Ability to move a minute hand and hour hand, reproducing the behavior of a classic analog clock.
- A simple cuckoo mechanism, either by turning a gear or pushing a lever, that is activated for a short period when the hour strikes.
- Playing files MP3 for the sound of the cuckoo and the chimes, with the option to turn off the sounds at night.
- Option to easily change sound tracks over the network, for example via a web interface.
The key question for the project's originator was whether a Raspberry Pi could handle all of this. The answer is yes: a Pi can manage the time synchronization via Wi-Fi, control of servomotors or stepper motors for the hands and mechanism of the cuckoo clock, and digital audio playback, all in the same system.
The biggest practical challenge is the analog part: to move the hands accurately according to the current time, it's advisable to use some kind of stepper motor with gearbox or an adapted clock movementThis allows the Pi to indicate a specific angle or number of steps corresponding to a certain advance in minutes and hours. With motor control libraries and a little calibration, the clock can be made to self-adjust upon startup, synchronizing the initial position of the hands with the time obtained from the internet.
The person who came up with the project admitted to being a Raspberry Pi novice, but that's precisely the point: this type of connected cuckoo clock forces you to play. Wi-Fi, PWM or motor control, audio playback, and some time logicSo it's a great lab for learning. The most sensible thing to do is start with small steps: first the timing via Wi-Fi, then moving a servo to a given angle, then adding the audio, and finally integrating the complete mechanics of the cuckoo clock.
By linking all these ideas—smartwatch with LED matrix, analog clock with OLED and RTC, desktop clock with matrices and alarm, Wi-Fi cuckoo clock, and other setups like weather stations or clock-thermometers—it becomes clear that the The Raspberry Pi family offers a vast array of possibilities for building non-traditional clocks. Both the "large" Raspberry Pi and the Pico are very capable alternatives to other microcontrollers like Arduino or Nano, and although the library ecosystem for Pico is still younger, the community is growing at a good pace.
Based on the examples discussed, you can combine ideas and functionalities: add smooth second hands, integrate temperature sensors into analog clocks, display home network status on the same screen as the time, or create alarm clocks that change their behavior depending on the day of the week. The most valuable aspect of these projects is not just ending up with a different clock on the wall, but the learning process they require you to undertake. programming, electronics, physical design, and a bit of creativity so that the result has its own personality.