I'm building a Space Cadet Pinball Machine! [video]
Project: Bringing 3D Pinball: Space Cadet to Life!
I have always harbored a deep nostalgia for the classic 3D Pinball: Space Cadet, the quintessential time-waster bundled with Windows 95 and 98. For many of us, it was more than just a game—it was a childhood staple. Recently, I decided to transition this experience from a flat screen to a physical cabinet.
"There is something uniquely satisfying about hitting a physical button to trigger a digital flipper."
The Build Process
The goal was to maintain a retro feel while using modern hardware. I constructed a custom wooden frame and opted for a 4:3 aspect ratio monitor to avoid the stretching associated with widescreen displays.
Hardware Specifications
| Component | Specification | Purpose |
|---|---|---|
| Frame | Plywood/MDF | Structural support |
| Display | 17" LCD (4:3) | Visual output |
| Controller | Arduino Pro Micro | HID Keyboard Emulation |
| Inputs | Sanwa Arcade Buttons | Flipper/Plunger control |
Technical Implementation
Since the game is software-based, I couldn't simply plug in a pinball coil. Instead, I used a microcontroller to translate physical button presses into keyboard strokes.
Input Mapping:
- Left Flipper
Left Arrow - Right Flipper
Right Arrow - Plunger
Spacebar
To ensure the ergonomics were correct, I calculated the screen tilt angle using:
Logic Flow
Sample Mapping Code
if (digitalRead(leftFlipperPin) == LOW) {
Keyboard.press(KEY_LEFT_ARROW);
} else {
Keyboard.release(KEY_LEFT_ARROW);
}
Project Milestones
- Design cabinet blueprints
- Source 4:3 monitor
- Wire arcade buttons to microcontroller
-
Paint the cabinet neon purpleDecided on a classic black finish - Test input latency
It took approximately three weekends of focused effort to complete. The result is a tactile, immersive way to play a piece of software history. Check out the video below to see the machine in action!