/Projects/Word Clock

I have been seeing these "Word Clocks" all over the internet for the past few years, but they never really impressed me much. Mostly because there is nothing special about them (from the electronics point of view) but after seeing QlockTwo made by Biegert&Funk I simply couldn't resist making one that looks that nice. But of course, in my local language. Aside from different language, I wanted it to be able to display full time - every minute of an hour - so I ended up using 248 white LEDs. To keep that stealthy look I used two capacitive touch sensors under the glass (near left and right LED dots) as buttons for the user-input.

UPDATE: There is a discussion about constructing the clock of the forum here!

UPDATE: Project is on Hacked Gadgets and Hack-a-Day :-) !

UPDATE: PCBs for v2 are available for download here: Main Board, Touch Sensor. Be careful, current firmware is not compatible with this PCB!

UPDATE: Factory made PCBs are being tested: Main Board TOP, Main Board BOT, Touch Sensor BOT, Touch Sensor TOP.

word clock qlocktwo circuit schematics

The project is open source and you can download all files by clicking on red download button just under the article. Note: to "translate" the clock into other languages, you will need to make a front vinyl foil with your own word/letter combinations and to edit the language header file in the source code.

word clock qlocktwo circuit schematics

Firmware features

1. time display, obviously
2. date display
3. temperature display
4. seconds display
5. configurable times of showing for all of the above (for example, the clock can display time for 20 seconds, and move to next thing to display: date, temperature or both and go back to time. It can even be set to display only the temperature)
6. automatic LED brightness adjustment according to ambient light (with automatic sensor calibration)
7. corner LEDs (dots) blinking at 1/2 Hz rate (or even turned off)
8. sleep mode - shutdown until next button (sensor) press

Structure
The build itself was a real motivational rollercoaster mainly because it involved gluing a "letter mask foil" with all the letters which was the most nerve consuming process, a lot of woodwork, lots of soldering and some programming.

wordclocksandwitch

The clock is made from 5 layers: a) Glass, b) Vinyl graphics, c) Tracing paper, d) Wood, e) Back side. Layers "a+b" are called The Front, "c" is just a paper to diffuse LED light, "d" is The Middle, and layer "e" is The Back.

The Front (glass + vinyl graphics)
To make the front for the clock I decided to use 3mm glass with machine-polished edges in so called "flat polish" which leaves a nice small bevel. Glass is more scratch resistant, durable and cheaper then plexiglass so that's why I have chosen it.
The foil with letters is a self-adhesive black glossy foil by SERILUX™ which was cut by vinyl graphics cutter machine. The idea was to glue it to the back of the glass (for that extra glossy finish), so it was very important not to "trap" any dust particles between the glass and the foil since it would ruin the entire look. The best way to do it is under the water, and if some dust falls on to our working surface it would stay on top of the water. Much easier way is to simply use a spray filled with water and just a drop of dishwashing liquid/soap. This solution is sprayed on the glass and on the sticky side of the vinyl during positioning on the glass. The water+soapy solution will lubricate the entire process and make it possible to re-position the vinyl even after the sticky side touches the glass. The water is then carefully squeezed out with a credit card.

bazen1
Pool of water for underwater vinyl gluing - the unconventional way

bazen2
Underwater vinyl gluing - the unconventional way

The process/tutorial of attaching vinyl graphics to the glass can be found all over the internet so I will not be explaining it here in detail, I will just say it is a two-man job for graphics of this size (17.7 x 17.7 inches).
Foil graphics/letters are created and arranged using Inkscape - an open-source vector graphics editor. Font used is identical to the one used in QlockTwo - "DIN".

You can see me my reflection in the glass :-)
Vinyl graphics attached to the glass - currently incomplete letters

The Front is glued to the wood permanently by using transparent silicone. When cured, silicone can hold heavy loads and is usually used to attach glass to glass or other materials. I used small amount of silicone in case I ever need to remove it from the wood, but hopefully that will never happen.

