Warning

This is the documentation the latest work-in-progress version of MPF!

This is the documentation for MPF 0.57, which is the “dev” (next) release of MPF that is a work-in-progress. This is probably ok, and means you’ll be on the latest, cutting-edge version of MPF.

However, if you want a more stable version, select the v:stable version from the lower-left corner of this page. You can always update to the latest at any time.

Arduino Pinball Controller

MPF can control System3 to System11c machines directly using the Arduino Pinball Controller (APC). It contains CPU and drivers so it can also be used to build full custom machines. Uses the LISY protocol.

This is how APC generally works:

See Arduino Pinball Controller Documentation on github for details.

This is an example config:

#config_version=5
hardware:
  platform: lisy
lisy:
  connection: serial
  port: com1      # change this for your setup
  baud: 115200
digital_outputs:
  game_over_relay:
    number: 1
    type: light
    enable_events: ball_started
    disable_events: ball_will_end
segment_displays:
  info_display:
    number: 0
  player1_display:
    number: 1
  player2_display:
    number: 2
  player3_display:
    number: 3
  player4_display:
    number: 4
hardware_sound_systems:
  default:
    label: APC
This example is tested to be valid MPF config. However, it is not integration tested.
#config_version=5
hardware:
  platform: lisy
lisy:
  connection: serial
  port: com1      # change this for your setup
  baud: 115200
digital_outputs:
  game_over_relay:
    number: 1
    type: light
    enable_events: ball_started
    disable_events: ball_will_end
segment_displays:
  info_display:
    number: 0
  player1_display:
    number: 1
  player2_display:
    number: 2
  player3_display:
    number: 3
  player4_display:
    number: 4
hardware_sound_systems:
  default:
    label: APC

See the LISY platform for more details on configuring hardware.