After staying at a vacation rental with a Godzilla pinball machine last year, I’ve become mildly obsessed with pinball. Unfortunately, pinball machines are quite expensive and they take up a considerable amount of room. My dream is to own a pinball machine at some future point, but in the meantime I will need to be content with pinball games on the computer. There’s a few good options for pinball games: Visual Pinball is king of the hill for pinball simulators, Future Pinball is another popular simulator, and Pinball FX is on most game consoles. Pinball games have come a long way since my childhood, but they still lack a certain something and I think a huge chunk of what is missing is the controls. There’s something about depressing leaf switches on a pinball cabinet that can’t be replaced by a keyboard or console controller. The only logical conclusion was to make my own pinball controller, so that’s what I did.

The box was cut out of 3/4" MDF wood, sides were mitered, and then wood glued together with corner clamps:

box sides assembled

Holes for the buttons were precision machined by my brother in a machine shop, since the drill press we had wasn’t big enough for the box:

holes for buttons

Next step was painting the box to give it a nice black sheen. This involved a couple coats of primer, black spray paint, and then finally a clear-coat spray.

The flipper buttons are legit leaf buttons like what you would find in a real pinball cabinet and the Start, Add Coin, and Launch Ball buttons are regular microswitches (all from VirtuaPin).

The brains of the operation is a PinOne board which is a combo keyboard encoder for buttons and accelerometer for nudging. The board is attached to the box with a custom 3D printed spacer and four wood screws:

3D printed spacer for board

The final step was to wire it all up, which I did by following the pinout diagram for the PinOne with some standard spade and DuPont connectors:

wiring completed

Finally the controller was complete! The PinOne software was easy enough to configure. Soon enough, my wife and I were able to play some rounds of pinball! It works great!

demonstration of finished controller

Next steps will be to wire up the lights in the Start, Add Coin, and Launch Ball buttons. I also want to add some solenoids wired to the flipper buttons for haptic feedback so it feels like a real pinball machine.

Someday in the future, I’d like to take this project to the next level and build an entire virtual pinball cabinet for the full experience. For now, I’ll just have to be content with my pinball controller.