Playfield :: Hardware :: Flippers

If you are contemplating building your own machine, then you probably already know a good bit about how pinball machines work. It’s basically series of electro-mechanical events where a steel ball activates a switch, which in turn fires a solenoid that drives a mechanism, sending the ball off in some other direction where it most likely hits another switch, and so on and so on…

The Flippers are the only real interface to the game: You manually activate a switch that fires a solenoid, which then drives the flipper mechanism… The issue that becomes apparent with Flippers is that you want high-power (and high current) when you’re hitting the ball, but you don’t want to burn out your flipper coils if you hold the buttons too long. These problems have been solved during the long evolution of Pinball, with somewhat complicated results.

It’s understandable that there are often questions about connecting and firing Flippers; With their double-wound coils, multiple recirculation diodes, and end-of-stroke (EOS) switches, it’s easy to get confused if you’re hooking them up for the first time. And to make things more complex, today’s modern control systems have the ability to do many more things, like fire the “power” and “hold” coils independently, apply “patter” to the coils, feed the EOS switch into the controller as a normal switch, or even bypassed it completely.

I’m not going to make a case for what is the best way, but I will elaborate on each of the pro’s and con’s and let you decide what works best for your own Custom Pinball Machine…

Background on the standard 70’s- or 80’s-style setup:

Most early games fired the Flippers directly off of the cabinet flipper buttons, using high-power contact switches. In addition to this, there was some sort of relay in series with the circuit that could enable and disable the flippers between games, or even between balls. Here’s a diagram of a standard vintage-style setup:

Pinball Flipper Relay Circuit

Typical vintage circuit for enabling pinball flipper mechs.

And typical vintage-style EOS switch setup and function:

Pinball EOS switch

Typical End-of-Stroke switch setup and function.

In the above diagram, the EOS switch is Normally Closed (NC) before activation. The switch is shorting out the “Hold” coil, which is a higher resistance and would otherwise limit the current. One the Flipper has reached full stroke, the EOS switch opens, adding the “Hold” coil to the circuit. This reduces the current while maintaining enough of an electro-magnetic field to keep the solenoid in position. On a side note, the typical convention for labeling coils is to indicate the wire gauge, followed by the number of turns. So “25-500” is 500 turns of 25Ga magnet wire. The hold coil is labeled “34-4500”, so 4500 turns of 34Ga magnet wire. Low gauge is thicker wire, with less resistance and higher current carrying ability. Resistance also increases with length. So more turns at a higher gauge will yield a much higher resistance than fewer turns at a lower gauge, even if the same amount of copper is used.

Speaking from personal experience, about half of my Custom Pinball games use this type of setup. The specific relay (and corresponding socket) that I have used to enable the flippers can be found here:


Pinball flipper relay

Standard K10 form-factor relay, DPDT suitable for pinball.

K10 relay socket for Pinball

Typical K10 relay socket with terminal connections.

You have a couple of options in wiring up this circuit. I like to have the relay on the high-voltage side of the flipper coils, and use the cabinet buttons to switch the ground side of the coil.

If you’re interested in using this old-school method, or possible have scavenged parts from vintage machines, here are a couple links that describe how these older circuits work, and how to properly repair older Flippers:

Old-school Advantages:

Zero latency from button push to firing the flippers. And, only one solenoid driver channel is used, just for the relay.

Old-school Disadvantages:

As simple as the circuit is, it can be a lot of wiring to get power, ground, buttons, flippers, and solenoid driver lines all to a central relay. Power of the flippers are not independently adjustable.

Variations on the Old-school circuit:

From a power supply standpoint, one concern with flippers is that their high-power coils produce large current surges (see the previous blog post for more info on power supplies). This could become a problem particularly on multiple-flipper games. However, I have wired four-flipper games in parallel without any issues. If it is a concern when building your own Custom Pinball Machine,  there are clever variants that uses the EOS switches to stagger the firing of the upper and lower flippers. The advantage being that the surge current is spread out over time, so each flipper gets the full power available. Primary flipper requires a DPST leaf-switch, circuit diagram here:

Firing multiple pinball flippers.

Staggered firing of multiple flipper coils using the primary EOS switch, reduces surge current.

Modern Systems:

