Skip to content


Related Config File Sections:

Believe it or not, the playfield in MPF is technically a ball device. This is needed since MPF wants to know where all the balls are at all times, so it needs to know which balls are "in" the playfield device.

The playfield is also responsible for tracking balls that "disappeared" from it without going into other devices----a process which kicks off the ball search. The default playfield ball device (called playfield) is created automatically based on settings in the mpfconfig.yaml default configuration file. Most machines only have one playfield, though if you have a mini-playfield or a head-to-head machine then you can configure additional playfield devices.

Ball tracking and ball search is performed per playfield in MPF. Therefore, most devices in MPF belong to one playfield and mark it as active when they see a ball. You should configure the exact playfield for every device as soon as you have more than one playfield in your machine. Otherwise, MPF will complain about unexpected balls (e.g. you will see unexpected_ball_on_(name) events), ball search might at the wrong time and ball tracking might go haywire. To transfer balls you can use playfield transfer or ball devices. A ball device might capture from one playfield and eject to another.

Something missing or wrong? You can fix it!

This website is edited by people like you! Is something wrong or missing? Is something out of date, or can you explain it better?

Please help us! You can fix it yourself and be an official "open source" contributor!

It's easy! See our Beginner's guide to editing the docs.

Page navigation via the keyboard: < >

You can navigate this site via the keyboard. There are two modes:

General navigation, when search is not focused:

  • F , S , / : open search dialog
  • P , , : go to previous page
  • N , . : go to next page

While using the search function:

  • Down , Up : select next / previous result
  • Esc , Tab : close search
  • Enter : go to highlighted page in the results