beginner-friendly electronics tutorials and projects

Discover the joy of understanding electronics!

CD4017 tutorial: the IC you can count on

October 7, 2020 tutorial

Whether you are a beginner who wants to take some first steps in electronics or you already have some experience, the CD4017 is an integrated circuit everybody should know. It works as a simple digital counter from 0 to 9, but it can also be used in much bigger projects, and today we will learn all about it!

I decided to divide this tutorial into seven steps. Here is what we will do:

  1. Understand the basic CD4017 circuit that that counts from 0 to 9 with a button with ten LEDs,
  2. add some sprinkle by debouncing the pushbutton and adding a power-on reset,
  3. learn how to implement a custom reset (if you want to count from 0 to, say, 6),
  4. count from 0 to 99 or higher by cascading two or more CD4017 ICs,
  5. make a custom reset for a cascaded counter by using a CD4081 logic gate,
  6. learn how to design a reliable reset circuit,
  7. and add an external clock signal using the NE555.

I know this is quite a lot, but I tried to design the tutorial in a step-by-step way so that you can read it from top to bottom and learn more as you go, without being too overwhelming from the beginning. Remember that the basic idea of a counter is very simple :)

So first and foremost, a counter has a value that can be increased, typically in a fixed range. In the above that range is 0 to 9999. In our electronics example here we will work with a range of 0-99. A signal at the clock input increases the counter's value by 1, and a signal at the reset input sets the counter back to zero.

And, as we will see later (this is a sneek peak), we will learn to build all these functions with electronic components on a breadboard and arrive at a digital counter from 0-99! This is how it will look like:

And here is the final schematic, with all its different components:

But before we get to this more complicated final circuit let's start at the beginning :)

If you want to follow along with this step-by-step tutorial, here are all the components you need (see also the components box for a detailed list of where to buy every component):

Basic CD4017 circuit

Here is the absolute basic circuit for running the CD4017 as a counter:

Let's go through the main components and learn how it works!

  • IC1 is the CD4017 counter, and its power connection is the symbol IC1P. Here we use a simple 9V battery G1 to power the circuit.
  • Q0-Q9 are the ten outputs of the counter. They can either be on (high) or off (low), and we connect a single LED to them via a current limiting resistor to indicate the counter's value.
  • C1 is a bypass capacitor that stabilizes the voltage whenever the CD4017 has to switch rapidly. For slow counting frequencies it is not really needed, but it is a good practice to include it and it does not cost a lot of money.
  • CLK is the clock input pin. Whenever it goes from low to high the counter increases its value by 1. The pushbutton S1 provides that signal whenever it is pressed. The resistor R11 is a pulldown resistor: without it, whenever the pushbutton S1 is open, the CLK pin would be floating at an undefined potential (neither high nor low). This way, when the pushbutton is open, R11 connects CLK to ground (low).
  • RES is the reset input, and whenever it is high the CD4017 resets back to zero. S2 acts as the reset switch, and R12 is another pulldown resistor.
  • Last, CI is the so-called clock inhibit pin. Whenever it is high, the counter ignores all clock pulses at the CLK input. When it is low, the counter works normally. Here we want the counter to work normally all the time, so we can just connect the CI pin to ground (low) permanently.

