We love a good arcade cabinet at TechnoShed. There is something about the tactile click of an arcade button and the glow of LEDs that you just can’t replicate on a touchscreen.
For our latest project, we decided to build a reflex-testing arcade game from scratch, powered by the new Raspberry Pi Pico 2W.
The Concept
The goal is simple but addictive: a “cursor” light bounces back and forth along a high-speed LED strip. You have to stop it exactly inside the green target zone. If you hit it, you score points and the light moves 10% faster. If you miss, you lose a life.
We designed it as a 2-Player “Hot Seat” System. Players take turns, the speed increases, and the pressure builds. Thanks to a custom JSON high-score system, the machine remembers who the current “TechnoShed Champion” is even after we unplug it.
The Hardware (So Far)
We are currently prototyping on an 8-LED stick to get the logic rock solid before we commit to the full-scale build.
- Brain: Raspberry Pi Pico 2W (Running MicroPython)
- Visuals: I2C 1602 LCD Screen (for the HUD) & WS2812B LED Strip
- Controls: Arcade Buttons (Active High)
- Audio: Passive Buzzer for game state feedback
Under the Hood (The Code)
The code has gone through several iterations (we are currently on v3.0). We moved away from the standard MicroPython libraries and wrote a custom led_driver.py wrapper that allows us to do some clever things:
- Attract Mode: When idle, the strip runs a smooth “Rainbow Cycle” animation to draw players in, while checking for button presses in the background.
- Symmetrical Targets: The game math automatically adjusts to ensure the target zone is always perfectly centered on the strip, regardless of how long the line is.
- Progressive Speed: We use a percentage multiplier (
0.9) rather than linear subtraction. This creates a smooth but deadly difficulty curve as the light shuttles back and forth. - Dynamic HUD: The LCD screen updates in real-time, justifying the active player’s score to the left (P1) or right (P2) so you know exactly whose turn it is at a glance.
Whatβs Next?
This is just the beginning. We have a 144 LED/m high-density strip on order which will turn this from a small prototype into a fluid, 1-meter long light chaser.
Once the hardware arrives, we will be rolling out updates with advanced game modes:
- Edge-to-Centre: Two lights starting at the ends and racing to the middle (collision detection).
- Moving Targets: The “Win Zone” won’t just shrink; it will slide along the strip.
- Bonus Rounds: Special color-coded levels with unique objectives.
We are also heading into OnShape to design a custom 3D-printed enclosure for the main unit and the handheld controllers.
Follow the Code
As always, TechnoShed believes in open source. You can follow the development, grab the code, and build your own version over on our GitHub.
π View the Repo: https://github.com/TechnoShed-dev/led-arcade-chaser
Stay tuned for Part 2 where we hook up the 1-meter strip and start printing the case!
