I want to make a 15 minute timer for a game. I would like it to count down 3 x 5 minute segments of time, and then ring a bell when the 15 minutes is up.

To do this, I want to push a button to initiate the timer, which will then light 3 x leds. After each 5 minute segment is up, one of the LEDs should go out. Finally, when 15 mins is up, I want to ring a bell (just once) using a solenoid.

Trouble is - I don't know where to start! My background in more in computer programming - so I understand the logic required to do it, just not how! (I've put circuits together in the past, but always using someone elses schematic - I'm not sure where to start in terms of designing my own.)

I'm not looking for someone to design it for me (though it might help!) but for an idea of where to start figuring out how to do this. Have had a look at some 555 based egg timer circuits, but don't know how you set the time periods on them.


Have knocked up a vague schematic - does it look like I'm heading in the right direction? If this does what I think it does it should begin with three LEDs switched on, then with each clock pulse knock an LED off until they're all off - then it should reset.

First attempt at timer circuit

  • \$\begingroup\$ How accurate does it need to be? The 555 is not very accurate for such long delays. \$\endgroup\$ Commented Nov 16, 2011 at 23:44
  • \$\begingroup\$ Not massively accurate, but if there's a better chip in terms of accuracy I'm open to suggestions! \$\endgroup\$
    – Ben
    Commented Nov 17, 2011 at 0:52

4 Answers 4


I'd not like to ruin your learning fun BUT if you get a more or complete idea on this project you can move on to more difficult ones.

The circuit below is almost exactly what immediately came to mind for me (I have had lots to do with 4017's in recent years :-) ) and lo and behold somebody has done a very nice job of writing it up.
The 4017 is a decoded "Johnson Counter" (look it up) which provides a sequencing one-of-ten output.
You can cause it to
count up to position N and stop,
or to position N and then reset
or you can chain chain several together
or more ....

A very useful IC.
Datasheet for the basic CMOS version here
and for the buffered 74HC4017 version here.

Note that the "basic" CD4017 has a very special feature which tends to be lacking on all "improved" versions - it has a Schmitt triggered clock input - which means that you can use it with a user pushbutton input or other slow and noisy input. ometimes an immensely valuable feature.

The circuit itself is enough:

Does this do whta you want?. Well, almost.
Look at the enable and reset lines.
Look at the datasheet.
What happens if you plug the enable line into output N?

enter image description here https://homepages.westminster.org.uk/electronics/images/4017_08.gif

BUT they have done a really superb job of presenting a plug in bread-board version here

Leading to this. You could use one small breadboard and less LEDs and a different oscillator
(eg 555 / 4040 et al etc) but this is an extremely nicely done example

enter image description here

THEN you can consider a zillion alternatives [fromhere] - all images hotlink to a page. Look at he top of the page to see the obvious and extremely useful way that I got this eggtimer circuit collection and this overlapping but not identical egg timer circuit collection (plus some other stuff in each case).

74HC4017 "under the hood":

enter image description here

Clock accuracy:

Try it and see. Use a good quality clock cap- NOT a ceramic.

What if you clocked it twice as fasts and used eg diodes to OR a single LED per 2 outputs?
Or 3 times as fast?

If you want to use a faster clock look at CD4040, CD4020, CD4060. Note that one of these can both divide and self oscillate. You can still have 2 ICs total but a clock and a divider as well. Enjoy.

  • \$\begingroup\$ Brilliant - that looks really useful. I'm going to put an edit on to show a schematic I've done. Can you take a look and see if it makes sense? \$\endgroup\$
    – Ben
    Commented Nov 17, 2011 at 0:54

I'd suggest you avoid a 555, as it's really not meant for accurate applications -- tolerance variations in R (1%) and C (5% or 10% depending on value) and the 555 thresholds will probably limit your timing accuracy to between 7-15% accuracy at best.

Instead, look at using either a microcontroller, or, if you want to avoid programming and stick to logic, use a 74HC4060: it's meant for driving a quartz crystal (hint: 32768Hz crystals are a nice power of 2), and it has a 14-stage divider to generate slow square waves from a fast source frequency. They're cheap, common, available in DIP for easy prototyping, and made by multiple manufacturers.

With the 4060 you'd have to add a minimal state machine made out of logic circuitry, not hard with some 74HC74 flip-flops and some gates.


Your question is very general so perhaps I can provide some general guidance. Basically when approaching a problem like this, one can either custom design a custom electronic circut to solve this one specific problem or one can use a general purpose microcontroller, hook up the various pushbuttons and LEDs etc and implement the logic in software.

Since you have a background in computer programming, perhaps the latter approach may be more to your liking. Are you familiar with Arduino microcontrollers?

While there are many microcontrollers to choose from, Arduinos have been sold in the 100s of thousands, are readily available (check your local Radio Shack) and if you google it you will find dozens of books and articles describing how to wire up simple projects like this.

Here is a YouTube video of someone making a timer with an Arduino.

  • \$\begingroup\$ To be honest I'd rather do it "old school" ;-) and custom design something. I think I may have a rough idea. Is this forum a suitable place to post a schematic if I come up with one to see if it is viable? \$\endgroup\$
    – Ben
    Commented Nov 16, 2011 at 23:26
  • \$\begingroup\$ @Ben - Yes, you can certainly post your schematic here. If you want to avoid microcontrollers then I would go for Jason S's suggestion of using basic logic ICs. Check out the 7400 series and see what you come up with; everything you need is there. \$\endgroup\$
    – Oli Glaser
    Commented Nov 17, 2011 at 0:24
  • \$\begingroup\$ Can you have a look at my first attempt and see if it makes sense? I'd really appreciate any tips/observations. electronics.stackexchange.com/questions/22366/… \$\endgroup\$
    – Ben
    Commented Nov 17, 2011 at 20:20
  • \$\begingroup\$ In a complete U-turn I've decided to go with the Arduino approach. Wish me luck! I'm off to procure a starter kit... \$\endgroup\$
    – Ben
    Commented Nov 18, 2011 at 10:39
  • \$\begingroup\$ Arduino is not a microcontroller. \$\endgroup\$
    – venny
    Commented Aug 20, 2014 at 23:27

I haven't sat down and actually tried to design this, but offhand it seems like the approach of using a 555 timer for the basic timing should be fine. That's what 555's do. You'll need some additional "stuff" though, I think. Getting the pulses from the 555 is a matter of setting the values for a couple of components (a resistor or two and a capacitor) that are used in conjunction with the 555. If you look through some of the various 555 tutorials that are out there, you should be able to find the formula that tells you how to pick the right values to get the timing you want.

The trickier part is toggling the ICs one at at time in response to the signals from the 555. You'll need some logic parts, unless I miss my mark. You could probably do it with a few flip-flops, or perhaps a counter IC. Then you'll just want transistors to control the LEDs and the bell.

If you've studied discrete math / boolean algebra, you'll probably be able to quickly sort out how to piece together the logic bit from discrete components. Look up how flip-flops and latches and counters work, and I think you'll be able to get something going.

Basically, you want to treat the pulse (output high) from the 555 as a digital "1". Then you want your logic circuit to do the right thing such that 1 pulse results in an "output high" somewhere, where that high signal goes to the transistor that turns something on (and perhaps something else off), and such that 2 pulses causes a different transistor to turn on (or off), etc., and so on (to allow for your 3 discrete stages).

Also, here's one fairly good tutorial on using those 555 timers: http://www.sentex.net/~mec1995/gadgets/555/555.html


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.