This circuits is pretty basic and gets the main idea of a decimal counter across, but it has some shortcomings as we will see later. But for now let's build it on a breadboard, step by step!

  • Step 1

    Connect all positive power rails (red) and all negative power rails (blue) to each other. This will make our life a lot easier in the rest of this tutorial :)

    Important: Make sure that row 1 points to the left as shown in the picture.

  • Step 2

    Insert the CD4017 in row 9 and make sure its notch points to the left. Connect pin 16 to the VDD power rail, pin 8 to the ground power rail. Insert the 100nF bypass capacitor C1 between pin 16 (VDD) and pin 8 (ground). You can bend the wires so that it fits nicely, and the capacitor should be as close to the CD4017 as possible. C1 is a ceramic capacitor and you can plug it in either way, it does not have a specific polarity.

  • Step 3

    Now insert LED1 through LED10 and their resistors R1 through R10.

    Make sure that LED1–LED4 as well as LED6–LED8 have their cathode towards the upper part of the breadboard, and LED5 as well as LED9 and LED10 have their cathode towards the bottom of the breadboard. Then, connect each LED cathode to the ground rail via a 470Ω resistor (R1–R10).

    I know, this looks a bit confusing, but in the next steps we will see that we put in the LEDs that way so that the wiring will be a bit easier :)

  • Step 4

    Now it's time to connect the outputs of the CD4017 to the LED anodes. Pin 11 (output Q9) goes to LED10 in row 48, pin 10 (output Q4) goes to LED5 in row 33, and pin 9 (output Q8) goes to LED9 in row 45.

  • Step 5

    Connect pin 7 (output Q3) to LED4 in row 30.

  • Step 6

    On top of the previous wire, connect pin 6 (output Q7) to LED8 in row 42.

  • Step 7

    Next, connect pin 5 (output Q6) to LED7 in row 39, and pin 4 (output Q2) to LED3 in row 27.

  • Step 8

    Almost done! On top of the last wire we inserted, connect pin 1 (output Q5) to LED6 in row 39.

  • Step 9

    Only two more to go :) Connect pin 3 (output Q0) to LED1 in row 21.

  • Step 10

    Last one! On top of the previous wire, connect pin 2 (output Q1) to LED2 in row 24.

  • Step 11

    Insert the two pushbuttons S1 and S2 in rows 1 and 5. Then, connect rows 3 and 5 to the VDD power rail.

  • Step 12

    Connect S1 (the left pushbutton) to pin 14 (clock) of the CD4017, and S2 (the right pushbutton) to pin 15 (reset) of the CD4017.

  • Step 13

    Insert the resistors R11 and R12 (both 4.7kΩ) in rows 10 and 11 so that they connect pins 14 and 15 of the CD4017 (clock and reset, respectively) to the ground rail.

  • Step 14

    Connect the clock inhibit pin (pin 13) to the ground rail.

  • Step 15

    Plug in the 100μF bulk capacitor C2 between the VDD and ground rail (between rows 15 and 20 is a convenient spot).

    Important: C2 is polarity-sensitive, and its minus sign is marked by a big printed symbol on the capacitor's package. Make sure the minus sign plugs into the ground rail, otherwise the capacitor will be destroyed and it might even explode.

  • Step 16

    Now you can connect power to the power rail. Remember that red is +9V and blue is ground, so make sure you get the polarity right. And that's it!

Try it out, the counter works. Pressing the clock button increases the LED position to the right, and resetting the counter puts the glowing LED all the way back to the left again.

That's great, you might say. But there are two important shortcomings of this circuit in the current form:

  • The pushbutton can bounce: sometimes, when you use the circuit in the present form and press a button, the counter will advance not just by 1 but by 2, 3, or even 5. This is a mechanical problem with the pushbutton that is called bouncing. Most pushbuttons, whenever they are pressed and released, don't just close or open once, but actually multiple times: they “bounce” around (we already talked about this in the pushbutton tutorial as well). And when it opens and closes multiple times, each one of the low to high transitions leads to an increase of the counter, and we don't want that.
  • When you use the counter and then disconnect and reconnect the battery you will notice that the counter does not always start at zero but at the last value that was active before shutting it down. This can happen when there is still some charge left somewhere in the circuit and the CD4017 kind of remembers the last state. Depending on the application of the counter this can be highly undesirable, so it is a good idea to make sure the counter resets automatically on power-on so that it always starts at 0.

In the next section we will solve these two problems!

Debouncing & power-on reset

Believe it or not, all we have to do is add the capacitors C3 and C4:

