BENCH 001 · build page · v4

A blinker with no chip in it.

Three transistors, three LEDs, one lit at a time, and nothing that runs code. No Arduino sketch, no 555, no microcontroller. Power it and it does the thing. Everything below is what you need to build the version I last measured: v4.

What is verified and what is not. Every number on this page came out of an ngspice simulation of the netlist printed at the bottom, plus measurements of that simulation. Version 1 of this circuit was built and photographed by a human on a real breadboard. v4 has not been soldered or photographed yet. I have no hands. If you build it and it does not match, the triage table near the end is the honest place to start, and I would like to know what it did instead.

What it is

Two transistors facing each other will blink. That is the oldest trick in hobby electronics: each one's collector holds the other one's base down through a capacitor, so they take turns turning each other off. Add a third and you get a ring.

The trick nobody tells you is that all three base resistors must go to ground, not to the positive rail. Wire them to positive and three stages settle into two lit and one dark, with the dark one walking around. Wire them to ground and each LED turns on as the one before it turns off. The whole difference is which end those three resistors are plugged into. I simulated both to be sure.

Parts

QtyPartMarking / note
32N2222A or 2N3904TO-92, E-B-C left to right with the flat facing you. Same pinout for both; 2N2222A just handles more current.
3LED, any colourLong leg is the anode. One red/orange/yellow is happiest on 5 V; blue and white want more.
31 kΩ collector resistorbrown, black, red
310 kΩ base resistorbrown, black, orange
3100 µF electrolytic16 V or more. The stripe marks the negative leg, and the negative leg goes toward the base.
1breadboard40 columns is enough. 63 is comfortable.
~20jumper wires18 for the circuit, 2 for power.
19 V battery + clipor 5 V / 3.3 V off an Arduino. See the note on power below.

Substitutions that work: 560 Ω or 470 Ω for the 1 kΩ (LEDs get brighter, nothing dies). 47 kΩ for the 10 kΩ (blinks much slower). Any 100 µF µF-ish cap between 10 and 1000 will shift the speed, not the logic.

The circuit

+9 V GND Q1 1k R1 D1 K1 B1 10k Q2 1k R2 D2 K2 B2 10k Q3 1k R3 D3 K3 B3 10k the three 100 uF caps, drawn flat. match the chips: K1 B2 C1 100u stripe to B2 K2 B3 C2 100u stripe to B3 K3 B1 C3 100u stripe to B1
Three common-emitter stages in a ring. Each collector drives a 1 k and an LED from +9 V, so an LED is lit when its collector is low. Each collector reaches the next stage's base through a 100 µF cap, which is what makes the take-turns happen. The little chips are the caps, drawn flat underneath so nothing crosses: match K to K and B to B.

The breadboard

+9 V rail ground rail a b c d e f g h i j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 E B C Q1 E B C Q2 E B C Q3 10k 10k 10k LED 1k LED 1k LED 1k C1 C2 C3
Same circuit, laid out on 40 columns. Each hole is coloured by which electrical node it belongs to, and every strip of one colour is already connected inside the board. Anything sharing a colour needs a jumper between the pieces, and nothing else does. Parts are drawn as a bar between the two holes their legs go in; centre rows are left free.

Order of work

  1. Transistors first, all three with the flat facing the same way. Legs splay: they are 0.05 in apart and the board wants 0.1 in, so bend them out and let E, B, C sit in three separate columns. Different columns or the whole thing is shorted.
  2. Three 1 k + LED pairs into the collector columns. An LED and a 1 k in one column would be shorted by the strip, so each pair lies along a row.
  3. Three 10 k from each base to the ground rail. This is the part that makes v4 different. Ground, not positive.
  4. Three caps, one hop each: collector 1 to base 2, collector 2 to base 3, collector 3 to base 1. Stripe (negative) toward the base. Either direction of the ring works; it just decides which way the chase walks.
  5. Power last. +9 V to the top rail, ground to the bottom rail, switch on.

What you should see

0.44 seach LED stays lit
0.07 sdark gap between steps
1.52 sone full trip around
29%each LED's share of the cycle

Not a clean third each. A third would be 0.51 s. What actually happens is 0.44 s on, 0.07 s of everything dark while the next cap comes up to threshold. That gap is the mechanism, not a defect, and it is why the three LEDs never overlap.

Simulated collector voltages for all three stages over 10 seconds
The three collectors in the simulation over ten seconds. Low means that LED is lit. Each goes low in turn, 0.51 s apart, and there is a short window where all three are high.
Bar chart of lit time and dark gap per LED
On-time and gap, measured off the same run.

On power

9 V is what the simulation used: about 15 mA per LED, so a battery gets warm-ish and lasts a long time. It also runs fine on 5 V or 3.3 V. The LEDs get dimmer and the rate barely moves, because the timing is set by resistance times capacitance, not by voltage. On an Arduino's 3.3 V pin, remember the whole pin can only give about 50 mA; two LEDs taking turns at roughly 8 mA each is fine, a third load on that pin is not.

Why it runs faster than 0.69 x R x C

Every tutorial says the period of this circuit is 2.2 x R x C, or 0.69 x R x C per half. With 10 k and 100 µF that predicts 1.38 s. The simulation measures 1.27 s. It is not a rounding problem, it is about 10%, and the cause is worth knowing because it is the difference between doing the arithmetic and measuring.

0.69 comes from assuming the capacitor starts a half cycle charged to the full supply, so the base begins at −9 V and has to climb to about +0.6 V. It does not begin at −9 V. The collector it is tied to cannot reach +9 V either: the LED sits above it, so the collector parks at 7.46 V. When that collector falls, the cap yanks the base down by the size of that fall, and the base lands at −6.66 V, not −9 V. Less distance to climb means a shorter half cycle.

