What about a clock that speaks the user own language? Here it is!
The core concept of this clock is that during the day, only the letters needed to create the current time in words will be on, while the others will be off.
The first thing to do is to create a layout with all the letters and have it laser-cut of the right size to fit inside the picture frame and with every letter at the same distance between each others as the LEDs in the WS2812B strip are.
We need to cut and re-assemble the LEDs strip so that it will form some sort of zig-zag pattern. That will be placed behind the letters layout, each LED responsible of lighting one single letter.
We need to be sure that the light from one LED will be directed towards a single letter, and not spread to adjacent ones. I solved this problem by drilling some holes in a piece of wood, one for each letter, wide enough to include the whole letter.
The LEDs are then placed inside the holes and attached using some tape.
We can now put the layout into the picture frame, so that the letters are correctly readable from the front of the frame and after that place the piece of wood with the connected LEDs.
We upload the firmware to the board, after setting the right parameter for the WiFi network and Cayenne MQTT login and our clock will automatically get the current time using NTP (Network Time Protocol).
Using the Cayenne dashboard we can change the color and brightness of the active letters, as well as updating the current timezone.