So what is happening?

  • C3 is a debouncing capacitor, much like we already used it in the CD4026 tutorial. Its purpose is to suppress any fast bounces of the pushbutton: if the button is pressed and turns off rapidly before turning on again, the capacitor can bridge this small time interval and prevent the voltage from falling too rapidly, and consequently the counter does not register the bouncing as a true clock signal.
  • But C3 alone is not always going to work, which is why we added C2 in a previous step. C2 is a bulk capacitor (its value is not so important, it could also be only 22μF). What is the problem? Whenever the button S1 is pushed, the capacitor C3 is charged. But since we did not include a charging resistor the capacitor charges very rapidly which can make the voltage on the power rail unstable and fall rapidly during a short time frame. This then makes the CD4017 reset since its run outside its stable configuration. C2 acts as a bulk capacitance which can supply the extra charge needed for whenever the button S1 is pressed, and solves that problem.
  • So C2 and C3 solve the debouncing. C4 implements a very simple power-on reset. When the circuit is first powered on, the capacitor C4 is uncharged and slowly begins to charge. While it is charging there is a net current flow through it, which falls off over the resistor R12 and becomes a positive voltage that is registered as a high signal at the reset pin. Later, when C4 is charged more and more, this current becomes very small, and then the voltage dropped over R12 is also very small, and is no longer large enough to be registered as a high signal. In a nutshell: there is a logical high level at reset for a short period of time (time scale is of the order of microseconds) that goes to low automatically after that, which is exactly what our power-on reset should do!

Let's build it!

  • Step 17

    Insert the 1μF debounce capacitor C3 between row 1 and the ground rail. Important: C3 is polarity-sensitive, so make sure you plug it in correctly.

  • Step 18

    Insert the 100nF power-on reset capacitor C4 between row 7 and the VDD rail. This capacitor is not polarity-sensitive and can be plugged in either way.

Now you can again plug in the power and see what happens. Remove C3, remove C2, remove C4, and play around with it, and try to see what part fixes which problem. This is the advantage of building simple things like this circuit from the ground up, you learn a lot :)

Adding a custom reset

So far we have only counted from 0-9. But what if you want to only count to 0-5? Then we can use the reset pin!

Just as before, reset is always low, unless the counter reaches the number 6 (output Q5), because the high output signal of Q5 then arrives at the reset input and resets the counter back to 0.

We need the diode D1 as a protection of the CD4017 outputs. Why? Imagine we did not have the diode and press the button S2 for a manual reset. Then there would be a current flowing into the output pin Q5, which is very bad for an output and might damage the CD4017. With the diode in place the current cannot flow inwards towards Q5 and the output is protected :)

Building this into the circuit is very easy:

  • Step 19

    Insert the protection diode D1 between row 39 and row 35. It's important that the anode is connected to row 39 and the cathode is in row 35. The cathode is the side of the diode that has a black ring.

  • Step 20

    Plug a wire into row 35, in the same hole where we plugged in the diode's cathode, and connect it to the reset pin of the CD4017 (pin 15) by plugging it in row 10.

    You don't have to use the same holes for more than one wire, but I find that in this case it makes sense because it keeps the circuit wires from getting too messy :)

And you can of course use a similar circuit to reset the counter anywhere else.

Cascading multiple CD4017 ICs

Now that we know how to count from 0-9, 0-5, and so on, let us learn how to count from 0-99! For this trick we need a second CD4017 counter IC. This is the schematic:

The lower part, comprising IC2 as well as LED11-LED20 and their resistors R13-R22 is completely identical to the first counter we built. The symbol IC2P is the power supply connection for IC2, and we added the 100nF bypass capacitor C5 for the new counter.

So what is new? We connected the reset lines in parallel, but notice that only the first clock input is connected to the pushbutton S1. The clock input of IC2 is connected to the CO pin of IC1, and CO stands for Carry Out: Whenever IC1 counts from 9 back to 0, the CO pin is pulsed from low to high and then back to low again. And we can use this signal to trigger the next counter, which is exactly what we do here. So while IC1 just went from 9 to 0, IC2 went from 0 to 1. This means that in total we have counted from 9 to 10 :)

