1. Preface

I first started thinking about building a virtual pinball machine at least a couple of years before I actually did anything about it. I was on the fence for so long because I thought it was one of those ideas that sounds better than it really is. I also thought I might get bored of it quickly. I loved the idea of a life-sized pinball simulator, but I didn't think the real thing could live up to my mental image of it. It didn't help that Visual Pinball always seemed a little disappointing on my desktop PC. I thought a cabinet would just make the video game's limitations more obvious by putting it on a bigger screen. You've probably heard it said that the great thing about a virtual cab is that it's like having 1,000 pinball machines packed into the space of just one, but surely the variety is only of secondary importance: if it weren't fun to play one virtual table, why would you want 1,000 of them?
But I kept coming back to the idea. I'd check in on the forums from time to time to see what was new. At some point, people started talking about putting "feedback toys" in their cabs1. That's when I finally decided I had to build one. "Toys" are physical devices that create special effects in sync with the on-screen action. The thing that grabbed my attention most was the idea of using solenoids for a tactile thunk when a flipper or bumper fires. The ability to feel the game action struck me as a whole new dimension that you can't get in mere video pinball.
It's probably needless to say that all of my early reservations were turned around once I started building my cab.
If you're reading this guide, you're probably at least curious about building your own cab. In case you're still undecided, like I was, let me offer this nudge: I think a cab really is a different experience from playing pinball simulations on a desktop PC. It's not just the same thing in a different box. The real controls and the full-scale physical setup are more than just decorations; they're transformative.
I should temper that by adding that a virtual cab won't trick you into thinking you're playing a real pinball machine. It's not that realistic. But it's not just desktop video pinball in a fancy box, either. "Virtual" and "real" pinball each have their own advantages, and they're each fun to play in their own way. I'm fortunate to have a small collection of real pinball machines at home, and while I'd never consider the virtual cab to be a replacement for any of those, it is a great addition to the lineup, adding its own unique play style.
Pin cabs aren't just fun to play; they're fun to build. They make great DIY projects. As much as I enjoy playing games on my cab, I also really enjoyed building it, and I'm still coming up with ways to improve it. Most of that work is on the software side these days, although I still tinker with the hardware, too. One of the great things about this hobby is that most of the software involved is open source, so if there's something you don't like, you can change it. That's one of my motivations for sharing the Pinscape Controller project: I wanted to bring the benefits of open source to the hardware side. When I started my cab, most of the hardware options were proprietary devices designed more with video arcade projects in mind, so I'm glad that I've been able to add some more pinball-oriented designs into the mix.
This is a great time to be building a DIY pin cab, thanks to a confluence of trends. One is that real pinball continues to thrive among collectors, which is good for us because it keeps an active market going for the specialized pinball-machine parts we need for our projects. Another helpful trend is the popularity of hobby robotics, which has made lots of advanced electronics accessible to DIYers. A third is the growing interest in virtual pinball itself, which has attracted a talented group of people who work on the open-source software that makes virtual cabs possible. Virtual cabs will keep getting better as long as people are actively working on the software.

The Pinscape Controller

This guide has grown into a pretty comprehensive set of instructions for building a pin cab, from the woodworking and trim hardware to the electronics and the software. It started out with a much smaller scope, of serving as the user manual for my Pinscape Controller project, and that remains a significant part of the book. The Pinscape Controller is an open-source hardware and software project that can act as the central hub for connecting most of the specialized input and output electronics unique to virtual pin cabs: buttons, sensors, and feedback devices like solenoids and lights. The controller can handle nearly all of the special I/O functions in a pin cab, including:
  • Connecting flipper buttons and other pinball-style buttons to the PC and using them to control the game
  • Connecting a physical pinball plunger to the software, via a position sensor that detects its position and motion, so that you can launch the ball the traditional way, with precise control for tricky skill shots
  • Using an accelerometer to sense the motion of the cabinet, so that you can nudge the cabinet and get a realistic, proportional response in the simulated game
  • Connecting feedback devices to the PC, so that the pinball software can create lighting effects and tactile effects cued to the game action
Physically, the core of the Pinscape project is the Freescale FRDM-KL25Z, a tiny, self-contained computing device about the size of a credit card. It costs about $15 and comes fully assembled and ready to use. You don't need to know anything about electronics to set it up; you just plug in a USB cable and load some software.
The KL25Z by itself does a lot of the heavy lifting. It has a built-in accelerometer (a good one), which nicely handles nudge sensing. You can connect buttons (like the flipper buttons) directly to the KL25Z, with no more work than running some wires.
Beyond buttons and nudging, the electronics work gets a little more complicated. If you want to hook up a plunger sensor or connect feedback devices (lights, motors, solenoids), you have to buy some electronic components, and do some additional wiring and electronic assembly work. That's all laid out in detail in this guide, and it's very scalable - you can do as much or as little of this as you want, according to your interests and comfort level working with electronics. And you can add new features over time; it's all pretty modular. I've tried to make all of the projects approachable even if you don't already know much about electronics.
For the plunger, several options of varying difficulty are available. The easiest option only requires buying a particular kind of potentiometer (about $6) and connecting three wires. A more complex but more precise option is what I'd call an "intermediate level" DIY electronics project. All options are documented in detail in this guide with step-by-step instructions.
If you want to connect feedback devices to the KL25Z, that also requires some additional electronics work. There are some simple options involving pre-built circuit boards that you can buy on eBay or Amazon. The more advanced and more full-featured options involve the "Expansion Boards", a set of circuit board plans that you can build yourself. Again, this is all documented in this guide.
The Pinscape Controller is an entirely "open source" project, meaning that all of the software is free to use, all of the source code and hardware designs are published, and you're free to change and customize them in any way. I'm always happy to integrate any customizations that are generally useful back into the official version so that everyone can benefit from them, but you're also free to make private changes for your own use if you prefer.

