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 cabs
.
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.
>