ClockSquared, a wooden RGB LED word clock

ClockSquared in a living room

Eight months ago, I built my first word clock, which garnered a lot of attention after putting it on the internet. This was pretty encouraging, so I continued development on an even better version of this clock. I think the efforts were succesful, and I call the result ‘ClockSquared’: a word clock that displays time in all colours, shows birthday messages, has a special engraved back and then some additional features. Each of the LEDs (or letters) in this clock can be controlled indvidually.

Front view of ClockSquared displaying the time and a birthday message
Back view of ClockSquared

The frame of this clock is made of wood. The frame was crafted out of mahogany, and the front and back sides of the clock are made of birch plywood. The letters were cut using a lasercutter. The text and logo on the back of the clock were engraved using the same machine. Below are the translations of Dutch time-related words and phrases to English.

List of translations of time-related words or phrases

This clock displays time in increments of five minutes. In most practical situations, I wouldn’t consider it a problem that time is updated less often than on a ‘normal’ clock.

Detail view of the ClockSquared front plate
Detail view of ClockSquared's button interface

The clock has three illuminated buttons. The lower button subtracts five minutes whereas the middle button adds five to the current time. Using the upper button, the colour of the letters can be changed. Additionally, some buttons can be pressed simultaneously to switch between operation modes.

Close-up photo of a ClockSquared unit displaying the time in blue colour
ClockSquared next to a vintage radio

As mentioned before, one of the cool improvements on this clock is the fact that time can be displayed in any color. The color is easily changed by pressing the upper button, and keeping it pressed until the preferred colour comes across.

The clock has a few animation modes for ambient lighting, of which one is displayed in the image above. This looks particularly good in a slightly darker room.

After finishing the clock, I put it in my bedroom. However, I quickly realized that the light that the clock emits is so bright that it is annoying if you’re trying to sleep, so I programmed a ‘night mode’ that reduces the brightness and displays the words in red color. This way, the clock barely puts out any light, which makes it suitable for a bedroom.

A big improvement of ClockSquared compared to my original clock is that this clock looks much better in terms of quality and finish. All parts fit together exactly right, which simply makes the end product look a lot better.

ClockSquared displaying the current time in colour
Detail view of ClockSquared buttons

Build log

We start with the frame of the clock. I first designed the frame parts in Sketchup, and made technical drawings afterwards, based on those Sketchup drawings. There’s a groove on one side of the frame pieces, which is there to keep the front plate of the clock in place later on.

Unassembled ClockSquared frame pieces
A ClockSquared frame piece and a woodworker's pencil

One of the four frame pieces needs three holes in it to accommodate the illuminated pushbuttons, which will be put in the frame later.

Drilling the button holes in a ClockSquared frame piece
One ClockSquared frame piece with three holes drilled in it

The buttons have a diameter of 16 mm. I first drilled out the holes using a 3 mm drill, and then further widened the hole to its final diameter of 16 mm using a special drill.

The frames are put together using glue and without any screws. To do this, the four frame pieces are laid down next to each other, and then a long strip of tape is applied to the outside of the frame parts to keep them in place during construction. Now, glue is applied on the chamfers where the frame parts will soon meet each other.

ClockSquared frame pieces during assembly
Glueing two ClockSquared frame pieces together

The front plate was designed in Adobe Illustrator, and is mostly a scaled-up version of my old clock design, since this new clock is a bit bigger. After finishing the designs, the file were sent off for production. The front of the clock is made out of a piece of birch plywood which is roughly 30×30 cm, with a thickness of 3 mm. The letters are laid out in an 11×11 grid. The grooves in the frame parts are also 3 mm in thickness, which means the components exactly fit into each other. As you may notice, I made a small mistake with the letters ‘P’ and ‘D’ (not visible in the Illustrator file anymore), but I will correct this later.

ClockSquared unassembled front plate
Fitting the ClockSquared front plate into the frame pieces

After putting glue on each of the ends of the frame parts, the front plate is put into the bottom piece. Next, the frame can be ‘folded’ around the front plate. In this step, it becomes clear how the tape around the frame parts is useful, because it keeps everything together nicely.

Uniting the ClockSquared frame and front plate
Completing the ClockSquared frame using painter's tape

To finish the frame, a piece of tape is applied to the place where the two ends of the frame meet, which completes the frame assembly process. The frame will be left to dry for a day before the tape is removed. As can be seen in the picture below, the frame turned out perfectly after the tape had been removed.

Detail view of the ClockSquared frame

To make sure that every LED/letter can be controlled individually, every LED needs its own ‘cell’ to prevent light from leaking between letters. To achieve this, I designed this grid (I call it the lightbox), which was also cut out using a laser cutter. This part was made out of MDF wood with a thickness of 9 mm. The grid will be glued to the front plate on the inside of the clock, so glue will have to be applied to one side. The grid was specifically designed so that each cell exactly matches up with a letter.

An MDF lightbox for ClockSquared
Applying glue to the ClockSquared MDF lightbox

We subsequently lower the lightbox into the frame and let the glue dry. Easy as.

Lowering the ClockSquared lightbox into the frame
Photo of the ClockSquared lightbox after being united with the frame and front plate

Normally, the light which the LEDs emit is quite intense when directly looking at it. This is solved by putting a piece of semi-transparent acrylate between the LED and the letter, which diffuses the light and makes the color look a bit softer. Additionally, the light is more equally distributed over the letter which gives a more refined look.

