Picture of Make A Digital Clock From Scratch
 In some point in the life of every electronics hobbyist the need to make a clock is borned, in my case it was about a month after I soldered my first part on a board, but back then I didn't have the right tools, parts and knowledge to do such a thing.
But after about 2 years I got all the things I didn't have back then and I was ready to make my first digital clock, and with all the LEDs I had left over from my 8x8x8 LED cube project I decided to make my own custom LED clock.

So join me and build your own custom LED digital clock powered by our favorite little micro-controller the Arduino.

Step 1: What Do We Need?

Picture of What Do We Need?
 Here is what tools you will need to make this:
  1) Soldering Iron.
  2) Some solder wire.
  3) Small needle nose plier
  4) Small cuter
  5) Wire striper

I made my clock with a stand alone arduino without the original board because I wanted to make a finished project.

Now here are the parts you will need to make the clock:
  1) 130 LEDs.
  2) 15 2N4401 transistors.
  3) 20 1K resistors.
  4) about 10 resistors for the current protection(more detail in step 2). I used 150Ohms.
  5) DS1307 real time clock IC.
  6) one coin cell battery holder.
  7) 4 Tact switches.
  8) Prefboard (you would like to get along one for the display about 8inch*3inch)
  9) ATMega328 with arduino bootloader.
  10) A programmer for programing the chip. 
  11) 7805 voltage regulator.
  12) 16MHz crystal.
  13) two 22pF caps.
  14) 28 pin IC socket for the ATMega328.
  15)10 uF cap.
  16)0.1 uF cap.
  17) 4017 counter
  18) 32.768KHz crystal

1-40 of 164Next »
SuntiratN2 months ago

Can you send me complete source code, please


didod4 months ago

i have a problem, error

RTC.get(rtc,true);//get the data form the RTC IC

download failed

DS1307 and More.zip291 KB

how do that ?

CristobalD6 months ago

I have mounted the circuit 7 displays business segments and transistors are 2N2222A.

The problem is that lack luster to segments.

CristobalD6 months ago

Tengo montado el circuito con displays de 7 segmentos comerciales y los transistores son 2n2222A.

El problema esta en que falta brillo a los segmentos.

KusalW6 months ago

i have used blue LEDs,To work 4 leds need 12v so can i give 12v through that transistor.

simbrose2 years ago
Having some problems with the finished clock. The first time I powered it up, I set the time and date, and it ran great. After an hour though, it seemed to reset itself and displayed the zero digit on each of the six numbers (like it was before I first set the time and date). Now whenever I set the time again, it runs for about 4 seconds then resets to zeroes again. Sometimes, it won't display the time or date after it has been set.

Anyone having a similar problem? any suggestions on how this could be fixed? I've tried disconnecting the reset pin from the circuit, but that didn't make any difference.
CP LED simbrose8 months ago

i have the same problem ..n i used the uno board but the things went good for the first time n next time it doesnt store time it just diplays 000000 and notinhgs goes on n wen i set the time it take all input but wen pressing setting butoon the display shows the same 000000 ... any solution u found

simbrose CP LED8 months ago
try taking out the button battery, i think that worked for me. It seemed to run fine with just the 9V
Try putting pull up resistors to the DS1307's data lines.
2.2kohm, read datasheet for further ado.
CP LED8 months ago

used the uno board but the things went good for the first time n next time it doesnt store time it just diplays 000000 and notinhgs goes on n wen i set the time it take all input but wen pressing setting butoon the display shows the same 000000 ... any solution my problem n if i use stnad alone arduino it just show zero on the first digit...

plz help i have to it do it by dis year 2014 or else it will affect my grades....

jasper5008 months ago

you could save a digital output by connecting pin 5, the Q6 output of the 4017 counter directly to its reset pin 15. This creates a 1 of 6 counter.

just wondering what is the approximate cost of this project?

KaarelRohtla9 months ago


A problem bumped up when I started programming. When compiling I get next error message:
This report would have more information with

"Show verbose output during compilation"

enabled in File > Preferences.

Arduino: 1.0.6 (Windows 7), Board: "Arduino NG or older w/ ATmega8"

C:\Users\Kaarel\Documents\Arduino\libraries\DS1307\DS1307.cpp: In member function 'void DS1307::read()':

C:\Users\Kaarel\Documents\Arduino\libraries\DS1307\DS1307.cpp:48: error: 'class TwoWire' has no member named 'write'

