Two-Dimensional LED Chaser
How the 81-LED chaser picks one LED
Two 555 timers tick two 4017 counters. One counter chooses a column, the other chooses a row, and only the LED where they cross can light. Slow the clocks down to watch each step, or speed one up to see it blur into a line.
X axis: columns
VR1 sets how fast U1 ticks, which steps U2 across the columns.
Y axis: rows
VR2 sets how fast U3 ticks, which steps U4 up the rows.
The chain, one tick at a time
- The 555 runs as an oscillator. Its speed pot and timing cap set how often it pulses.
- Each pulse clocks the 4017, which moves its single high output to the next pin: Q0, Q1, Q2 and so on.
- That output switches on one driver transistor, energising one whole column (or row).
- An LED lights only where the active column meets the active row. When the counter reaches Q9, it resets to Q0, so each axis has nine positions.
Why speed makes patterns
The two clocks are independent. When X is fast and Y is slow, the dot sweeps across a row before the row changes, like a raster scan. Set them near the same speed and the dot runs diagonally. Push one axis past about 30 steps per second and your eye can't follow it, so that axis smears into a solid line. A missing timing cap does exactly this, because the 555 then runs far too fast.
When one axis is stuck
If one 4017 never advances, its first output stays high. Only one row (or column) is ever enabled, and the dot just runs back and forth along it. Pause a clock here to see the same symptom.
Simplified model of the 2-D LED chaser kit included in HackerBox #0131 (two NE555 timers, two CD4017 counters and 18 S9014 driver transistors). Part labels follow the kit's silkscreen. The X/Y run switches here stand in for the board's X-F and Y-F buttons. The two-555 approach for a 9×9 matrix was popularised by Eddy Bergman's 2017 build.