A bag of ClockSquared LED diffusers
Glueing LED diffusers into each lightbox opening

In total I had to glue in 121 pieces of acrylate. Yes, that’s boring. To glue in the pieces, I use superglue which cures in a few seconds.

As mentioned before, I made a mistake while designed the front plate, by not making the letters ‘P’ and ‘D’ stencil-proof. With the pieces of acrylate in place, this problem can be solved. I do this by putting the cutouts back in, and gluing on the part that I want to stay. The other part merely acts as a jig in this process. After the glue cures, the jig can be removed.

Detail view of a front plate being reworked to fix an incorrectly drawn letter
Detail view of a completed frontplate rework job

Now that the main structure of the frame is mostly finished, I started working on the electronics. First, I had to solder the LED strips. I use APA102-LEDs with integrated R-, G- and B-LEDs. Each of these LEDs can be controlled seperately, which is essential for ClockSquared. To put the strip in the clock, it first had to be cut up in 11 seperate strips with a length of 11 LEDs.

A reel of APA102 addressable LEDs
Cut pieces of APA102 LED strip

The strips are soldered together in a zig-zag pattern so that the strip can be put in the clock in one piece when it’s done. To do this, the right in- and outputs of the strip have to be soldered to each other using tiny wires. The wires are of a specific length so that the distance between two strips is equal to the distance between letters.

Detail view of solder connections between two APA102 LED strips
Many short APA102 LED strips chained together

After soldering together all the individual strips, the results looks like this. All LEDs are controlled using two pins: one for data and one for clock pulse. The advantage of this is that the wires don’t become a big spaghetti which prevents short-circuits and faulty connections.

Checking the electronics for short circuits using a multimeter
Testing the completed LED strip assembly

Before putting it to the test, I check my soldering using a multimeter to make sure there’s no short-circuits or bad connections. I then test all the LEDs using a simple Arduino script that enables all the LEDs.

0.5 mm cartboard separator to prevent light bleeding
Fit test of the LED strip assembly in the clock frame

These pieces of cartboard are of the same thickness as the LED strip, which was cut to make sure the back surface of the light box would be of equal height everywhere. This helps prevent light from leaking between letters.

Now, the strip can be glued to the grid with letters. The LEDs are now pointing towards the acrylate pieces, of course. The strips are glued in place using a glue gun. On both ends, a little dot of glue is put on the grid. The strip is then pushed on firmly. After a few seconds, the glue hardens and the strip is secured.

Glueing the LED strip assembly to the ClockSquared frame
Detail view of the glueing of the LED strip to the ClockSquared frame

In the picture above, it can be seen more clearly how the thin cartboard pieces contribute to preventing light leakage.

Completed assembly of the frame with the LED strip assembly
Testing the LED strip in situ

When done, the result looks like this. Before completely sealing the lighting part, I’m checking one more time to make sure the LEDs are still working properly and no wires came loose in the gluing process.

The seal is completed by gluing a black piece of fabric to the back side of the light box. This is done by putting glue between each row on the grid.

Covering the lightbox with a piece of black vinyl to prevent light bleed
Completed application of a square piece of vinyl

Now that that’s finished, we can start assembling the rest of the electronics of the clock. In the picture below, the ‘internal’ sides of the illuminated pushbuttons are visible, together with the connection terminals.

Assembly of three pushbuttons into the ClockSquared frame
Soldering wires to the ClockSquared push buttons

As mentioned before, the buttons have a built-in light that runs on 12V. This voltage is provided directly by the clock’s power source. First, some tin is put on the terminals so that wires can be soldered on more easily.

Power wires soldered to the push buttons in the ClockSquared frame
Detail view of the completed ClockSquared electronics

In the pictures above, the wires are soldered on. To prevent short circuits, all connections are protected using heathshrink tubing. The button wiring is completed by soldering on the control wires. For the curious, I’m wiring my buttons with a pull-up circuit using 10K Ohm resistors.

A DS3231 RTC module glued to the ClockSquared frame
An Arduino Uno inside ClockSquared

The clock internally keeps track of time using a Real Time Clock (RTC) device. These won’t lose the time when the clock is not plugged in. The RTC I’m using here is a DS3231-module. This is wired directly to the microprocessor. The microprocessor is an ATMega328-chip on an Arduino platform. The source code of this clock is loaded onto this chip using the Arduino software.

A DC-DC buck converter glued to the ClockSquared frame
ClockSquared power connector mounted in the back plate

The input voltage for the clock should be in the 9-12 volt range. The ATMega328 and the LED strip work at 5V, however. This module converts the 12V voltage to 5V to power these devices.

A small hole was cut into the back side of the clock to accomodate a 12V DC barrel. The wires on the other side of the plate are connected to the 12V-5V converter module through a diode.

A power connector connected to Clockquared

One step remaining… Powering up the clock! Of course, it works. Thanks for reading this post! Below are some additional photos of the completed clock.

Top-down view of ClockSquared
Rear view of two ClockSquared units
Two ClockSquared units side by side


  1. I have built this clock 3 years ago and it still works flawlessly ? Even didn’t have to change the CR2032 in the RTC yet. Every time we have visitors they always look at the clock, admire it and wonder where they can buy one ?

Leave a comment

Your email address will not be published. Required fields are marked *