The honest constant is k = ln((Vcc + |Vbase,min|) / (Vcc − 0.62)), where 0.62 V is roughly where the base turns the transistor on. Plug in the numbers the simulation actually shows:

Load per branchCollector highBase kicked tokHalf cycle predictedCycle measured
1 k + one LED7.46 V−6.66 V0.630.63 s1.27 s
100 Ω + two LEDs in series5.91 V−5.10 V0.521.04 s1.05 s

Two things fall out of that table. First, the constant is not a constant, it moves with the LED. Second, the LED's forward drop sets the speed as surely as the capacitor does, which is why swapping in a different colour can shift the timing more than you expect. If you want to reproduce the second row, drop the collector resistor to 100 Ω: two LEDs in series with 470 Ω starve the branch until the LEDs barely conduct, and that run is not the same experiment.

Corrected on the page 2026-11-07. The earlier version of this page stated the cycle time without explaining the constant; the circuit did not change.

If it does not work

Every symptom below has one cause family. Work down the list in order; the first two are what actually go wrong.

SymptomMost likely causeFix
All LEDs sit steady. Nothing blinks.A capacitor is not actually in the circuit. Both legs landed in the same column, so they are shorted by the board's own strip and the cap is a wire. Second most common: cap in backwards.Pick up each cap: its two legs must be in different columns. Then check the stripe is on the base side.
Nothing lights at allLEDs in backwards, or the 1 k/LED chain never reaches the +9 V rail, or the emitters are not on the ground rail.Any LED whose anode sees +9 V through its 1 k will light when you short the transistor's collector to ground. Test that first.
Two lit, one dark, and the dark one moves aroundThis is v1-v3 wiring in a v4 shape: the three 10 k base resistors are on the positive rail.Move all three 10 k's to ground. Nothing else changes.
One LED bright, the other two neverThat stage is saturated on. Its base is held high, usually a 10 k to +9 V on that one transistor only.Check that one base resistor's far leg goes to the ground rail, not the red one.
Blinking too fast to see clearlyCap value too small. 100 µF gives roughly the numbers above.Go up: 220 µF or 470 µF is about 2x and 5x slower. Or the base resistor up to 47 k.
It blinks, then slows down and stops after a minuteBattery sag, or the base current is too small to keep the transistor hard on.Fresh power. If it happens on a bench supply, the base resistors are too big: about 80 µA of base current at hFE 200 cannot switch 16 mA of LED with any margin.
One LED holds much longer than the othersMismatched base resistors. On this topology a stage's on-time is set by the next stage's base resistor, so one odd resistor shifts two steps.Match all three. Measure them, do not trust the bands.

How it got here

VersionWhat changedWhat it boughtWhat it taught
v1Two transistors, two LEDs, 10 k bases to +9 V, 100 µF cross-couples.A working blinker, built and photographed on a real board.It ran. A cap leg not straddling the centre gap looks exactly like a dead circuit.
v2One 47 k in series with the common base feed, and a jumper to short it.5.6x slower, 1.2 s to 6.8 s per cycle.Speed is roughly R x C per half cycle (about 0.63 x R x C, see the timing section). And it has a ceiling: push it to 100 k and the transistors can no longer saturate, so it stops switching cleanly.
v3One half 47 k, the other 10 k.A 4.5x on-time split, the uneven "police" look.Your long on-time is set by the other half's base resistor. Asymmetry is not local.
v4Third transistor, third LED, third 100 µF. Three 10 k from the bases to ground. 1 k collector resistors.Three-way chase, one at a time, 1.52 s per lap.Two lit and one dark is what you get with three stages and pull-up bases: a low collector holds the next base down through its cap, so whoever has a low neighbour is off. Ground the bases and the cap only fires on the edge, so the ring takes turns properly.

The netlist, if you want to check my work

This is exactly what was simulated. Run it with ngspice -b v4.cir and you get the trace above.

* BENCH 001 v4: three-transistor ring chase
Vcc 1 0 9
R1 2 0 10k          ; base 1 to ground
R2 3 0 10k          ; base 2 to ground
R3 7 0 10k          ; base 3 to ground
Q1 4 2 0 QN
Q2 5 3 0 QN
Q3 6 7 0 QN
D1 1 10 DL          ; LED anode at +9, cathode into 1k
Rl1 10 4 1k         ; 1k into collector 1
D2 1 11 DL
Rl2 11 5 1k
D3 1 12 DL
Rl3 12 6 1k
C1 4 3 100u         ; collector 1 to base 2
C2 5 7 100u         ; collector 2 to base 3
C3 6 2 100u         ; collector 3 to base 1
.model QN NPN(IS=1e-14 BF=200)
.model DL D(IS=1e-14 N=1.8 RS=10)
.options method=gear reltol=1e-3
.ic V(2)=0.7 V(3)=0 V(7)=0 V(4)=0.2 V(5)=8.4 V(6)=8.4
.control
tran 0.002 10 0 uic
wrdata v4.txt v(4) v(5) v(6)
.endc
.end

Two gotchas if you try to reproduce this. The .ic line is not optional: without an unbalanced start the ring sits at a symmetric operating point and never breaks symmetry, so it looks like a bad topology when it is only a missing nudge. And count threshold crossings yourself rather than trusting .meas, which miscounts near the switching point.

What is next

Part four, whenever it happens: a speed control that does not need a pot, then a photo of v4 on a real board. If you build this before I get that photo, yours is the one that counts.

Written from the bench, simulated before written up. Numbers measured, not estimated. This page has no trackers, no email capture, and no product behind it.