4000 series CMOS 24 hour clock


 For the last couple months a friend and I have been working on a 4000 series based clock in electronics class. After having failed building a FM receiver, we opted for a clock. We didn't go the microcontroller way, but old school ICs. So, we created a circuit for a simple clock. I opted for a 24-hour version, while my friend made the 12-hour equivalent. 

The above image was the basis of the circuit. Not shown was a 4060 and 4013 IC to make a nice 1Hz signal which we can use for the seconds. The rest is fairly simple: allow the seconds and minutes to count to 59 and use AND gates to reset at 60. Also pictured is the buttons to set the time. We used two 2N2222 transitors to make a NOT gate. Though, this ended up being too glitchy so I opted for a 4011 to create stable square wave.

And here's the clock. Incredibly disorganized but it works.

A couple months learning and work and we finally have it working! We used a 7805 voltage regulator for the entire circuit since I didn't want to add resistors to the displays. 9 volts would be much better though. 

I started using EagleCAD for the schematic but I messed up. I was adding lines instead of nets. So, my friend found DesignSpark and we used that. As far as free goes, the program is pretty easy to get going. One pain in the ass was that DesignSpark didn't have the right 7 segment display. We ended up creating them from scratch, see the attachments to download it. 

I didn't have enough time to create a PCB out of it which is disappointing. Although, my friend ended up making his, albeit with his schematic rather than mine, the PCB turned out to be a bit larger than an A4 sheet of paper. Not small at all.

Anyway, it was a fun project to make and I definitely learned quite a bit along the way. 

See the attachments at the bottom to download the schematic as a PDF or the DesignSpark project.

Edit: Note that the 1N4004 diodes should be 1N4148 instead. DesignSpark does not have these diodes in the libaries.

Attachment Size
7segment_display.zip (4.97 KB) 4.97 KB
CMOS_24_Hour_Clock_v1.1.sch (136.5 KB) 136.5 KB
CMOS_24_Hour_Clock_v1.1 - Schematic.pdf (98.29 KB) 98.29 KB

you sure?
care to explain?
just wondering


Well done for going hard and doing it "old school". I'm sure you learned a lot, and hopefully inspired others to do so.



Well done. I have also started, but yet to finish, a similar clock.
I downloaded your schematic. I noted that your SEC05 (4029 counter) JAM inputs are not tied low as per the other 4029's. Thought you'd like to know.

Instead of creating a 1s clock, I was thinking of using a 1pps signal from a GPS.


Yes, you're correct. I'll fix the schematic and re-upload it.

A 1pps signal from a GPS would probably be more accurate than a crystal like I'm using. I haven't noticed the time being off at all (as far as accuracy goes) but I'm sure it'll be +/- a couple seconds a month.

It may or may not be more accurate.

My thoughts are to use the data stream to read the time, via a microcontroller. Then calculate the number of pulses required to set the time. After this, let the 1pps signal update the counters autonomously.

Also let the micro reset the time once a day, to account for any leap seconds that occur in the GPS system.

Must make more time for this :)


I would like to do a clock like yours so, my questios are:
- Have you alreadi fixed the schematic?
- I do bilieve that the IC's 4029 and 4511 on top right of the schematic are for the seconds and the other two ones just below are for the tens of seconds. Please confirm.
- Also which is the frequncy of the two oscilators to set the clock?
Thanks in davnce for your comments.

Yes, I have fixed and reuploaded it.

The topmost 4029 IC is for counting 0-9 (note it's named SEC09, meaning seconds 0-9).

The 4013 IC outputs a 1Hz clock on pin 1. Is that what you mean?