If you’re building a Custom Pinball Machine, the controllers and drivers available today allow for independent firing of both the “power” and  “hold” coils, or they can adjust the duty cycle of the voltage to the solenoid so that only a single “power” coil is needed. The EOS switch can be used to tell the controller to go to a much lower duty-cycle, or the EOS switch can be bypassed completely and a timer function used instead to switch to a low-power mode. This modern technique uses PWM, sometimes called “patter”. Here is a good breakdown of the various methods that can be used today:

Modern Advantages:

It’s much easier to wire flippers directly to the driver, and have cabinet buttons go to the controller. I currently have two Custom Pinball Machines wired this way, and I can see how the ease of wiring justifies the downsides. Plus, you have full control over flipper power, and could even manipulate the power as part of the game rules.

Modern Disadvantages:

Having the Flipper buttons sent to the controller, and then the controller signal sent to the driver, can introduce latency (that is, a significant delay between pushing the button and seeing something happen). This is by far the most commonly cited disadvantage. However, I can say from personal experience that it’s barely noticeable (or not detectable at all), even with a relatively low-speed controller like an Arduino. With that said, there are other potentially more critical disadvantages… Eliminating the EOS circuit is not “Fail Safe”. Having the high-power coil under computer control could lead to problems, especially during development and testing, or as a machine gets older and less reliable.

Another disadvantage is that configurations firing two coils per Flipper (independant “power” and “hold”) can eat up available driver channels pretty quickly, especially on multi-flipper games. But this would only be a corner case where the EOS switch was eliminated, while retaining the “hold” coil (as in situations where PWM “patter” drive is not an option).

Where to Buy:

Aside from eBay, and especially if you want new hardware, the best places to buy Pinball Flipper Mechs are from Marco Specialty or Pinball Life:

Reproduction Bally Flipper Mech

Reproduction Bally Flipper Mech available from Pinball Life.


