top of page

Taxi - A Penny K Pinball / MPF Project

Updated: Jun 16, 2021

A couple of years ago I did a full tear down and restoration of a Williams Taxi pinball machine. Unfortunately I've had several hardware issues since and have had trouble keeping it running. There is currently a power issue that is keeping it from even powering up. While working on developing the Mission Pinball Framework (MPF) platform interface for the new Penny K Pinball PKONE pinball controller boards, I realized that it would be a fun project to convert my Taxi machine to use the PKONE hardware and recreate the rules using MPF. Before diving in to this endeavor, I decided that I want to preserve the original setup of the machine and not make any irreversible modifications so the machine can be reverted back to its original state in the future if I so desire. This means I plan to preserve the original wire harnesses by de-soldiering them from the coils, switches, and lights in the machine (I already did this once when I restored the machine and installed a new playfield -- I still have all the tear-down photos to make it as easy as possible to put back together in the future). Even though I've been a regular contributor to the MPF project, I've never actually used it for a full project and am looking forward to learning it more in detail. In any case, I plan to document this project while learning as I go.


Hardware and Software

First let's take a look at the main hardware and software I'll be using for this project. The Penny K Pinball PKONE Pinball Platform is a brand new pinball control system built for both commercial and homebrew pinball projects. It is a modular multi-board solution that enables the boards to be located under the playfield very close to the devices they control leading to shorter wire connections. The modular nature of the system allows you to purchase only what you need to complete your project.

