I always wanted to build a wall clock. There are a lot of wonderful wall clocks in shops like IKEA. I had some problems with these commercial clocks. They are too loud for me (the continuous tic-tac is annoying), I can not see the hour hands in the dark, they are using a lot of space on my wall and they are not accurate. I decided to build a silent clock with LEDs and with internet synchronization and I combined it with an infinity mirror. The mirror makes it possible to see the hour hands. My concept was to make it as simple as possible. The whole building process takes about 30 minutes. The project cost was 20$. The unit is powered by a standard phone charger (5VDC). The complete electronics and the mirror were built into a picture frame bought at IKEA.
Step 1: BOM List
Material Name, amount, link
IKEA RIBBA Picture Frame Black 23cmx23cm 1 pc https://www.ikea.com/gb/en/products/decoration/fr...
WS2812B Led Strip, Individually Addressable Smart RGB Led Strip,Black 74pcs/1m IP30 1 pc https://www.aliexpress.com/item/1m-2m-3m-4m-5m-ws...
NodeMcu v3 Lua WIFI Internet of Things development MCU board ESP8266 1 pc https://www.aliexpress.com/store/product/New-Wire...
Phone charger 1 pc https://www.aliexpress.com/store/product/EU-Plug-...
USB phone cable 1 pc https://www.aliexpress.com/store/product/New-Arri...
Proto PCB 1 pc https://www.aliexpress.com/item/20pcs-5x7-4x6-3x7...
Cable for soldering 1 pc https://www.aliexpress.com/item/5m-Red-5m-Black-S...
Solder tin 1 pc https://www.aliexpress.com/store/product/Sale-Hig...
Capacitor 16V 16V 470uF 1 pc https://www.aliexpress.com/store/product/100-pcs-...
Housing for electronics 1 pc https://www.aliexpress.com/store/product/2-colors...
Mirror 23 cm x 23 cm 1 pc Local shop
Glass plate 23 cm x 23 cm 1 pc Local shop
Total material cost of the project: 20,25 $/total project
Step 2: Assembly
Every step of the assembly process can be seen in the first step video.
Some additional information to the video:
The issue about the accuracy of the clock was solved by IoT technology and periodic time server synchronization. In this project, I used NodeMCU, which will handle time synchronization.
Next step was to find the right housing. I choose the IKEA RIBBA Picture Frame. I needed 60 pcs of LEDs in the clock because there are 60 seconds and 60 minutes. I measured the inner perimeter of the frame. I calculated, that the 74 pcs / 1 meter LED strip is ideal. After I cut 14 pcs LEDs down from a 1-meter strip, the remaining 60 pcs fitted perfectly the inner perimeter of the frame.
About the infinity mirror effect, you can find more here: https://en.wikipedia.org/wiki/Infinity_mirror
The mirror and the glass plate were a standard product at a local glass shop, they cut them for the right size.
Step 3: The Circuit
I connected all the components according to the schematic. Only a few PINs of the nodeMCU was used so a small proto PCB was more than enough. Actually, the cables can be soldered directly to the PINs, and the housing of the electronics can be left out, or you can put this box next to the power supply to have a better look. For that, you need to extend the cables coming from the LEDs strip, the maximum length for this cable is 5 meters (according to the datasheet, not tested). The capacitor is not needed if the power supply is a good one. My USB adapter is a cheap one, so I soldered one 450uF capacitor to the proto PCB.
The WS2812B LEDs are independently addressable components. Very easy to work with them. I just connected 5 VDC, GND to the power supply and the communication PIN to the MCU, and it works. The number of the LED should be specified in the Arduino code. Here is more information about these LEDs-s: https://cdn-shop.adafruit.com/datasheets/WS2812B....
Step 4: Upload the Attached Software.
For uploading the source code to the MCU-s use Arduino IDE Software and USB cables: https://www.arduino.cc/en/main/software.
There is a lot of instruction about how to program a NodeMCU ie.:
The basic of the source code is coming from this instruction:
https://www.instructables.com/id/Infinity-Mirror-C... Thank ItsGraGra for the inspiration.
The original program starts with a demo program, demonstrating the capability of the LED-s. Unfortunately, after a few second the MCU restarts itself. I thought that the problem is the cheap USB adapter. I tried with a benchtop power supply, nothing changed. I removed a part of the demo program, then everything worked fine. I left the demo program in the source code, if someone found out the problem please put the resolution into the comment or send me a message.
Before uploading the NodeMCU code, change your Wifi credentials, and set your time zone.
I have used this clock for 1 months without any problem. I am happy with this project, I already received some request from my family that I should build a few more.
Have a nice day!