I hope it makes sense. And this process goes one and on. When IC1 reaches 9 and then goes from 9 to 0, IC2 will go from 1 to 2. Overall this then corresponds to the transition from 19 to 20.

Okay, let's build it!

  • Step 21

    Remove the custom reset circuit from steps 17 and 18.

  • Step 22

    Here we go again! Plug in the second CD4017 IC in row 9 in the lower breadboard, and again make sure that the notch points to the left. Then, connect pin 16 (VDD) to the VDD power rail and pin 8 (ground) to the ground rail. Pin 13 (clock inhibit) is then connected to the ground rail as well. Last, insert the 100nF bypass capacitor C5 between pins 16 and 8 as close to the CD4017 as possible.

  • Step 23

    Next, insert LED11–LED20 in the breadboard, together with their 470Ω current-limiting resistors R13–R22.

    Similar to before, make sure that LED11–LED14 as well as LED16–LED18 have their cathode towards the upper part of the breadboard, and LED15 as well as LED19 and LED20 have their cathode towards the bottom of the breadboard. Then, connect each LED cathode to the ground rail via a 470Ω resistor (R13–R22).

  • Step 24

    Now it's again time to connect the outputs of the CD4017 to the LED anodes. Pin 11 (output Q9) goes to LED20 in row 48, pin 10 (output Q4) goes to LED15 in row 33, pin 9 (output Q8) goes to LED19 in row 45, and pin 7 (output Q3) to LED14 in row 30.

  • Step 25

    On top of the previous wire, connect pin 6 (output Q7) to LED18 in row 42.

  • Step 26

    Next, connect pin 5 (output Q6) to LED17 in row 39, and pin 4 (output Q2) to LED13 in row 27.

  • Step 27

    Getting there! On top of the last wire we inserted, connect pin 1 (output Q5) to LED16 in row 39. Then, connect pin 3 (output Q0) to LED11 in row 21.

  • Step 28

    ...and done! On top of the previous wire, connect pin 2 (output Q1) to LED12 in row 24.

  • Step 29

    Connect the reset pin of the lower CD4017 (pin 15) to the reset pin of the upper CD4017. Then, finally, connect pin 12 (carry out) of the upper CD4017 to the clock input (pin 14) of the lower CD4017.

And that's it, we built a counter from 0 to 99! Give it a try to see how it works :) And you can probably imagine that this way you can keep going forever. Add another CD4017 and then you can count from 0-999, add another one and it becomes 0-9999, and so on :)

Custom resets for cascaded counters

But instead of adding more and more counters let's talk a little bit about resetting again. What if your counter should not go from 0-99 but instead from, say, 0-25? Then we need a special reset!

Important: There is a mistake in this circuit. If you build it, it won't work as intended (which is intentional). Can you figure out why?

Okay, I may have jumped the gun here a little bit. Let's back up a second and look at the diagram to see what it is supposed to do. And then, in a second step, let's try to figure out what's wrong with it.

First, we added a new IC to the circuit: the CD4081 logic gate (you can learn more about logic gates in the CMOS tutorial). The CD4081's power supply pins are captured by the symbol IC3P and C6 is its bypass capacitor. Here is how the CD4081 works:

The output C depends on the logic level of the inputs A and B. For an AND gate, as you might imagine, the output C is only 1 if both A and B are 1. Otherwise it is zero. The CD4081 contains four of such AND gates, but for this circuit we only need one. For more details you can check out the CD4081 datasheet in the resources box of this article if you want :)

So what does the schematic above do? The AND gate IC3A checks if both the output Q6 of the first counter and the output Q3 of the second counter are on. If they are both on, and only then, the output of IC3A goes to high. Because the output of IC3A is connected to reset of both counters we hope that this resets the counters back to zero. So instead of counting from 0-99, the circuit resets as soon as it reaches 26, making it effectively a counter from 0-25.

