Projects Links Publications Travel (extern) Home

New technologies, another wordclock

Introduction and Results

Quite some time ago, I've built a wordclock for my cousins wedding. Back then a lot of time, effort and money was spent on soldering, as well as buying an applying the plastic foil with the letters on the glass.
But times have changed! Using my 3D printer, an ESP32 microcontroller with WiFi and some LED light strips (e.g. WS2812b), a new project began. Again it was a gift for someone and the desired language was swabian.
Here are the results:

Designing the Front

First step was listing all required word combinations for the different times. Next step to align them on a grid.
I wanted to print the front with the letters in one whole piece, so my 3D printer limited the size to 20x20x20cm. Using openscad and a nice stencil font, I crafted the front:

Soldering, Testing, Assembling

The LED strips are easy to handle. Since the front already matched the spacing of the strips, they only need to be cut at the desired length, attached to the back of the clock and connected/soledered to the next part in line.
Just pay attention to the direction (in-/outputs) and consider that different batches of the same LED strip might have slightly different colors!
Once this was done, I wrote some simple programs to verify all LEDs are working as expected and the letters are visible. To get rid of the paper to diffuse the light, I printed thin squares with white PLA that fitted nicely in the squares of the front.
As mentioned before, this watch is controlled by an ESP32. Its 5V PIN is used as power supply for the LED strip, so only one micro-USB cable is needed.

Programming

As a professional programmer, this was the easiest (or maybe most fun) part.
WiFi is used to connect to the internet, so the time can be obtained from a NTP Server.
Since the receiver of this watch is a non-technical person, a webserver with a configuration site was added. There one could configure the WiFi, timezone, color (since it's RGB LEDs), etc. etc.
And because there was such a nice grid of LEDs, I had to add some additional features like running text.. :)