Building a Virtual Pinball Machine

I was cleaning out a closet the other day and came across my old custom-built PC setup from 2010. I need to decide to either do something with it or get rid of it, and I think it might make a great arcade emulator or a virtual pinball machine.

Despite the computer’s age, it runs Pinball FX decently, and I have a nice collection of tables on Steam (yay Steam sales). The game has a cabinet mode that will change the perspective of the playfield, and it also supports a second screen for a backglass.

The Form Factor

I’m not sure if the enclosure should retain the classic proportions of a real pinball machine or be constrained to the size of the components. I don’t think it will need as much depth or length as a real cabinet.

I’m not a pinball purist, so the final form factor will probably be somewhat compromised. I’ll try to have the classic playfield angle, but allow the rest of the cabinet to be as small as it can be while containing the hardware.

Beginning with the Controls

Of course, there is more to it than just putting a computer and some monitors in a box that looks like a pinball machine. Proper controls are essential to this project.

Before beginning any cabinet construction, I want to build a test rig for the controls that I can iterate on at my desk. My first thought for controls was to get an arcade cabinet kit from Amazon that includes a USB encoder that maps the controls in-game.

However, I don’t think I want to be limited to a pre-programmed encoder. I’d like to explore adding an accelerometer for nudge support or even a real plunger. That led me to consider a microcontroller-based setup.

While researching how others have made their pinball controls, I came across the Teensy-based PinSim from Jeremy Williams. In this video, he shows the controller he built for Pinball FX VR. It is emulating an Xbox 360 controller. Since the Xbox 360 controller has analog sticks and force feedback, he was able to add a real plunger and some rumble motors to his box. It also has nudge support via an accelerometer.

I think replicating his VR controller is the perfect place to start for a controller test rig and a great beginning for the project.