Cabinet build guide

Beyond the Pinscape-specific material, this guide includes a lot of information about building virtual pin cabs in general. The goal is to provide a complete instruction manual for the DIY pin cab builder. The guide even includes information on the various commercial products that can fill the same roles as the Pinscape project, for people who aren't interested in DIY for those aspects and prefer something that comes ready-made.
I'm including the general virtual cab building material because I would have really liked something like this when I started on my own cabinet. There's a lot of information on building these machines on the Web, mostly in forums and blogs, but it's really scattered and hard to find and navigate. There is one other full build guide out there that I'm aware of, though: Major Frenchy's Mame in a Box, which offers a big library of video tutorials on pin cab building. If your learning style favors video presentations, or you just want another resource to add to this one, check it out.
I can't quite boil things down to a ready-made kit with a master parts list and easy assembly instructions. There are too many possibilities and variations for that. Every cab is unique, which is exactly as it should be for a DIY enterprise like this. So I'll try to go into as much detail as I can, but in many areas the information is more like advice than outright instructions.

Currency and updates

The first complete edition of this guide appeared in October, 2019 (after about three years of partial versions that were kept online as a work-in-progress). "Complete", in the sense of covering all of the topics I set out to cover at a level of detail that I set out to reach - but not necessarily "finished", in the sense of the last possible word being said on every subject, the text set in stone, never to change again. I still see it as an ongoing project, and I revise and expand it from time to time as I encounter errors and omissions, and to keep up with changes in the virtual pinball world. (Most recently in August 2024, according to the electronic librarian that keeps track of the text.)
Many parts of this guide have an inherently long shelf life, because the "real" pinball machines that virtual cabs are based on tend to look and act much the same year after year. I don't think that's likely to change, either, because at least a part of pinball's market demand comes from nostalgia. The pinball makers are aware of this and know that they can't change things too much before people stop thinking of their products as "pinball". A lot of the basic design of a commercial pinball machine (and thus of a virtual cab) is pretty well anchored in the 1990s. That's good for the longevity of this guide, because it means the parts about cab building don't need to be updated every couple of months to chase a new fad. The same is true of the backgrounder sections on woodworking, soldering, and so forth.
Some things do change rapidly, though, some so quickly that I know there's no hope of keeping any guide up-to-date with them. The things that move at warp speed are primarily related to the core electronics - specifically, the TVs and video displays and the PC hardware specs. All of that tends to undergo a complete revolution every four to six months. I know there's no hope of keeping a list of "Best Intel Chips of 2024" or "The Sharpest TVs Right Now" up to date, so I don't even try to provide such ephemeral shopping lists. Instead, the relevant sections provide a more general, and hopefully more lasting, idea of what to prioritize when shopping. My hope is that this will help the material remain relevant and useful for at least a little while.
In between those extremes - the Moore's-law churn of consumer electronics on the one hand, and the timeless arts of woodworking and soldering on the other - there's another area that changes at a middling pace: the special software and hardware devices for playing virtual pinball. Visual Pinball, PinMAME, DOF, etc - these are generally open-source projects, or in some cases tiny one-person businesses, that are in active development and that come out with new versions once in an unpredictable while. I confess that I don't track every one of those projects closely enough to know immediately when something I've written about it here needs to be updated, and even if I did, it would still take me a while to catch everything up. So it's best to treat the guide as a secondary source of information for the big software components, and look to the projects themselves, or forum activity from their contributors, for the latest news.
If you encounter any errors, or anything that's out of date, I'd be happy if you pointed it out so I could try to fix it. You can contact me on vpforums.org (my user ID there is mjr.)

An explanation of "section incomplete" warnings

I originally started posting this guide in draft form in October 2016, when it was just a skeletal outline. Back then, most of the sections were just placeholders, like this:
This section is incomplete and will be expanded when time permits. Material to be added: (Some notes about what I intended to write would go here)
Those placeholders were there so that I could use the guide as its own outline, and also so that readers would know that I hadn't forgotten about the topic in question.
I finally finished filling in all of the planned material in October 2019, so at that point there were exactly zero of those boxes remaining. You probably won't see any in the current guide - but I can't rule that out entirely. I'm still revising and updating the guide on a regular basis, and occasionally a new topic comes up that's big enough that it will take some time to cover. When that happens, I might resort to adding a few of those boxes back in. If you see any, they mean that there's some new material I intend to add when I get a chance.
1In the vernacular of the Web forums, a virtual pinball machine is called a pin cab, short for "pinball cabinet", and most often shortened further still to simply cab. If you're new to the forums, the name might seem weirdly generic. But it makes sense in the context of the forums, because the "cab" groups are only a small part of a broader community that's interested in computer pinball simulation in general. Everyone in the broader community plays computer-simulated pinball, but mostly using ordinary desktop PCs or video game consoles. The thing that distinguishes the "cab" crowd is that we embed our pinball PCs in these elaborate housings based on the real machines.