Skip to content
digiwleeaTools
LearnGlossaryAboutCheat sheetHow a CPU worksToolsOpen the lab →

CD4040: the 12-stage ripple binary counter chip, live

The CD4040 is a 12-stage ripple binary counter: each falling edge on its clock input adds one to a 12-bit count on outputs Q1 to Q12, so Q1 divides the clock by 2 and Q12 by 4,096. A high level on RESET clears every stage at once. The 74HC4040 has the same pinout. This live circuit is the whole chip.

TI's datasheet (CD4020B, CD4024B and CD4040B) puts it simply: "All counter stages are master-slave flip-flops. The state of a counter advances one count on the negative transition of each input pulse; a high level on the RESET line resets the counter to its all zeros state." It lists control counters, timers, frequency dividers and time-delay circuits as applications, for supplies from 3 V to 18 V. Ripple means each stage is clocked by the one before it: stage 1 toggles on the clock's falling edge, stage 2 when stage 1 falls from 1 to 0, and so on, so a change ripples up the chain one stage at a time. That makes the counter simple and the outputs perfect frequency dividers, but for a moment after an edge the count can read wrong while the ripple settles, so it is not the counter to decode states from at speed (a synchronous counter is). Each stage here is a master-slave D flip-flop with clear, wired as a toggle (D from its own Q'), the same chain as the 4-bit ripple counter, twelve long. The live chip opens with RESET high: set it to 0 and turn CLK on and off; Q1 changes each time CLK goes from 1 to 0. The full 4,096-count cycle, back to zero, has been checked on all twelve outputs, and every build of this page re-checks the first 70 counts and a reset in the middle of a count.

Big circuit: pinch, scroll or tap + to zoom in, then drag to move around.

Live circuit: click the inputs to toggle them and watch the outputs update. It runs the real simulator, right here on the page.

Open this circuit in the lab →

What you need

Step by step

  1. Place inputs CLK and RESET, and probes Q1 to Q12.
  2. Make each stage a toggle: a D flip-flop whose D is its own Q', with RESET on its clear.
  3. Clock stage 1 from NOT CLK, and every later stage from the Q' of the stage before, so each toggles when the one below falls from 1 to 0.
  4. Pulse RESET, then toggle CLK: Q1 changes on every falling edge, Q2 on every second, Q12 on every 2,048th.

CD4040 outputs and what they divide by

OutputPinClock divided byChanges every
Q1921 clock
Q2742 clocks
Q3684 clocks
Q45168 clocks
Q533216 clocks
Q626432 clocks
Q7412864 clocks
Q813256128 clocks
Q912512256 clocks
Q10141,024512 clocks
Q11152,0481,024 clocks
Q1214,0962,048 clocks

CD4040 pinout

PinNamePinName
1Q1216VDD
2Q615Q11
3Q514Q10
4Q713Q8
5Q412Q9
6Q311RESET
7Q210Clock (input pulses)
8VSS9Q1

"Changes every" counts falling clock edges. The pinout, the 3 V to 18 V range and the description are from TI's CD4040B datasheet (SCHS030D), checked 2026-10-25. TI's SN74HC4040 datasheet (SCLS160E) has the same pin positions with the outputs named QA to QL and the inputs CLK and CLR, for 2 V to 6 V.

You can also read the full theory in the lesson on counters. Prefer to build it yourself from scratch? Open the digiwleea lab and place the gates on the canvas, or start from the logic gate simulator.

Build more parts from gates

half adderfull adderhalf subtractorfull subtractor2:1 multiplexer4:1 multiplexerXOR gate from NAND gates2-to-4 decoderSR latchD flip-flopJK flip-flopT flip-flop4-bit shift register4-bit ripple carry adderD latch1-to-4 demultiplexer4-bit magnitude comparator4-bit ring counter4-bit Johnson counter4-to-2 priority encoder4-bit synchronous counter3-to-8 decoder8-to-1 multiplexer4-bit carry lookahead adderhalf adder from NAND gates2-bit comparatorBCD to 7-segment decoder4-bit up/down counterdecade counter2-bit multiplier4-bit ALU4-bit array multiplierNOT, AND, OR and NOR from NANDNOT, OR, AND and XOR from NORfull adder from NAND gatesSR latch from NAND gatesparity generator and checker4-bit adder/subtractorBCD adder4-bit universal shift registermod-6 counter4-bit ripple counterbinary to Gray code converterhalf adder from NOR gatesfull adder from NOR gates4-bit register with parallel load1011 sequence detectorbinary to BCD converterD flip-flop from NAND gates1-bit ALUCMOS inverterCMOS NAND gateCMOS NOR gatePISO shift registerSR flip-flop from NAND gatesBCD to excess-3 code converterHamming (7,4) code encoder and correctortraffic light controller4-bit barrel shifterCMOS AND gateCMOS OR gateCMOS XOR gate1-bit magnitude comparatorhalf subtractor from NAND gatesfull subtractor from NAND gates8-to-3 encoderGray to binary converter4-to-16 decoderfull adder using 4:1 multiplexersedge detectorserial adder4-bit carry-select adder4-bit Kogge-Stone adder4-bit carry-skip adder4x4 Wallace tree multiplier8-bit adderfrequency divider (by 2, 4 and 3)switch debouncer (SR latch)3-bit Gray code counterMealy machine (1011 detector)master-slave JK flip-flop (NAND)half subtractor from NOR gates1-to-8 demultiplexerexcess-3 to BCD code convertervending machine FSM4-bit carry-save adder3-bit synchronous counter (JK)CMOS transmission gatetri-state buffer (CMOS)2-to-1 mux from transmission gatesmod-5 counterflip-flop conversion (JK to D)8-bit ALUdecimal to BCD encoderBCD to decimal decoder4-to-1 mux from 2-to-1 muxesXOR gate from NOR gates4-bit LFSR74LS138 decoderBCD subtractor74181 ALUCMOS AOI gate (AOI21)D latch vs D flip-flop74LS47 BCD to 7-segment decoder74HC595 shift register7400 quad NAND gate chip7402 quad NOR gate chip7404 hex inverter chip7408 quad AND gate chip7432 quad OR gate chip7486 quad XOR gate chip7474 dual D flip-flop74HC165 shift registerCD4017 decade counter74LS283 4-bit adder74LS90 decade counter74HC161 4-bit counter74HC151 8-to-1 multiplexer74HC157 quad 2-to-1 multiplexer74HC139 dual 2-to-4 decoderCD4511 BCD to 7-segment decoder7492 divide-by-12 counter7493 4-bit binary counter74HC244 octal bufferRace-around condition (JK latch)74HC373 octal latch74HC374 octal D flip-flopTurnstile state machine1-to-2 demultiplexerhalf adder using 2:1 multiplexersregister file (4 x 4-bit)digital PWM generatorCD4013 dual D flip-flop74LS76 dual JK flip-flop7410 triple 3-input NAND chip7411 triple 3-input AND chip7420 dual 4-input NAND chipCD4011 quad 2-input NAND chipCD4001 quad 2-input NOR chipCD4081 quad 2-input AND chipCD4069 hex inverter chip74HC164 8-bit shift register7485 4-bit magnitude comparator74HC125 quad tri-state bufferCD4060 14-stage counter and oscillator74LS193 4-bit up/down counterelectronic dice circuitmemory address register (MAR) and MDRhardware stack with a stack pointerdirect-mapped cache8-bit Brent-Kung adder4x4 Dadda multiplierbinary clock circuit

Each of these is one step from a transistor to a working CPU. Build every gate from CMOS transistors and work all the way up in the free digiwleea lab, with the free theory reference alongside.

Open the CD4040 12-stage binary counter in the lab →

Frequently asked

What does the CD4040 do?

It counts falling clock edges in binary on twelve outputs, Q1 to Q12, so each output is the clock divided by a power of two, from 2 at Q1 to 4,096 at Q12. A high RESET clears the count.

What is the CD4040 pinout?

Pin 1 Q12, 2 Q6, 3 Q5, 4 Q7, 5 Q4, 6 Q3, 7 Q2, 8 VSS, 9 Q1, 10 clock input, 11 RESET, 12 Q9, 13 Q8, 14 Q10, 15 Q11, 16 VDD.

How do you use a CD4040 as a frequency divider?

Feed the clock into pin 10 and hold RESET low. Output Qn is the clock divided by 2 to the n: a 32,768 Hz clock gives 16,384 Hz at Q1 and 8 Hz at Q12.

What is the difference between the CD4040 and the 74HC4040?

Same function and pin positions. The CD4040B runs from 3 V to 18 V; the 74HC4040 runs from 2 V to 6 V and is faster, and its datasheet names the outputs QA to QL.