Let's go ahead and built it to see if it works (spoiler alert: it probably won't)!

  • Step 30

    Insert the CD4081 in row 55 of the lower breadboard, and make sure its notch points the the left. Then, connect pin 14 (VDD) to the VDD rail, and pin 7 (ground) to the ground rail. As before, place the 100nF bypass capacitor C6 between pins 14 and 7 as close to the CD4081 as possible.

  • Step 31

    Connect pin 2 of the CD4081 (one of its inputs) to the anode of LED7 in row 39 of the upper breadboard.

  • Step 32

    Connect pin 1 of the CD4081 (the other one of its inputs) to the anode of LED13 in row 27 of the lower breadboard.

  • Step 33

    Insert the protection diode D1 between pin 3 of the CD4081 and row 63 of the lower breadboard. Make sure that D1's anode is connected to pin 3 and its cathode is connected to row 63. A diode's cathode is usually highlighted by a black ring.

    Next, connect row 63 on the bottom of the lower breadboard to the other side by inserting a wire in row 63 between columns e and f. Last, connect row 63 on the upper side of the lower breadboard to the reset line (pin 15 of the CD4017 in row 10 of the lower breadboard).

Plug in power and check if it resets! Most likely it won't... so what happens? The problem is that this reset circuit is not stable. The reset signal is triggered by outputs Q6 of counter 1 and Q2 of counter 2. As soon as the AND gate IC3 fires a reset signal is set to both counter 1 and 2. Do you see the problem? When the signal arrives just a small amount of time earlier at, say, counter 1, then counter 1 resets back to zero. But this means that the AND gate no longer fires, and the reset line goes low again. If this happens fast enough this can lead to an unstable behavior that is due to the different length of wires leading to the reset pins.

In other words: the reset signal tries to remove the reason it exists! It's like sawing away the branch you are sitting on. In practice what happens is this: the first counter resets, but the second one doesn't (at least for me, when I tried it out). But that is really now what we want since both counters should reset reliably.

So we need to find a new solution that works better.

A reliable reset circuit

A dedicated reset circuit is the answer. Luckily we already kind of know how to do it because we learned all about the NE555 timer IC in a recent tutorial, and we can make use of it like this:

So how does this work? First off, notice that the AND gate IC3A and its diode D1 are still at the same spot as before. The only thing that changes is that we added the circuits around IC4. In that circuit, C7 acts as a bypass capacitor, and C8 is also a standard choice for stability. This circuit is a so-called positive trigger timer circuit and I found it on Let's get an idea of how it works.

When the circuit is first powered up, it also acts as a power-on reset. This is nice and we could in principle remove C4 since we no longer need it. How does that work?

  • At the beginning, the capacitor C9 is uncharged and that triggers the NE555 output to go ON.
  • C9 keeps charging through R23 and the voltage increases. If it reaches 2/3 of VDD (which is 6V in our case) then the output of the NE555 is turned off and internally connected to ground.
  • C9 discharges rapidly through the discharge pin.
  • Because the output is OFF, the reset pin is pulled to ground as well via R24, which resets the NE555 permanently and prevents the trigger to take place as soon as the voltage at C9 goes below 1/3 of VDD (3V in this case).
  • The timer is now in a stable state and waits.

So after that brief period of being ON, the timer is now OFF and waits to be used as a reset circuit during normal operation.

  • As soon as a positive signal arrives via the AND gate IC3A, the timer is released from reset mode.
  • C9 charges again, and the entire circle that we described above happens again.
  • The important detail: it is enough for a very short pulse to arrive at the reset pin 4, it will start the process and generate an output signal of finite length.

This last past is very important: the trigger signal (that arrives at the reset pin 4) can be very short, it doesn't matter, even if it goes away after a short time, the timer will still cycle through the program. Speaking of which, how long does it take?

