Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time

Mission Pinball Framework (MPF)

...Let's build a pinball machine!

What is Mission Pinball Framework?

Mission Pinball Framework (MPF) is an open source, cross-platform software for powering real pinball machines in restaurants, bars, arcades, and elsewhere. MPF is developed by fun people under the MIT license, and supported by a vibrant pinball-loving community. It is a work in progress we are actively developing. We review commits weekly.

Coverage Status Build Status Build status Code Health CII Best Practices

Technology and Compatibility

You can use MPF to power your own custom-built machine, or to update software in existing Williams, Bally, Stern, or Data East pinball machines. MPF interfaces with machines via modern pinball controller hardware, including (but not limited to):

  • Multimorphic P-ROC or P3-ROC systems
  • FAST Pinball controllers
  • Open Pinball Project (OPP) open source hardware
  • Stern SPIKE pinball systems

MPF is written in Python 3. It is compatible with Windows, Mac, and Linux using the same code and configurations.

Visit the MPF project homepage at

See also the MPF Media Controller (based on Kivy), which is used to control graphics and sounds, including high-res LCD displays, classic DMDs, and modern RGB LED DMDs.

Installation and Documentation


Visit the user support forum at!forum/mpf-users.


MPF is a passion project supported by an awesome pinball-loving community. If you're a Python coder, documentation writer, or pinball proponent, join the community! Drop us a line in the forum, or make a change and submit a pull request. For more information about contributing see the Contributing Code and Contributing Documentation pages.


MPF and related projects are released under the MIT License. Refer to the LICENSE file for details. Docs are released under Creative Commons CC BY 4.0.