C:\Users\Kaarel\Documents\Arduino\libraries\DS1307\DS1307.cpp:61: error: 'class TwoWire' has no member named 'read'

C:\Users\Kaarel\Documents\Arduino\libraries\DS1307\DS1307.cpp: In member function 'void DS1307::save()':

C:\Users\Kaarel\Documents\Arduino\libraries\DS1307\DS1307.cpp:74: error: 'class TwoWire' has no member named 'write'

C:\Users\Kaarel\Documents\Arduino\libraries\DS1307\DS1307.cpp:82: error: 'class TwoWire' has no member named 'write'

I am currently using USBasp programmer to program the circuit, Also I use new DS1307 library a good man provided in comments but I still can't make it work. I anyone able to help me with that problem?

SudiartoHsu11 months ago

sir i have a problem using arduino 022. are you have a sketch for arduino 1.0.5? thanks.

rmaduki made it!1 year ago

I have a problem! if I look at the date, one dot LED is not lit .. but when back to clock mode, the LED dot lights up


Would you mind sharing the PCB design you used? I am having troubles getting my cad software to work. Any response is appreciated.

Thanks, Adam

pepy rmaduki1 year ago

check your wiring...may be 'short' with others segment. use your multimeter

CP LED1 year ago

in the above circuit diaram where does the pin of clicok ic goes ......

do we have to cinnect all the small boxex or we have to just leave those pin as it is

CP LED1 year ago

in the above circuit diaram where does the pin of clicok ic goes ......

do we have to cinnect all the small boxex or we have to just leave those pin as it is

pepy made it!1 year ago

i saw this tutorial for few years ago, and i want to built it, but i don't know what i'm doing. i don't know about microcontroller. and i learn about it, and now i'm made it!!! thanks for the tutorial...i change the LEDs to seven segment and different display. on the left side i use common cathode seven segment, and the right side i use commond anode 4x seven segment with 2pcs smallest seven segment display..... :)

Steve251 year ago

Got it working, but there is one problem left. The dots keep flikkering like every second. Any idea what could cause this?

Steve251 year ago

Do you have to connect you're DS1307 to the 5V? It isn't connected in the drawning

Oliverhall1 year ago

Nice clock! and nice tutorial!

Have a look at this website, they are selling the DS1307 real time clock: http://voltatek.com/en/sensors/34-i2c-rtc-ds1307-a...

jz02bdn made it!1 year ago

I made it..... use Arduino-0022 to upload the program you can download here


in the code, there is a line - " pinmode = SET.read();If it was pressed you will exit the while loop "

In front of the "if" needs two slashes, like so, pinmode = SET.read();//If it was pressed you will exit the while loop

Yea I figured it out already but thanks

this is my project ... i did it by follow schematics and sketch from this page... if your project doesn't work... double check your wiring and parts


hai, bagaimana cara merubah sketch nya?? punya saya error spt gambar d bawah ini

asketch npp error.png

hi, how to change this sketch?? I got an error like d picture below

upload your sketch with arduino-0022 program... try to read all comment in this page...

ok it looks like it should be compiled with Arduino 0022, and this seems to be successful. probably because the DS1307 Library here is not matched with the latest Arduino IDE. okay thanks for the reply

sketch berhasil.png

I'm not even started yet. Im low on spare time at this time but i will build it

did you finish your project?

No im not started yet

Steve251 year ago

In a lot of guides people are using 10K pull up resistors. What's the advantage of 10k ohms instead of 1k?

Steve251 year ago

Does anybody have the new DS1307 library because the one in this guide isn't working anymore

Steve251 year ago
I have an error when im compiling the program:
In file included from LEDclock.ino:4:
C:\Users\Stefan\Documents\Arduino\libraries\DS1307/DS1307.h:47: error: 'boolean' has not been declared
C:\Users\Stefan\Documents\Arduino\libraries\DS1307/DS1307.h:48: error: 'boolean' has not been declared
C:\Users\Stefan\Documents\Arduino\libraries\DS1307/DS1307.h:55: error: 'byte' does not name a type

Does someone has an idea what the problem could be?
robot7974 years ago
i has a question do you mind if i rebuild this using vfd tubes?
Syst3mX (author)  robot7974 years ago
I don't mind at all, you can do anything you like.
Good luck with that mate!
i only have one problem
can you put the code with comments up soon
then i can reprogram it easyer
Syst3mX (author)  robot7974 years ago
OK I will try to update the code by tomorrow.
1-40 of 164Next »