With our values of R23 (4.7kΩ) and C9 (22μF) this gives 71ms, and this finite duration makes it the perfect reset circuit that outputs a long reset signal, long enough to properly reset everything connected to the reset line. Let's build it and make it work!

  • Step 34

    Remove the wire leading from pin 3 of the CD4081 to the reset pins.

  • Step 35

    Insert the NE555 timer IC in row 57 of the upper breadboard, and make sure its notch points to the left. Connect pin 8 (VDD) to the VDD power rail, pin 1 (ground) to the ground rail, and insert the 100nF bypass capacitor C7 between pins 1 and 8. The polarity of C7 does not matter, you can plug it in either way. Just make sure it is close to the NE555. Last, insert the 10nF capacitor C8 between pin 5 of the NE555 and the ground rail.

  • Step 36

    Connect pin 2 and pin 6 of the NE555, and then insert a smaller wire that connects pin 6 and pin 7 in row 58 and row 59 on the top side.

  • Step 37

    Insert the 4.7kΩ resistor R23 between pin 6 of the NE555 and the VDD rail. Next, insert the 4.7kΩ resistor R24 between pin 3 and pin 4 of the NE555.

  • Step 38

    Insert the 22μF capacitor C9 between pin 2 of the NE555 and the ground rail.

    Important: C9 is polarity-sensitive. Make sure the negative terminal (there is a big minus sign printed on the capacitor's package) is connected to the ground rail.

  • Step 39

    Insert a wire from pin 3 of the NE555 in row 59 down to row 62. Plug in LED21's anode in row 62 at the lower part of the breadboard, and insert its cathode on the other side at the top. Last, insert the 470Ω current-limiting resistor R25 between row 62 and the ground rail.

  • Step 40

    Now connect the reset pin of the NE555 (pin 4) to row 63 on the upper part of the lower breadboard.

  • Step 41

    Last, connect the NE555's output (pin 3) to the reset line of the two CD4017 counters, and here we choose to connect it to row 10.

Now, for the moment of truth: connect power and see what happens! The reset works perfectly now! We also added the blue LED for fun so that we can see that the circuit really works. Also, if you disconnect the power and re-connect it you will see the LED flash briefly as well. This is the power-on reset, because our newly build reset circuit also works as a power-on reset!

Using an external clock source

This last step is not necessary, but fun. Maybe at this point you are tired of pressing the clock button, so let's add an external clock source. For that we can again use our trusted NE555, and just build a simple NE555 oscillator in astable mode that we already know how to build. Here is the schematic:

The 100nF capacitor C10, maybe you guessed it, is just a bypass capacitor for the NE555, and C11 is also added for stability. The 22μF capacitor C12 and the 4.7kΩ resistors R26 and R27 control the blinking frequency of the LED. It is on for around 143ms and off for 71ms, corresponding to a frequency of around 5Hz. If you are curious: the on and off times are different because we are not using diodes as we did in the NE555 oscillator circuit.

I just added this NE555 oscillator for fun, but there are of course real world applications where you would want to have a counter with a certain frequency. OK, let's build the oscillator!

  • Step 42

    Insert a second NE555 in row 3 of the lower breadboard with its notch pointing to the left. Connect pin 8 (VDD) to the VDD rail and pin 1 (ground) to the ground rail. Insert the 100nF bypass capacitor C10 between pins 8 and 1 as close to the NE555 as possible. Then, connect the 10nF capacitor C11 between pin 5 and ground.

  • Step 43

    Connect the reset pin (pin 4) to the VDD rail, insert the 4.7kΩ resistor R26 between pin 7 and the VDD rail, and place another 4.7kΩ resistor (R27) between pins 6 and 7.

  • Step 44

    Place the 22μF timing capacitor C12 between pin 2 and the ground rail. Important: the negative terminal of C12, which has a large minus sign printed onto the capacitor package, must be plugged into the ground rail. Make sure you don't accidentally switch the polarity.

  • Step 45

    Connect pin 2 and pin 6 of the NE555.

  • Step 46

    Almost done! Insert a short wire from the NE555 output at pin 3 down to row 8. Then, insert LED22's anode in row 8 on the bottom part of the breadboard, and its cathode in row 8 on the top side of the breadboard. Last, connect the LED's cathode to the 470Ω current-limiting resistor R28 and plug the other end of R28 into the ground rail.

  • Step 47

    Now it's time to connect the clock output signal of the NE555 to the first counter. To prepare this step, remove the clock and reset wires on the top CD4017 counter and move them out of the way as shown in the image.

  • Step 48

    Connect the NE555 output at pin 3 to the clock input (pin 14) of the first CD4017 counter in row 11 of the top breadboard.

  • Step 49

    And now re-insert the clock and reset wires. The left wire (reset) plugs into row 10, and the right wire (clock) plugs into row 11.

  • Step 50

    Now you can connect power to the power rail. Remember that red is +9V and blue is ground, so make sure you get the polarity right. And that's it!

And now that you plugged in the battery, the counter should be all the counting on its own, thanks to our newly added oscillator. Enjoy the show!

YouTube video

I covered this entire tutorial in a dedicated YouTube video:


Shortly after finishing the video and uploading it to YouTube it was pointed out to me that there is a problem in the final schematic: whenever the pushbuttons S1 or S2 are pressed, a current can flow into the corresponding output of the NE555. The solution is simple, just add two 1N4148 diodes (called D2 and D3) like this:

This way the NE555 outputs are protected from any current originating from pressed pushbuttons.

Final thoughts

Here we are, another tutorial complete! I hope you learned all the necessary ins and outs of the CD4017 decimal counter, and I also hope that you will use it in your future projects!

Truth be told, this tutorial took me a long time to complete, but I wanted to include many steps that are usually glossed over in online tutorials. I also hope that this tutorial shows you how much fun it can be to play around with ancient CMOS chips. They have been around for decades, and yes, they are no microcontrollers. But any microcontroller, at its heart, uses several of those very counters to keep track of the addresses and other bits and bytes needed to execute machine code. So it never hurts to know :)

