Scoops / Vertical up Kickers (VUKs) / Saucer holesΒΆ

Related Config File Sections
ball_devices:

Scoops usually capture balls from a playfield (sometimes via a subway) and eject them back to the playfield after a short while. Saucer holes work like scoops but the ball stays visible all the time and they are sometimes used as a lock. Similarly, vertical up kickers (VUKs) capture from the playfield but they eject onto a ramp or a upper playfield. Electronically, all of those mechs consist of a switch or opto and a coil to eject the ball.

Scoop from front Scoop from back Scoop from side

In MPF, you configure them as ball devices since they can count balls and choose to keep or eject it.

This is an example:

switches:
    s_scoop:
        number: 2

coils:
    c_scoop_eject:
        number: 4
        default_pulse_ms: 20

ball_devices:
    bd_scoop:
        ball_switches: s_scoop
        eject_coil: c_scoop_eject
        eject_timeouts: 1s

It is very common to delay the game when the ball is inside a scoop/VUK/saucer to show animations and play sounds. You can achieve this using a queue_relay_player in your mode (you might want to use conditional events to only trigger it when certain condition match):

switches:
    s_scoop:
        number: 2

coils:
    c_scoop_eject:
        number: 4
        default_pulse_ms: 20

ball_devices:
    bd_scoop:
        ball_switches: s_scoop
        eject_coil: c_scoop_eject
        eject_timeouts: 1s

# in your mode
queue_relay_player:
    balldevice_bd_scoop_ball_eject_attempt:
        post: start_mode_success_show
        wait_for: mode_success_show_ended

show_player:
    start_mode_success_show:
        success_show:
            loops: 0
            events_when_completed: mode_success_show_ended

shows:
    success_show:
        - duration: 10
          # add lights/sounds/slides here

When your mode is running the eject will be delayed by 10s (duration of your show). Add all your lights, shows and slides to this show. After the show ends it will eject normally.

The same can be achieved using a ball_hold device. If you want your saucer/VUK/scoop to lock a ball for a multiball use a ball_lock device instead (see multiball in the game design section for more details).