I have seen several nice word clock designs here in Instructables and other places. Somehow, I’m always fascinated from the clocks and I wanted to build mine. After long time thinking I found a nice way that I thought would be the easiest.
First, I thought how could I make the word panel. Basically, all the designs I have seen are using fancy vinyl or laser cutting. I dint have access to either of them, but I have 3d printing access. So, that made fixed the first problem.
Second problem. How to light up proper letter. I thought about using a PCB and soldering LEDs on it. Coincidentally on that time I saw a LED matrix modules. That gave me an idea- why don’t I use the LED matrices. The control can be very easily made with an Arduino and here is very little soldering needed. I don’t have any problems with soldering, but I was looking a way to reduce time consuming work.
The video shows a larger version of this word clock, but the functionality is the same.
I used capacitive touch function to register the button pressing. At the beginning I wanted to use the fixing screws as the buttons, but I didn't have long enough screws and had to adjust the initial plan. The button working principle is exactly the same as I have shown here.
Step 1: What Do You Need
- A 4 in 1 LED matrix (eBay or Aliexpress)
- An Arduino Nano (normal Arduino would work too, but it doesn't fit into the housing)
- A real-time clock
- Connecting wires
- 5V power source, I used a phone charger
- Ten M3 screws, first six minimum 10mm long, the last 4 can be 6mm long
- A sheet of white paper
- A small prototype PCB
- Three ~1Mohm resistors
- Soldering station
- 3d printer
Step 2: Assembly
Print out the frame components. WordClockFrame2 would be easiest with a laser cutter, but I printed it out.
Make M3 thread to WordClockFrame3 holes. Use a special tool or just a screw and some force.
My LED matrix came with soldered header on the input side. That needs to be remove by soldering or cutting. The soldering is the best way as we need to solder there wires that will be connected with the Arduino. Solder the wires on the back side of the matrix PCB.
Now we can place the matrix in the WordClockFrame3. Make sure that the input side is one the left when facing the front of the LEDs. Place WordClockFrame1 on the LEDs, then comes a sheet of normal paper. I used the paper to blend the light little better. And finally add WordClockFrame2 on top. You can insert all the screws to make sure that the holes are large enough and the paper has holes in the correct places.
I used a large A4 size paper and after inserting (temporarily) the screws I cut the excess paper with a knife.
Place the whole package in the WordClockFrame4. Fix everything with screws. It is not very easy, but doable. Be careful not to fasten the screws too much as it will bend the letter panel (improvement possibilities).
On top of WordClockFrame4 are four screw holes. Place there screws and fix with each screw a wire. Looking from the front the screws are- ground, brightness, minute and hour. You can have your own order as you wish. They will be used later to adjust the time and screen brightness.
Now comes the wiring part. Connect
- LED Din -> Arduino D12
- LED CS -> Ardino D10
- LED CLK -> Ardino D11
- LED 5V -> power source 5V
- LED 5V -> Arduino 5V
- LED 5V -> Real-time clock 5V
- LED gnd -> power source ground
- LED gnd -> Arduino ground
- LED gnd -> Real-time clock ground
- Real-time clock SDA -> Arduino A4
- Real-time clock SCL -> Arduino A5
- Ground Screw -> LED ground
- Brightness screw -> R1
- Minute screw -> R2
- Hour screw -> R3
- Brightness screw -> Arduino D3
- Minute screw -> Arduino D4
- Hour screw -> Arduino D5
- Common R pin -> Arduino D2
Program the Arduino and test if everything is working as it should. If yes, then proceed.
Before covering it with WordClockFrame5. Use some tape to isolate the open contacts. Squeeze everything in and close with WordClockFrame5. It's quite tight fit, thus placing the components crucial for good fit.
When you are using a battery as the power source then just pressing the buttons (screws) doesn’t work very well. Ground is floating and the ground is not well defined. That’s why we have the fourth "ground button". Use one hand to touch the ground button and the other for “pressing” the buttons. When using power from a wall adapter the ground should be good enough. In the attached video you can see that I'm not holding the ground button when I'm "pressing" the buttons. I had a normal phone charger as the power source and that provides good reference ground.
The attached Arduino code should be quite well commented and understandable if one wants to adjust something.
As place is limited I show time with 5 minutes intervals. moreover, not all the hour words are shown as one word. For example, 7 -> S_ _ EVEN.
Step 3: Conclusion
The shown word-clock works and is actually very nice. One could optimize the letter panel for better readability, but for me it's already OK. Hopefully you like it too.
Some other projects and pictures: drTonis
Participated in the
Microcontroller Contest 2017