Thank you very much for reading this far. In case you are interested, I have a monthly email notification for any upcoming projects that you can join here (you can unsubscribe anytime, and I don't store your data). In case anything in this tutorial is crazy, does not work, or does not make sense, please feel free to reach out on social media. Also, if you build this circuit based on this tutorial I would love to see some pictures.

Thank you again for your time, and have a great day!

About FriendlyWire

Beginner-friendly electronics tutorials and projects. Discover the joy of electronics! Keep reading.

Components Needed

2×830-pin breadboard (link)
1×9V block battery + battery clip (link)
2×CD4017 counter IC (link)
1×CD4081 AND logic gate IC (link)
2×NE555 timer IC (link)
2×pushbuttons (kit)
22×LED of your choice (link, kit)
22×470Ω resistor (link, kit)
6×4.7kΩ resistor (link, kit)
1×1μF electrolytic capacitor (link, kit)
2×22μF electrolytic capacitor (link, kit)
1×100μF electrolytic capacitor (link, kit)
2×10nF ceramic capacitor (link, kit)
6×100nF ceramic capacitor (link, kit)
1×1N4148 diode (link, kit)

You also need AWG 24/0.6mm single-stranded wire (link). Click on the items above to learn more.

Tools Needed

1×side cutter

Let's build a community

How did you get interested in electronics? What do you want to learn? Connect and share your story!

Tag Cloud

  • CD4017
  • decimal counter
  • debouncing
  • power-on reset
  • cascading
  • custom resets
  • CD4081 AND gate
  • reliable reset circuit
  • external clock
  • NE555
  • beginner-friendly
  • schematic
  • tutorial