The Mission Pinball Framework "MPF" ( is a free open source Python-based pinball software framework that’s used to run real pinball machines. It allows both casual builders and hard-core programmers to create the software to run their pinball machines—whether it’s new game code for an existing pinball machine, a “re-theme” of an old machine, or totally custom pinball or any homebrew pinball machine built from scratch. MPF is cross-platform and runs on Windows, Mac, Linux, and the Raspberry Pi. It's available in 32-bit and 64-bit versions and can be installed in minutes.


Getting Started - Planning

Time to get started. Here is a photo of the playfield.

First, let's start analyzing the Taxi hardware to see what mix of PKONE boards we will need to use. Time to get out the trusty Taxi manual (here is a link to the manual on IPDB: A quick glance at the switch matrix table indicates there are 43 switches (does not include the flippers, eos, and maintenance switches) so at a minimum this project will require a PKONE Nano controller and two PKONE Extension boards so far (each Extension board supports 30 normal switches plus 5 opto switches).

Let's look at coils now (referred to as solenoids in the Taxi manual. I plan on replacing all the flashers (which were driven in the same manner as solenoids in Taxi) with LEDs to save on PKONE hardware requirements, so all the flashers can be ignored for now. That leaves exactly 20 coils (including the separate hold coils in the dual-wound flippers):

  1. Outhole Kicker

  2. Shooter Lane Feeder

  3. Catapult

  4. Middle 3-bank Drop Target Reset

  5. Top Eject Hole

  6. Right 3-bank Drop Target Reset

  7. Spinout Kickbig

  8. Right Lock (Eject Hole)

  9. Top Ball Gate

  10. Bell (cabinet)

  11. Knocker (backbox)

  12. Left Jet Bumper

  13. Left Slingshot

  14. Right Jet Bumper

  15. Right Slingshot

  16. Lower Jet Bumper

  17. Right Flipper (Main)

  18. Right Flipper (Hold)

  19. Left Flipper (Main)

  20. Left Flipper (Hold)

Each PKONE Extension board supports 10 coils (plus 4 specialized servo outputs) so we can still get away with two Extension boards with no room to spare to control the 20 coils. We could continue to use the flippers the same way they were controlled in Taxi where the EOS switches control whether the main coil or the hold is powered, thus saving 2 coil outputs on the PKONE Extension board, but for now I'll go with the plan to control them separately.

On to lighting. The manual indicates a completely full lamp matrix of 64 computer controlled lamps plus two strings of computer controlled GI lighting. This adds up to somewhere on the order of 130 light bulbs in Taxi. A single PKONE Lightshow board can easily support 130 WS281X RGB LEDs in up to 8 serial strings. However, because most of the inserts on the playfield are colored, there is no need to put full RGB LEDs under them. Luckily the PKONE Lightshow board also supports 40 simple LEDs.

Let's look more closely at all the controlled lights. The following lights have colored inserts and therefore do not need full color RGB LEDs under them (we still could use RGB LEDs, but single color matching LEDs would be better):

  1. (C)AB - Yellow

  2. C(A)B - Yellow

  3. CA(B) - Yellow

  4. Raise Jackpot - Yellow

  5. Carry Passengers - Red

  6. Joyride - Red

  7. Extra Ball - Orange

  8. Express Lane 1 - Red

  9. Express Lane 2 - Red

  10. Passengers Carried - Orange

  11. Jackpot - Yellow

  12. Release - Green

  13. Airport Ride (Left) - Green

  14. 20K - Green

  15. 40K - Green

  16. 60K - Green

  17. 80K - Green

  18. 100K - Green

  19. Airport Ride (Right) - Green

  20. Lock - Green

  21. 2X - Yellow

  22. 3X - Yellow

  23. 4X - Yellow

  24. 5X - Yellow

  25. Ride Again - Orange

  26. Special W/L (Left) - Red

  27. Special W/L (Right) - Red

  28. Skillshot - 1,000 - Black

  29. Skillshot - 5,000 - Dark Blue

  30. Skillshot - 10,000 - Green

  31. Skillshot - 25,000 + Spot Passenger - Light Blue

  32. Skillshot - 50,000 - Orange

  33. Skillshot - 75,000 - Yellow

  34. Skillshot - 100,000 - White (could use an RGB LED for effects)

  35. Joyride - 10,000 - Yellow (backbox)

  36. Joyride - Spot Passenger - Yellow (backbox)

  37. Joyride - Mystery Score - Yellow (backbox)

  38. Joyride - Extra Ball - Yellow (backbox)

  39. Joyride - Special - Yellow (backbox)

  40. Traffic Light Red - Red (backbox)

  41. Traffic Light Yellow - Yellow (backbox)

  42. Traffic Light Green - Green (backbox)

  43. Jackpot (Left) - Yellow (backbox)

  44. Jackpot (Right) - Yellow (backbox)

  45. Meter Bonus - Yellow (backbox)

The following lights have clear (or partially clear with artwork over) inserts and could use RGB LEDs under them:

  1. Santa Claus

  2. Gorbie

  3. Drac

  4. Marilyn

  5. PinBot

  6. Santa Clause 20K Tip

  7. Gorbie 20K Tip

  8. Drac 20K Tip

  9. Marilyn 20K Tip

  10. PinBot 20K Tip

  11. Million W/L

  12. Bonus W/L (Left)

  13. Bonus W/L (Right)

  14. Williams Pinball Palace (Upper Left, backbox)

  15. Williams Pinball Palace (Mid Left, backbox)

  16. Williams Pinball Palace (Lower Left, backbox)

  17. Williams Pinball Palace (Upper Right, backbox)

  18. Williams Pinball Palace (Lower Right, backbox)

  19. Santa Claus (backbox)

  20. Gorbie (backbox)

  21. Drac (backbox)

  22. Marilyn (backbox)

  23. PinBot (backbox)

  24. Taxi Topper (on top of the backbox)

Then there are the other GI lights on the playfield and in the backbox. While they are warm white incandescent bulbs currently, replacing them with RGB (or even RGBW) LEDs should work just fine. What we've basically learned is that a single PKONE Lightshow board should support all the lighting needs of this project with a combination of RGB (or RGBW) serial WS281X LEDS and simple LEDs. We'll get back to these lists later on in the project when we plan each light in more detail, but for now, this is a good start.

We have now covered the switch, coil, and light needs and have determined that a PKONE Nano controller, two PKONE Extension boards, and one PKONE Lightshow board will meet those needs. What are some other hardware considerations we need to plan for? What about displays and audio?

Taxi has a large two-line 14-segment (plus 2 segments for period and comma) displays with 16 characters in each line and a smaller 7 digit jackpot/meter bonus numeric display. As I see it there are two primary options: 1) figure out a way to utilize the existing displays, or 2) replace the displays with small computer monitors and simulate the displays on them. Using the existing displays presents a few challenges such as they appear to use a 100 volt power source and require figuring out a way to interface and drive them using a computer. There are a few existing segment display driver solutions out there that are compatible with MPF, but none that are designed to use this particular display setup. More than likely I would have to create my own using an Arduino or other small controller to interface with the displays. This would involve some research and exploration on how the displays were driven in the System 11 boards and coming up with a system to replicate those control signals. Not having much experience in that area I'm inclined to lean towards the second option: using small computer displays and simulating the alphanumeric displays. Small LCD screens are pretty inexpensive and can easily be powered and interfaced with the computer using HDMI or VGA cables. Since I am mainly a software guy, this option is much less daunting and even though it may not have the authentic charm of the alphanumeric displays, it will provide a lot of flexibility when it comes to extending the game options. I will need to develop a new alphanumeric display simulator widget in the MPF media controller, but I am sure others will be able to benefit from that as well as it likely will be come a standard part of MPF.

Finally there is the audio hardware. It will be pretty simple to get a small amplifier or set of computer speakers to connect to the computer for all audio needs of the project. I'm more comfortable with the sound capabilities in MPF than any other area since I was the one who designed and programmed the MPF sound system. I'm confident the existing audio feature set is more than robust enough to fully replicate the great Taxi sounds.

That will wrap up the initial planning for getting Taxi running using the Penny K Pinball PKONE Pinball Platform and the Mission Pinball Framework (MPF) software running on a computer. Here is a high-level list of what I think I will need:

  • 1 Williams Taxi pinball machine

  • 1 PKONE Nano controller

  • 2 PKONE Extension boards

  • 1 PKONE Lightshow board

  • Power supplies (5v, 12v, 48v)

  • A small computer (will use Windows PC for development, perhaps Linux for the finished product)

  • 2 LCD panels (13.3" and 7"; these have the correct width for the existing areas in the backglass)

  • Audio amplifier and small speakers

  • WS281X RGB LEDs (I'm strongly leaning towards warm white RGBW LEDs)

  • Simple LEDs (color matched to the inserts they will be under)

  • Wire (in many colors), connectors, and cable ties

  • Time (always seems to be in short supply)

122 views0 comments

Recent Posts

See All
bottom of page