top of page

RGB bedroom Clock

  • Writer: Dr. Tõnis
    Dr. Tõnis
  • 2 days ago
  • 2 min read

Description

Our bedroom clock needed replacement and of course I volunteered to build our own nice clock. In the end it was much larger work than at the beginning anticipated.


Project summary

In this project I built an RGB clock that gets its time online. 


My responsibilities

  • CAD design 

  • 3d printing and building the clock frame

  • Programming and testing

Results

Mechanically the whole project was simple and nothing special. I used a premade 32x8 RGB matrix that I just covered with a 3d printed plate and used a simple frame to hold it straight on the table. The main issue was the software.

I used Chat GPT help to program it. The result was surprisingly good and fast. Soon the main challenge appeared - the clock was too bright. I reduced the brightness as much as I could and suddenly the panel didn’t work anymore. I built a level shifter to improve, however no stable operation. I assumed that I broke the panel since I used 3.3V input instead of 5V. 

After ordering a new panel I noticed that the behaviour is exactly the same. Then it occurred to me that there is a limit to how dim one can drive the LEDs. The used RGB matrix library minimum brightness levels were much too high, thus I made my own look up table to control the desired LEDs. That part worked and I was able to reduce the brightness.

Still the result was too bright for the bedroom. As the last result I changed the clear filament color to a gray (not transparent) color and that dimmed the whole thing enough that one could use it in the bedroom. 

The overall clock is nicely small and compact. I would have never thought that the addressable LEDs can be too bright even when one dims them to the minimum brightness levels. Nevertheless, I found a workaround.


Used tools

SW: Arduino IDE, Fusion 360

HW: 3d printer, soldering, Raspberry Pico, addressable RGB LEDs, level shifter


Comments


© 2025 by Dr. Tõnis. Proudly created with Wix.com

bottom of page