Reproduction Stern Flipper Mech from Marco Specialties






    1. There is probably a way to wire it Normally Open, but I’d have to think about it more. A majority of the “NO” configurations are for Fliptronic machines, where the switch closure is used to signal the controller to start pulsing the flipper coil.

      If you are going to use the EOS switch to activate a hold coil, you should probably configure it as “NC”, which is the standard. If I came across one that was “NO”, I would just flip it around (assuming it was the high-voltage type), or put in a different switch.

      The photos are definitely “NC”, but yeah, you want to make sure you’re not buying a Fliptronic-type.

  1. Hi,
    love your posts very helpful !
    About the modern way to control flipper (with arduino & Poser Driver 16), how do you manage the voltage? I mean we should send a 36V very quickly to Fire the solenoid and then send a lower voltage to maintain the position. Where do you manage that? In the arduino code?


    1. Hi Salim, thanks for your post!

      I’ve discussed this with some other people, you might be able to find those posts as well, but my main recommendation when using an Arduino is to pair it with a flipper mech with a built-in hold coil and EOS switch.

      These are relatively easy to find, both new and used. And, they are fail safe if something goes wrong with your code, or if the Arduino loop time isn’t fast enough.

      Hope this helps,


      1. I ordered and already received two single coil flippers… I thought I can manage the power with the code with some pulses to generate a 12V (for example) voltage to hold the coil.

        I also ordered the power driver 16… Can this controller generate pulses of 36V with a fast frequency?

  2. The PD-16 is fast enough, if you can also send the commands fast enough in your program loop, which might tax the power and speed of an Arduino…

    What people do in this case is when the flipper button is pushed, they turn the coil on full power for some short amount of time. Then, to lower the power, you would turn the coil on for a short amount of time, and then off for a short time, very rapidly (like 1ms on, 5ms off).

    The coil acts like a large inductor, so it will resist changes in current, and thus limit the amount of current being supplied if the switching frequency is fast enough. Unfortunately you’re not going to know if you should have an on-time of 0.1ms, or 1ms or 10ms until you actually try it.

    I think this is the reason most people who go this route complain that their power supply keeps shutting down from over-current.

    I honestly think you will get much better results if you spend and additional $50 a piece on some dual-winding flippers with EOS switches.

    Hope this helps,


    1. Alright then. I m gonna right the algorithm and mesure the output voltage generated before pluging the coil. If I generate a 12V, knowing the coil resistance is 5.5Ohm, it will consume average 2A which is ok for my power supply (LS-100 @ 36V, 3.5A). And worse case I will replace the coil from a simple to a double one.

      I ll keep you in touch I will pick up the PD-16 today !


  3. Good luck, it’s certainly worth a try, and other people are doing that successfully (albeit with more processor power).

    One thing to be aware of, the solenoid coil is like a big inductor, and the V=IR equation is only valid during steady state conditions. Meaning, your max current could still be 36V / 5ohms = ~7A, even if your “average” voltage is only 12V. You need to have the on-off times very short, which means having a very fast program loop.

    Hope this helps!


  4. Hi buddy, at first I want to congratulate your work and dedication to explain the critical points. I just can think about doing my own pinball thanks to people like you.

    Im really a noob, and a little more experienced only in the digital parts. So, my first trouble is to decide the flippers and power source.

    Ive started my project because a very dirty playfield in Brazil can cost like 1K us$, and the sega machines like 3k. EMs costs twice and SS up to 4x.

    So its important to decide the power suplly and coils system, so I can activate flippers, bumpers and start playing, even while developing the other components.

    Can You help me with some sugestions? Can be only a voltage and your coils, can be only the flipper system, can be only the coils, I need something to start.

    Im thinking about maybe a fully digital system, with 16v 2a coils, but its enough only for a tabletop right? EM or solid state based will need more power, so, which one to choose? Im trying really hard, but im feeling in trouble.

    So I keep studying arduino and electronics and pinball schemes, but I really apreciate your help.

    Sorry bout english mistakes.

    Tnx. And congratulates again!

    1. Thanks for you comments!

      There was actually a great thread on this same topic posted on the Mission Pinball forum last week, you can check out here:

      Looks like most people are sticking to the 36v to 48v range for coils, and I would definitely stay away from the 70v stuff (high voltage is dangerous, especially in a custom game).

      There are plenty of coils in this voltage range that work great. Check out Pinball Life’s page dedicated to Home-brew builders:

      Hope this helps!


      1. Hey Brian-

        I’m back to working on my custom pinball ‘Blaster’ and wrapping my head around wiring up the flippers. I have an arduino > master > driver board with dual-wound flippers.

        From what I understand, I can wire the cabinet flipper button to the arduino and send commands to the driver board(pd 16) to fire the flipper solenoids.

        I’m tinkering with combining your test Arduino script for using the serial monitor to test fire solenoids and some sample code for Arduino

        Do you already have some Arduino code that does this? I basically want to declare the switch input and then have it send it to the driver board to fire the first solenoid.

        Does that make sense? Anyhow, I’d appreciate the help!


      2. Hi Dan,

        Sorry for the late reply!

        I have Arduino code posted here ( ) near the bottom of the page. One of those projects is specific to scanning a switch matrix, and all of the game files include some form of switch reading.

        There is also a solenoid test code that sends out commands to the PD-16, and again same is in the game code.

        Hope this helps!


  5. Hi Brian,

    Looks like I’m a little late to the party, but I came across your site while doing some preliminary research on how to go about building a pinball machine. It’s something I’ve been wanting to do for a while, but I’ve never been sure if I had the time or money to build one. You’ve obviously had some experience with this- How much would a basic machine cost me just in raw materials and parts, and how long can I expect it to take to build?

    Thanks, Ryan

    1. Hi Ryan,

      Here are two things to check out first that also have good online support: FAST Pinball (for hardware) and the Mission Pinball Framework (software). Each have user forums that are really active.

      For your specific question, first thing I usually tell people is that a custom machine is probably *not* going to be cheaper than buying a game (especially used). But the upside is that you can design the exact game that you actually want. Expect to spend several thousand dollars minimum for parts, hardware, printing, etc… (ouch…)

      As for time, it usually take me about two years to complete a game, but I also usually have two games in progress at the same time. I know other people are taking even longer than that (or could be shorter), so depends how much effort you put into it. I usually carve out at least a half-hour every day, and dedicate a weekend each month.

      Hope this helps!


      1. Thanks, this helps put the whole project in perspective. I was hoping it’d be chaper than buying, but the fun’s in the designing and building anyway. I’ll keep you updated (read: ask lots of questions) if I decide to go for it. Thanks for the info, good luck with your own tables!


  6. There is another configuration that I can think off that would merge old and modern techniques.

    You could use direct firing method with an always on pwm signal on the solenoid. this way you have zero delay firing and regulated voltage on the solenoid. The default duty is the ‘firing duty’ while the ‘holding duty’ can be set when the EOS switch triggers/firing time has elapsed.

    You still need a digital input on the ucontroller to detect user input, but the actual firing signal is just like the old technique

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s