The Middle (wood)
Entire clock electronics are embedded in standard 18mm thick MDF wooden panel with edges banded with glossy white PVC band. I simply ordered 17.7x17.7 inches MDF board with glossy white PVC edges from the local kitchen cabinet manufacturer.
After it arrived I had to make 248 cone-shaped holes and spray them with reflective paint, which took me few days do complete.

drvo2
The beginning

drvo6
Widening the holes at the top... I didn't have the cone-shaped drill bit at the moment

Next step was to make the grooves in the wood for the electronics, PCBs with LEDs, all the wiring, and capacitive sensor PCBs on the front.

drvo8
Making grooves on the other side

woodgroovesdone
Grooves for electronics and holes for dots - done

woodreflectivepainting
Painting LED holes with reflective paint

woodedgespaintedblack
Painted edges in black because the vinyl sticker was smaller than glass by 1mm, so "white" was visible

There is also a small 5mm hole through the PVC band in the bottom of the clock for the CdS light sensor.

Electronics
The whole thing is a dot-matrix display with 244 LEDs and 4 corner LEDs. Microcontroller used in this project is ATmega328P but the code can fit into ATmega168P just as well. Time keeping is done by DS3231 (or DS3232) i2c RTC IC from Maxim. It is a very good and accurate IC that also has a temperature sensor inside so we can read the temperature from it too.
There is no power supply regulator in the electronics because I wanted to avoid any unnecessary heating. There is just one 5.1V Zener diode for over-voltage protection. Everything is powered from a 220V/5V 1A "wall wart" SMPS AC adapter and I strongly rely on it's voltage output accuracy.

wccpu
Main board schematics - click to enlarge

mainpcbdrilling
Main PCB drilling

mainpcbdone2
Main PCB completed, still dirty

mainpcbdone
Main PCB done - soldered on top side as SMD components

Controlling all those 248 LEDs is done with four daisy-chained MAX7219 ICs. These ICs can control 64 LEDs each so I needed 4 of them for the entire display. The display is divided into 4 parts, one for each MAX7219 used.

ledmatrixschematics

LED matrix - the clock consists of four of these matrixes, one for each MAX7219

ledstrip
The PCB that holds LEDs - there are 56 of these in total

ledmatrix
All 56 LED strips with LEDs soldered - placed into their groove

ledmatrixinwood
Now it is ime to connect the MAX7219 breakout boards

LEDs used in the project are SMD White PLCC-2 LEDs (eBay) that require just around 4-5mA each for total brightness. Since LEDs are multiplexed by MAX7219, the worst case scenario of current consumption is around 8*4*5mA = 160mA + few mA for the Atmel and surrounding ICs. In normal operation mode the entire clock consumes only ~40mA!

wcMAX7219breakout
MAX7219 breakout board schematics - click to enlarge

max7219pcb
MAX7219 PCBs soldered - 4 required for this project

max7219inplace
MAX7219 PCB in its groove - time to solder them to LED matrices

max7219soldered
All four MAX7219 PCBs soldered to their matrices

addingcornerleds
Later I added four corner dots. They are connected to two upper MAX7219 ICs since there are two unused LED rows for each upper IC

Just a note for soldering the LED matrices to MAX7219 ICs - no matter how you solder/arrange them, you can re-map them in the source-code. For example, if you mix Dig0 with Dig5 it is not a problem - there is a part of source code where you can change these references. I had to make that part of code because I freestyle-soldered these also.
For user input I didn't want to put simple push-buttons simply because there is nothing special about them, so I ended up using two Atmel AT42QT1011 capacitive touch sensors which work excellent through vinyl+glass.

wctouchsensor
AT42QT1011 touch sensor schematics - click to enlarge

P8080130
Capacitive touch sensor PCBs

at42qt1011
Capacitive touch sensors soldered - AT42QT1011

P8080141
Capacitive touch sensor panel - a piece of PCB, sprayed with PLASTIK 70 to prevent oxidation

P8080140
Capacitive touch sensor panel - PCB will rest in it's groove

