Virtual Pinball Cabinet in Cincinnati

Hi there! I came to post my favorite latest build here–a virtual pinball cabinet–and see others have beaten me to it! Nevertheless, I am completely pleased with how it turned out, and how much of a game changer a cnc router has been!

My curiosity was piqued when I stumbled upon the term “Cab Builders” when looking for virtual pinball games. This led me to the YouTube channel “Way of the Wrench” which featured a very down-to-earth guy building one for himself using hand tools. It looked very doable. At one point, he mentioned he was following a build guide he found at which is a literal treasure trove of information! I decided to build mine to the Williams Widebody dimensions to be compatible with off the shelf parts.

My LowRider can only do 4’ x 4’, so I used hand tools for the big cuts. But being able to accurately place holes and bore arbitrary sized holes was extremely nice.

And there were times where I may have shown off the ability to cut specialized parts at will.

Those form the hinge that allows my playfield monitor to be rotated upwards, allowing access to the internals of the machine.

Cyclone was the first table I installed, because I used to play it as a college student. I’ve since brought the total to 36 games. My favorites include Star Trek the Next Generation and Medieval Madness.

The machine uses the Direct Output framework to let the game control real accessories, such as 6W LED flashers across the top of the playfield, 2 rotating beacons on the top of the back box, and an actual Bally’s knocker that gives a powerful BANG! when you get a free game.

Ultimately I added haptic feedback to the cabinet in the form of 4 exciters, (think speakers that use the wall of the cabinet instead of a cone), and 2 bass shakers. The feeling of the ball hitting things and the solenoids banging really make you forget that it’s virtual!

And with the leftover bits of plywood, I was able to make a bespoke stand for the pinball machine’s little brother, a Pachislo machine! (also cut out on the lowrider)


Oh that is a dream project of mine! Thank you for all the links and pictures. What a stunning build.

1 Like

May I ask what software you used?

1 Like

Awesome build!
I have a MAME cabinet gathering dust, but used an actual original arcade cabinet that weighs a ton. Actual old blurry Wells Gardner monitor from 1980 nearly killed me replacing the capacitors, good times!
Would love to build some kind of mutant machine that could transform to a pinball table to replace it, will look at your links.
Love that you used real parts like the coin box and actual pinball table legs and glass. Inspiring!

[Edit: Wow, what an awesome resource! Pinscape Build Guide. ]


That is a great build! Wow.

Absolutely! It’s a bit more complicated than a MAME arcade game. This is because in an arcade game the computer already was responsible for drawing the entire game on the screen. A computer in a real pinball machine, on the other hand, knows nothing about the physics of the ball or rendering. All it knows is what switches get bumped or rolled over, and can only control things like lights and sounds. To create a virtual pinball game requires another layer on top of the emulator that knows how to render the ball, the play field, and know all the physics too (like how do gravity and a rubber bumper affect the trajectory of the ball). describes the software here

VisualPinball is the program I use that renders the table and ball(s). There are others, but this one is very popular, open source, and actively developed.

PinMAME is the underlying emulator for the brain of the pinball machine, using ROM files that dictate the actions of the machine.

B2S is another program who’s sole purpose is to emulate the backglass on the machine. This may include blinking lights behind the translite, the DMD (dot matrix display) which shows scores and instructions, or even old mechanical ‘reel’ type scores.

DOF is the Direct Output Framework, which connects in-game events to real world output devices. These can be flashing lights, beacons, solenoids to make thumps, motors to make rumbles, fans, RGB led strips, etc.

PinupPopper is a front end that provides front end that lets you choose which table you wish to play. It even lets you record a preview of the table to display while you scroll through your games.

PinVol is a utility that lets me independently set the system volume for each table.

Joy2Key is a utility that converts joystick buttons (how the cabinet buttons appear to Windows) into keyboard events (that PinVol listens for). I actually don’t use this, opting to write my own in Python.

A couple notes… all this runs on Windows, since that’s where the community did all the development. There is an effort to run it on Linux, which I would prefer, but I chose to stay close to the active community.

Also, you don’t need a pinball cabinet to run VisualPinball, I think most people actually run it on their normal PC. I tried this out first, before committing to the build. Then I bought a playfield TV and tested cabinet mode with the monitors laid out on a table. That let me see what it might actually feel like before buying any plywood!


Thank u!

This is awesome!