In 2020, right after I created my first project, Pixie. I was thinking about what could be the next project, I saw that some makers were using a LED matrix to make several projects and thought that maybe I could make a wall clock with this matrix, and then the idea of Clockwise came up. The idea of Clockwise is to be a smart wall clock, where we can change the theme of the screen and add widgets that make sense for our context. Think of it as a smartwatch, but on the wall (and with lower resolution).
One of the first clockfaces I would like to have was a Mario Bros one, in which he stands on the stage and hits the blocks to change the hours and minutes. I remember seeing and loving this skin in the good times of Pebble watch and always wanted something similar to this. I mean, the idea was so good I'd like to use it somewhere else.
Besides this clockface I built one that displays the time in words, another that shows the time on the world map and another that emulates an analog clock. Besides the appearance of the clock, I would like to add some features, such as: email notification, weather forecast, soccer news, the possibility to send a text message to Clockwise and a myriad of other ideas. But for this article, let's focus on Mario's clock.
The LED matrix is controlled by an ESP32 and that is what I used in the initial stages of development as shown in the picture above. For those who are interested in creating this project and are not able to create or buy a PCB that will control the display, a simple ESP32 development board will work like a charm and depending on how you organize this bunch of wires it can be a final version too. Just follow the instructions about the wiring on the display driver's GitHub. We are makers, don't be intimidated if you don't have one tool or another, what matters is to get where you want to go.
My own PCB
After I made the base code for the clock, I needed a PCB. I really wanted to hang the clock on the wall so I started to prototype my first PCB. I bought a low power laser and adapted it to my 3D printer, so I could design the board that would control the display. This design worked perfectly, although it needs some improvement. You can find it on Github.
Going Pro with the PCB
Tindie has been a great platform where makers from all over the world can create and sell their projects. Brian Lough is one of these guys, I met him on social networks a few years ago and since then he has been working on the ESP32 Trinity a tested and ready-to-use board to control these displays. It couldn't have fit better in this context, all you have to do is plug the board into the display, upload the firmware and voila. Because of this I have retired my PCB that I developed, the Trinity already has everything I need and even more, it even comes with touch sensitive buttons, an LDR (we can regulate the brightness of the display with it), USB-C, power control and much more, you can check more details in the documentation https://github.com/witnessmenow/ESP32-Trinity
If you don't want to go into the details of how the code works, setup, configuration but just want to see it working, I have good news (thanks Brian for that). You can use the Mario Bros. Clock installer to upload the firmware without having to install anything and without making any effort as it is already compiled. Just plug the ESP32 into the USB port and click the P-Switch to flash. Yes, take me to the installer.
The first time you run it, you need to configure the WiFi, for that connect to the "Clockwise-Wifi" access point with the password 12345678 via your smartphone or laptop, click "Configure WiFi" and select your AP, put in your password and your timezone and save. Then the clock can connect to an NTP server to get the correct time. It is important to use a 2.4GHz WiFi, it will...Read more »