Step 11: Whats been hapening these last few months....

Picture of Whats been hapening these last few months....

As an update, I have redesigned the Arduino clock controller board - I decided that in reality all I needed was the ATMega Chip itself, and that placing an entire module was a waste of PCB space.

I have further updated it to version 3 - supporting a RTC chip, and reducing the size of the PCB.

Here is a photo of the v2 and v3 boards, and an assembly manual, (which I have been sending out with my kits) - That should make assembly easier for anybody who wants to make one themselves.

The new PCB

The new PCB that I designed has larger tracks, and larger pads, making assembly easier.  When you look at the PDF, you will see that there are large copper masses 'directly over' existing tracks.  Please don't worry - that is normal - it is a ground plane, and the track that it is over is the ground track.  All of my boards try to use ground planes so that I have to etch less copper from the board.

Programming the new board:

One Idea I got from, was to use one of their programming cables, instead of using an entire Duemilanove module.  It is really cool - you pay $20, and you can use the cable for many many projects - all you have to do is include a trivial programming header on the PCB.  The cable is available from:

A New Display PCB

I have been designing a new display PCB - I can etch it on 2 6x6 inch pieces of single sided PCB stock - the neat thing about the new display, is that it gets cut into a set of "LED Strips", with each strip being used to illuminate a word.   the spacing between LEDs is about 23mm, so I can use these strips to make BIG WORDS (Much larger than the 6 inch displays i have been making).  The clock size that I am making currently will be about 240mm x 240mm for the word plane, set into a total display that is about 320x320, making a really nice wall clock - It will take a couple of weeks, but as soon as I have something more tangible to display, I will put it up here.  

I etched the PCB over the Easter weekend, and am looking forward to making a bigger display.

Another side effect of the LED strips, is that you are not limited to English words - we can modify the software for any language, and you can use whatever size strips you need behind words to make the clock work!!!

Updated Software to allow the brightness to be reduced at night

I have modified the software to allow the brightness of the clock to be automatically adjusted based on the time - At 7pm, it will reduce the brightness, and at 7am, it will increase it again - This was to allow the clock to be less intrusive in my daughters bedroom.

Attached is the software that allows that to happen, and Matt Sparks DS1302 library.  It is in the file attached to this step.

Remove these adsRemove these ads by Signing Up
BeerLogic2 days ago

cool on the rev 3 version of the circuit you connected the ULN2003A common lines to the connector so I can be tied to the supply line and protect the ULN2003A if it is used to drive inductive loads.

m4rl3y3 years ago
Hi, compliment for the project is very very very geek . i would make a clock in italian language .
i would implement the dcf77 receiver module for automatic upgrade time but i have a problem to write the code, you help me ?

sorry for my english!
brad12134 years ago

Could you post a clearer pdf of the V2 schematic. The schematic included in the assembly manual is too fuzzy to be able to read it.

drj113 (author)  brad12134 years ago
Sorry, I can't get at the rev2 schematic at the moment. Here is the rev3 schematic, it uses a RTC chip - that is the major difference between the rev 2 and the rev3 board.
scat drj1134 years ago
I dont see the RTC chip.
drj113 (author)  scat4 years ago
I have updated the last step to include a photo of the current v3 board. Hopefully that helps :-)
andrea_Stef4 years ago
hello I finally finished the clock ... it was fun. Since the clock is very bright I wondered how to put a potentiometer to reduce the brightness of the LEDs ... Thank you.
drj113 (author)  andrea_Stef4 years ago
Cool. It is great to hear that your project is finished.

There are two ways we can reduce the brightness. (1) is to reduce the input voltage - what voltage are you driving your clock from at the moment?

or (2) - we can add a dimmer routine to the code, so that the LEDs are pulsed very fast in a way that reduces their brightness - I did this for my daughters clock, and it works really well - unfortunately the code got lost when i lost a hard disk... but I can re do it again if you like.
hello thank you so much for responding. the idea of including a routine software is brilliant. In fact my idea was to limit the brightness only at night while during the day leave the brightness at maximum. I'm not very experienced in programming the Arduino. thanks again.
drj113 (author)  andrea_Stef4 years ago

Thats not a problem - and in fact, Sian's clock was modified to reduce the brightness at 7pm, and to increase it again at 6am.

Sadly the code to do that doesn't exist any more, but I can re-build it.

I am working on another Instructable at the moment, so I am a bit focused there.  If I don't get back to you in about a week, check me an email to, and I will start recovering the code again.

ok... good working ...I will contact you next week hello and thanks
drj113 (author)  andrea_Stef4 years ago
Yay - I got the changes back!

Attached to this step, is a .pde file called wordclock_reduced_brightnes.pde -

It is setup to reduce the brightness of the LEDs at 7pm, and to increase the brightness at 7am - This allows the clock to be non-intrusive in Sians bedroom.

In the code, there are 2 constants:
// DAY Brightness setting 0 = off 20 = full
// NIGHT Brightness setting 0 = off 20 = full

If you want the clock brighter - just change those values. If you don't want it to dim at all, simply set the brightness values to the same number.

Let me know how you go.

hey i'm addedo the DS1302.h file in arduino directory... i find another error... you have write DAYBRIGHTNES one time with one S and another time with two S final... i fic it but there is another error that i can't fix... the compiler told me this...

undefined reference to DS1302::DS1302(unsigned char, unsigned char, unsigned char)

referring to this line

DS1302 rtc(DS1302CEPin, DS1302IOPin, DS1302CLKPin);

i'm doing something wrong? thx for the help
drj113 (author)  andrea_Stef4 years ago
Whoops - Sorry about that - Thats what happens when you go back and fix spelling in code..

The error you mention does not occur with the Arduino IDE and the DS1302 library that I have - It turns out that there are a couple of libraries....  I have now deleted the ,pde file, and replaced it with a zip file containing the .pde and the DS1302 library that I use.

You will need to load the DS1302 directory into your library folder wherever you have installed the Arduino IDE.  In my case, it is
"C:\arduino-0017\hardware\libraries\" and restart the IDE - then it all just works!

Once compiled, the IDE reports

"Binary sketch size: 11172 bytes (of a 14336 byte maximum)"

ok i've done... work pretty good... thx
drj113 (author)  andrea_Stef4 years ago
Yay - I would love a photo of your finished clock - My email is
if you would like to send one.
hi... thx very very much... but i cant compile the file... arduino tell me this error...
DS1302.h no such file or directory...
thx Andrea
hello I do not know if you remember. I contacted about the problem of brightness of the word clock, you told me it was possibile to reduce it by adding a function within the software. I tried but I could not ... could you help me? Thank you very much ... andrea
drj113 (author)  andrea_Stef4 years ago
Whoops - I am so sorry - It has completely slipped my mind as I have been busy with other projects. I will make the necessary changes in the next few days - if you don't hear anything from me by about Tuesday, feel free to email me at for an update. Doug
andrea_Stef4 years ago
hi... i'm interesting to the version with the ATmega Chip... if you have time, can you write the instruction? in your PIC version of the clock can i replace the pic with the ATmega?
drj113 (author)  andrea_Stef4 years ago
The Arduino clock uses an AtMega168 chip as currently designed. It can also use an Arduino module