touchsensorinplace
Touch sensor PCB in place

All parts are connected with wires like in the picture bellow, and power cable is the only thing left unconnected.

mainpcbinwood
Main PCB connected to everything else

alldone2
All done!

The Back (hardboard)
The back cover is made from Hardboard, a 3mm thick wooden material 17.7x17.7 inches in size. I will probably leave the clock without it, maybe I will just put a white glossy vinyl instead, just to protect everything from dust coming in.

Testing the LEDs
From all 248 LEDs I found that only one of them didn't actually work, three were badly soldered - oops!

matrixbadleds
LED matrix test

Images of completed clock

word clock qlocktwo circuit schematics

word clock qlocktwo circuit schematics

word clock qlocktwo circuit schematics

word clock qlocktwo circuit schematics

Videos of clock working


Normal clock operation, with date and temperature request


Clicking through the menu, turning off corner dots blink


Testing the automatic brightness and re-calibrating the CdS sensor

 

Videos made during development
There are several videos I made during the development.


Display matrix test with one really BAD led


Since we have a dot matrix display, we can print text on it

Now all that is left to do, is to hang it on the wall permanently.

Author (sent by): Trax

Download counter: 4,149

Rating: (2.96, votes 5112)

Vote:

Date: 12-09-2012

Lokalna verzija ove stranice: Sat sa riječima

841_word_clock.zip

Bookmark and Share Comments (222)

comment [172]

Check the assembly on forum: http://www.elektronika.ba/forum/viewtopic.php?f=13&t=13916
IP: n/a

comment [171]

A friend may share or tile patterns smd in eagle?
IP: n/a

comment [170]

Yes, but you can see forum discussion here: http://bit.ly/1oPoMOg
IP: n/a

comment [169]

I like the design however, if i were to build this in english, would I have to program it differently to show the letters?
IP: 99.228.104.12

comment [168]

hello everyone. I have a small problem with the code of the clock. I use an Arduino UNO so a 16Mhz clock. I change the settings in the program for the frequency but I still have the same problem. I have only the left half of the clock which displays something. The right side remains completely black, although at startup clock it seems light. The button work, the problem is only th display part. Where does this come from. I tried a piece of personal code to turn round the clock and it works perfectly, so the problem is not the wiring. Thank you in advance for those who take the time to help me. I have change clock parameter in the program. Sorry for my english i'm french.
IP: 81.48.227.22

comment [167]

Hello I am of Polish and do not know English (Translate Goggles) At the beginning of congratulations for a great project. I'm in the construction of this clock, but instead of doing the plate I wanted to use arduinio nano v3.0 16Mzh and testing have 4 modules (http://www.wayengineer.com/index.php?main_page=product_info&products_id=1102) clock module I'm also on a separate plate. The only thing he did the buttons. Everything seems to be ok but when I connect the buttons, everything starts to fall apart ie involve themselves, or what could be the reason?
IP: 82.160.24.22

comment [166]

Great Ray, let us know how it turned out!
IP: n/a

comment [165]

Designing a single PCB for all the Leds would save a huge amount of effort in wiring, soldering and mounting. The drivers could be moved to one edge. I plan to try this and will report back. I have optimized the English word count to fill a 14*14 matrix which would need only 3 Max's - (196 - a few unused leds). A great project, thank you !
IP: 105.227.64.20

comment [164]

It looks great!
IP: 176.31.132.64

comment [163]

Skuzmitoo, I simply went to a local shop that cuts custom vinyl stickers and gave them my design, they cut it on their machine, I said THANKS and that's it. When I got home, I found out that it was SERILUX. The next time I ordered my sticker to be cut they gave me 3M foil which also worked great. You need to try using the foil that they offer, it should work just fine.
IP: n/a


Comment page: <12345678...>


add comment

name

e-mail (will not be published)

website

How much is = also add letter "a" at the end of your result! Eg.: 7a

Please log-in!

You can log-in on forum link: Login page. After logging-in, return to this page and click refresh in your browser.

site friends

sponsored links

ads