Introduction: Simple Word Clock (arduino)
This is a simplified version of the original word clock from Doug -- SEE HERE
All the credits go to him and his extremely well built code...!!
I have just modified the code to make it work with more common ICs and for simple run.
All you need is an arduino and a RTC ..I have removed the switches and other hardware..Since DS1307 is pretty stable, it does not require frequent time changes.! It will also keep the time even if there is a power failure, thanks to its internal 3v battery. This battey will last for years....
So even if you are going on a vacation, just turn off the clock and the time will be running accurate when you turn it back on..!!
I have made the Code as simple as possile ! It just reads time from the RTC and updates the shift registers..!!
Step 1: Collecting the Parts -
ELECTRONICS ---
Main parts ---
- Arduino or just atmega328p as i have used (standalone)x1
- RTC (Real Time Clock) DS1307 x1
- Shift registors 74hc595 x3
- ULN2803a Darlington Transistor Arrays as LED drivers x3
- LED strip I have used white...approx 2m
- 16 pin IC socket x3
- 18 pin IC socket x3
- 12v power source may be battery or wall adaptor
Miscellaneous --
- Proto board / general pcb board
- Connecting wires
- Male header pins
- Jumper wires- female-female
- basic soldering
FRAME AND STENCIL ---
- Mount board / thick cardboad
- Glue, Tape ...
- Scissors, Paper cutter ...
- Acrylic Board (translucent white) / Plexi glass
- Stickering of Words
Step 2: Making the Connections....
Follow to simple circuit diagram shown above...
I have used a standalone arduino which I can program with FTDI cables, but any arduino board can be used !!
For this project even though we control 22 individual LED arrays, we just use 5 I/O pins from the arduino ie.- 3 for shift Registors and 2 for RTC module.
Using Shift registors is a great way to increase the i/o pins.
Important thing about ULN2803a Drivers -
This IC is a darlington pair !!
Hence connect all the cathodes [positive terminals] of the LEDs to the source and the anodes [Negative/ground] to the respective output terminals of the Driver..!
Step 3: Building the Frame...!
Here I have used Mount board for the construction...
It is easy to cut, bend and handle the mount board. But it is also has less strength.
Any material like Wood, Plastic, Metal etc... can be used !
- Cut a piece of mount board the size of the front Board with words.
- Make a rough sketch of the words and their alignment on the board.
- Cut strips of mount board of size may be 1.5 cm.. This is to make compartments, the size of the words. this will prevent the light from one word to diffuse and illuminate the surrounding words.
- Place the strips horizontally after each line of words and vertically in between the words. ie- make small boxes for each of the word.
- Finally make a box that will sneakily fit the electronics, the LED board, anti-diffusion boxes and the outermost board with words stickered on to it..
Step 4: Connecting the LEDs...
I'm using the LED strip in this project. It is easy to operate with.... it can be cut for desired length, no need of soldering each and every led to make an array .!! LED Strips also come with a peel-off sticker at the back.
Just cut the required length of the strip depending on the size of the word and stick it on the LED board ( mount board). Remember that most of the led strips have connectors at an interval of 3 leds...So you have to cut at the indicated points only.! Therefore even the smallest word will have 3 leds.
You can even use the standard LEDs, solder them for desired number of leds. Remember to use the resistor for each array that you make. the value of the resistor depends on the specifications of the leds used. You can check here for further info -- LED calc or this one..
Connect all the Positive terminals of the LED strip together. This is the common Vcc for the leds.
You can see that i have connected it using thin copper wire. Then Connect wires for all the individual ground terminals for each word and bring it back to connect it to the driver.
Step 5: The Codes.....
The original code itself is well commented and easily understandable ....!!
The #define section allots the pins on the shift register for individual words.! They will be updated each time when the time changes.
The void WriteLEDs function updates the shift regesters through the data pin.
The void selftest function blinks all the LED words in a sequence so that you know everything is working correctly. ie- for Troubleshooting.
The void displaytime function will check the time with the RTC chip and see which words to be illuminated accordingly.
The rest can be easily made out by the code itself....
Word_clock_RBK
Step 6: Finishing It Off.....
Place all the controller boards, ie-- arduino and circuit which contains shift registers, RTC chip and LED drivers.
Connect the LED arrays of each word to the respective pin of the driver.
Place the LED board inside the Casing and fix it in place...
The main outer Stencil is made by stickering the words onto any acrylic or plastic.
Make a hole at the back for fixing the clock for using a nail.
There you have it.!! A simple Word clock ....
Please do leave your comments and doubts below, though in not a expert i will try to answer it...
THANK YOU.

Participated in the
Metal Contest
3 People Made This Project!
- PeterK368 made it!
- HazardousMaterials made it!
- 1413 made it!
30 Comments
Question 2 years ago
Hello, I am making the project and I have finished soldering almost all the leds but I want to try the self test to see if they light up. I know it is inside the arduino code but I can't really make it work. Can someone help me or could the author post only the test code, please? Thanks.
Answer 2 years ago
Hey Alex, there is a 'void selftest()' function in the code.
If you want to run only thr test section, then remove everything from 'void setup()' except pinMode configs and function call to selftest().
5 years ago
Hey bro, how long does it take to you need to change the battery? i'm trying to make one and i want to make in the same way as yours with battery! Very good instructables dude, so far the best i've seen!
Reply 5 years ago
Hey rochadias, thanks.! ?
The battery will run for years..
Mine is now 1.5-2nd year running..
Reply 5 years ago
Thanks man, i'll try to make one in a few days, i'll bring you the results!! thanks a lot!!
6 years ago
how about the positive terminal of led arrays? where do i connect it?
Reply 5 years ago
The positive terminal is connected to the supply voltage (12v)
5 years ago
nice work , thank you for sharing , can we add two buttons to adjust the time without using pc , like the ones used in doug's clock?
Reply 5 years ago
Sure you can..
You may have to change a few lines of code
7 years ago
could someone tell me which pin connect which led?
Reply 7 years ago
The led will connect on the same order as in the code...
The first pin of the shift register connect to the first pin of the led driver, which connects to the first word....
Reply 7 years ago
can you send me the code? i can't even open or download it
7 years ago
If I wanted to change the size of the clock to make it a bit smaller, would I just be able to do that to the display or would I have to change the code? Thanks in advance!
Reply 7 years ago
Just use a smaller stencil.... Reduce the number of led per word.... The code has nothing to do with the size.. ? Good luck.
7 years ago
sir give me the output led connection. which led connect which pin? i cant understand please help me sir
7 years ago
finally sir i made this project but thetimer cant be shown. when i upload a programme so that time led is on 1 by 1 after that all leds off no 1 can oprate give me suggestion for this.... thank u for the last reply
Reply 7 years ago
Sorry I did not understand your question....
But try some of these troubleshooting tips --
* Make sure that the RTC is working properly
* Try connecting the arduino to a computer and check the serial communications (in IDE) to see where the problem is.
* Make sure that your source can provide enough power required...
7 years ago
there was a problem occurs at line give suggestion for error and correct a right programe
i added a progamme error issue at bottom
Arduino: 1.6.8 Hourly Build 2016/01/12 04:53 (Windows 10), Board: "Arduino/Genuino Uno"
C:\Users\Dheeraj\Documents\Arduino\word\word.ino:4:20: fatal error: RTClib.h: No such file or directory
#include "RTClib.h"
^
compilation terminated.
exit status 1
Error compiling.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Reply 7 years ago
you need to install the library for DS1307 first...
download here
7 years ago
Hey,
Where can I find the letters sheet to print out?
Thank you