(Topic ID: 278199)

Pop Art Pinball with Homemade Mechs


By TheSupremePapaya

5 months ago



Topic Stats

  • 28 posts
  • 6 Pinsiders participating
  • Latest reply 3 days ago by TheSupremePapaya
  • Topic is favorited by 8 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    There have been 12 images uploaded to this topic. (View topic image gallery).

    FlipperSpring.gif
    FlipperUnderside.jpg
    FlipperBase.jpg
    FlipperPlayfield.jpg
    DropTargetTop.jpg
    DropTargetBack.jpg
    DropTargetFront.jpg
    PopBumper.jpg
    MiniFlipper.jpg
    Saucer.jpg
    GraphicsTease (resized).png
    PinballRough_Web (resized).jpg

    17
    #1 5 months ago

    First Pinside Post! Be kind internet.

    So what started out as innocent scrap wood tinkering has gotten out of hand. It was supposed to be just an all mechanical novelty, but a few "I wonder if I could make that"-s later and now I would really like to follow through on making it a real (albeit unconventional) table.

    BLAM!, a Roy Lichtenstein inspired game. It's a small, almost entirely handcrafted, EM-inspired game with a multiball mode. Its features include mechanical flippers, a 5 bank drop target, a kickout hole, a captive ball, a pop-bumper like device, and The Bomb, which is 5 holes surrounding a mini flipper. The balls lock in any 3 of those holes, the flipper spins, the balls eject in all directions to start multiball.

    My question is what is the next step to computerize? I'm not a programmer, nor do I have much experience in electronics. Mission Pinball looks quite user friendly, but it seems like the required hardware is overkill for my machine, which frankly doesn't have alot going on in it.

    Thanks in advance for any advice.
    PinballRough_Web (resized).jpg

    #2 5 months ago

    First off - this is really cool! Love the giant flippers, the bomb, and custom made mechs.

    To understand your goal - you want to add sound/video/rules and maybe lighting stuff as well? MPF would be awesome for all that — esp. for a non coder. However, as you mention.. maybe overkill for this given that it typically would be looking to interface with PROC or FAST board systems. And skeletongame would require PROC boards and more coding.

    W/out using those board sets I think your looking at a lot of coding and custom electronics — but keeping it simpler maybe an arduino board and switch inputs to it could get you close to where you want to be? Tie in a rasp pi for some audio / visual stuff?

    #3 5 months ago

    Welcome to the homebrew community! MPF supports a bunch of different hardware solutions. The cheapest ones come at less than 100 bucks (OPP, APC, Lisy). However, they require some soldering on your side (not too much though). FAST and P3-Roc come at a higher price tag but they are also more robust and ready to go. You can also use a RPi and roll your own drivers (and control them with MPF). However, in that case OPP is probably easier and more battle tested.

    Personally, if you are not so much into electronics I would recommend you to get some FAST or Multimorphic boards. If you want to learn electronics OPP might be a good choice. For MPF almost any old computer will do.

    Jan

    #4 5 months ago

    Nice work! I love the Pop Art based theme. Will you be adding art to the playfield? Also, kudos for going with Lichtenstein over Warhol. Not that there is anything wrong with Warhol.

    #5 5 months ago

    My skill set is in Art/Animation, so it's really hard for me to dismiss video, but don't know if the project merits it. It certainly doesn't need an elaborate light show.

    The mechs are homemade, which was cheap and a fun challenge, but they obviously don't function as well as the real deal. I don't want to sink at lot of cost in electronics for a "just ok" machine.

    Would it be helpful if I posted a component list and basic rules outline?

    Krupps4 Yep, the plan is for original art on the playfield and backglass. Here's a little tease of what I've been doodling.

    GraphicsTease (resized).png
    #6 5 months ago

    I’d love to hear more, so please feel free to share. I love the art. I say go with it!

    #7 5 months ago

    I guess as a minimum you need 8 drivers, 48 lights and 48 switches (just from counting and rounding up). Right?

    Jan

    #8 5 months ago

    Hey, pretty close! I think it will have 34 switches, 36 insert lights, 1 light for the bomb fuse, 1-2 lights for the inside of the bomb (to add alittle drama when the bomb "explodes") and an undetermined number of lights for illumination under the plastics, though those wouldn't need to be controlled individually.

    When it comes to things that need drivers, it gets weird and a bit... embarrassing. The flippers are purely human powered. I'm still working out how I want to reset the drop target. It is currently cable driven by a lever in the front of the machine, which admittedly creates a fun amount risk like an action button, but I don't know if it'll stay that way. A 12v motor spins the bomb mini flipper. There are 3 solenoids; the kickout, the ball trough, and let's call it a jumper bumper. They're 12V, running at 2A because... I don't really know what I'm doing.

    Plus display and lighting in the backbox, etc.

    1 week later
    #9 4 months ago

    Alright, so I have spent the last week doing a lot of reading, evaluating my options, etc. I think I would like to go the OPP/MPF route. The soldering is a bit intimidating, but I really like how modular it is.

    I do have a few quick questions though. On what wing would a motor go? Neopixels takes one pin, am I reading that right?

    Sorry everyone, I'm trying to learn it all. It's just going to take me a while...

    #10 4 months ago

    Motors are usually driven by one or two FETs. Depending if you want to drive the motor in one or two directions. Any normal output will do if you only want to drive in one direction. For two directions you need a H-bridge which you can usually find on motor controllers. Pololu has some inexpensive controllers which can be directly controlled by MPF via USB for all kinds of motors.

    Jan

    3 months later
    #11 35 days ago

    Long time, no post. Haven't had much time to work, but what time I've had has been spent on the virtual version of my table in Mission Pinball.

    As a non-coder, I love this thing!!! I've already configured probably 80% of my game rules!

    I have gotten stuck though. I followed the documentation on how to setup a traditional, physical ball lock (super helpful), but when I add "locked_ball_counting_strategy: physical_only" to my multiball lock it stops functioning right. The lock doesn't post the "_full" event, despite "_locked_balls" matching the "balls_to_lock:" in the config.

    jabdoa Is this because I'm running it as a virtual machine and there are no actual switches to check, or is something else going on here?

    #12 31 days ago
    Quoted from TheSupremePapaya:

    Long time, no post. Haven't had much time to work, but what time I've had has been spent on the virtual version of my table in Mission Pinball.
    As a non-coder, I love this thing!!! I've already configured probably 80% of my game rules!
    I have gotten stuck though. I followed the documentation on how to setup a traditional, physical ball lock (super helpful), but when I add "locked_ball_counting_strategy: physical_only" to my multiball lock it stops functioning right. The lock doesn't post the "_full" event, despite "_locked_balls" matching the "balls_to_lock:" in the config.
    jabdoa Is this because I'm running it as a virtual machine and there are no actual switches to check, or is something else going on here?

    Happy to hear that!

    Quoted from TheSupremePapaya:

    Long time, no post. Haven't had much time to work, but what time I've had has been spent on the virtual version of my table in Mission Pinball.
    As a non-coder, I love this thing!!! I've already configured probably 80% of my game rules!
    I have gotten stuck though. I followed the documentation on how to setup a traditional, physical ball lock (super helpful), but when I add "locked_ball_counting_strategy: physical_only" to my multiball lock it stops functioning right. The lock doesn't post the "_full" event, despite "_locked_balls" matching the "balls_to_lock:" in the config.
    jabdoa Is this because I'm running it as a virtual machine and there are no actual switches to check, or is something else going on here?

    That should work. Which MPF version are you running? Can you post a log (with mpf both -v -V for full debug output) where you fill up the lock and the event is not posted?

    #13 30 days ago

    jabdoa Sure thing, mpf version v0.54.2.

    A version where it works:
    2021-01-26 21:46:57,369 : INFO : SwitchController : <<<<<<< 's_bomb_2' active >>>>>>>
    2021-01-26 21:46:57,370 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_bomb_2'====== Args={'value': 123, 'prev_value': 122, 'change': 1}
    2021-01-26 21:46:57,873 : INFO : EventManager : Event: ======'balldevice_bd_bomb_ball_count_changed'====== Args={'balls': 3}
    2021-01-26 21:46:57,874 : INFO : ball_device.bd_bomb : Received unexpected ball
    2021-01-26 21:46:57,875 : INFO : EventManager : Event: ======'balldevice_captured_from_playfield'====== Args={'balls': 1}
    2021-01-26 21:46:57,876 : INFO : EventManager : Event: ======'sw_playfield_active'====== Args={'balls': 1}
    2021-01-26 21:46:57,877 : INFO : EventManager : Event: ======'playfield_ball_count_change'====== Args={'balls': 0, 'change': -1}
    2021-01-26 21:46:57,880 : INFO : EventManager : Event: ======'balldevice_bd_bomb_ball_enter'====== Args={'new_balls': 1, 'unclaimed_balls': 1, 'new_available_balls': 1, 'device': <ball_device.bd_bomb>}
    2021-01-26 21:46:57,881 : DEBUG : Player : Setting 'bomblock_locked_balls' to: 3, (prior: 2, change: 1)
    2021-01-26 21:46:57,881 : INFO : EventManager : Event: ======'player_bomblock_locked_balls'====== Args={'value': 3, 'prev_value': 2, 'change': 1, 'player_num': 1}
    2021-01-26 21:46:57,884 : INFO : EventManager : Event: ======'balldevice_balls_available'====== Args={}
    2021-01-26 21:46:57,885 : INFO : EventManager : Event: ======'balldevice_bd_bomb_ball_entered'====== Args={'new_balls': 1, 'device': <ball_device.bd_bomb>}
    2021-01-26 21:46:57,886 : INFO : EventManager : Event: ======'multiball_lock_bomblock_locked_ball'====== Args={'total_balls_locked': 3}
    2021-01-26 21:46:57,887 : INFO : EventManager : Event: ======'multiball_lock_bomblock_full'====== Args={'balls': 3}
    2021-01-26 21:46:57,888 : DEBUG : Player : Setting 'mball_locked' to: 3, (prior: 2, change: 1)
    2021-01-26 21:46:57,889 : INFO : EventManager : Event: ======'player_mball_locked'====== Args={'value': 3, 'prev_value': 2, 'change': 1, 'player_num': 1}
    2021-01-26 21:46:57,890 : DEBUG : Player : Setting 'bomblock_locked_balls' to: 0, (prior: 3, change: -3)
    2021-01-26 21:46:57,891 : INFO : EventManager : Event: ======'player_bomblock_locked_balls'====== Args={'value': 0, 'prev_value': 3, 'change': -3, 'player_num': 1}
    2021-01-26 21:46:57,892 : INFO : EventManager : Event: ======'start_mode_bombmultiball'====== Args={'priority': 0}

    The version where it doesn't:
    2021-01-26 21:51:16,689 : INFO : SwitchController : <<<<<<< 's_bomb_2' active >>>>>>>
    2021-01-26 21:51:16,690 : INFO : EventManager : Event: ======'machine_var_audits_switches_s_bomb_2'====== Args={'value': 124, 'prev_value': 123, 'change': 1}
    2021-01-26 21:51:17,195 : INFO : EventManager : Event: ======'balldevice_bd_bomb_ball_count_changed'====== Args={'balls': 3}
    2021-01-26 21:51:17,196 : INFO : ball_device.bd_bomb : Received unexpected ball
    2021-01-26 21:51:17,197 : INFO : EventManager : Event: ======'balldevice_captured_from_playfield'====== Args={'balls': 1}
    2021-01-26 21:51:17,198 : INFO : EventManager : Event: ======'sw_playfield_active'====== Args={'balls': 1}
    2021-01-26 21:51:17,199 : INFO : EventManager : Event: ======'playfield_ball_count_change'====== Args={'balls': 0, 'change': -1}
    2021-01-26 21:51:17,202 : INFO : EventManager : Event: ======'balldevice_bd_bomb_ball_enter'====== Args={'new_balls': 1, 'unclaimed_balls': 1, 'new_available_balls': 1, 'device': <ball_device.bd_bomb>}
    2021-01-26 21:51:17,203 : INFO : ball_device.bd_plunger : Adding 1 ball(s) to the eject_queue with target <playfield.playfield>.
    2021-01-26 21:51:17,205 : INFO : EventManager : Event: ======'balldevice_balls_available'====== Args={}
    2021-01-26 21:51:17,207 : INFO : EventManager : Event: ======'balldevice_balls_available'====== Args={}
    2021-01-26 21:51:17,208 : INFO : EventManager : Event: ======'balldevice_bd_bomb_ball_entered'====== Args={'new_balls': 1, 'device': <ball_device.bd_bomb>}
    2021-01-26 21:51:17,209 : INFO : EventManager : Event: ======'multiball_lock_bomblock_locked_ball'====== Args={'total_balls_locked': 3}
    2021-01-26 21:51:17,210 : DEBUG : Player : Setting 'mball_locked' to: 3, (prior: 2, change: 1)
    2021-01-26 21:51:17,211 : INFO : EventManager : Event: ======'player_mball_locked'====== Args={'value': 3, 'prev_value': 2, 'change': 1, 'player_num': 1}
    2021-01-26 21:51:17,214 : INFO : ball_device.bd_trough : State: waiting_for_target_ready

    Both are from when player 1 locks a 3rd ball, the only difference is that "physical_only" is on the second one.

    #14 26 days ago

    I guess you lock is smaller than the physical device. This turned out to be a bug in MPF. I fixed it in 0.54.6. Please give that a try.

    Jan

    #15 26 days ago

    Thank you so much!!!

    Good news, the multiball and lock now works across multiple players!

    Bad news, the trough is kicking out an extra ball. (multiball at 3, it adds a 4th. Mulitball set to 2, it adds a 3rd, etc.)

    balls_to_replace: and replace_balls_in_play: are in their respective places.

    2021-01-31 14:39:51,969 : INFO : EventManager : Event: ======'multiball_bombmball_started'====== Args={'balls': 3}
    2021-01-31 14:39:51,969 : DEBUG : Player : Setting 'mball' to: 1, (prior: 0, change: 1)
    2021-01-31 14:39:51,969 : INFO : EventManager : Event: ======'player_mball'====== Args={'value': 1, 'prev_value': 0, 'change': 1, 'player_num': 1}
    2021-01-31 14:39:51,971 : DEBUG : Player : Setting 'mball_play' to: 0, (prior: 0, change: 0)
    2021-01-31 14:39:51,971 : INFO : EventManager : Event: ======'player_mball_play'====== Args={'value': 0, 'prev_value': 0, 'change': 0, 'player_num': 1}
    2021-01-31 14:39:51,973 : INFO : Mode.global : Stopped.
    2021-01-31 14:39:51,973 : INFO : EventManager : Event: ======'modes_active_modes_changed'====== Args={}
    2021-01-31 14:39:51,974 : INFO : EventManager : Event: ======'mode_global_stopped'====== Args={}
    2021-01-31 14:39:51,974 : INFO : EventManager : Event: ======'clear'====== Args={'key': 'global'}
    2021-01-31 14:39:51,998 : INFO : EventManager : Event: ======'slide_bombmultiball.slide_player-mode_bombmultiball_started_created'====== Args={'_from_bcp': True}
    2021-01-31 14:39:51,999 : INFO : EventManager : Event: ======'slide_bombmultiball.slide_player-mode_bombmultiball_started_active'====== Args={'_from_bcp': True}
    2021-01-31 14:39:51,999 : INFO : ball_device.bd_trough : State: waiting_for_target_ready
    2021-01-31 14:39:52,000 : INFO : EventManager : Event: ======'balldevice_bd_trough_ball_eject_attempt'====== Args={'balls': 1, 'target': <ball_device.bd_plunger>, 'source': <ball_device.bd_trough>, 'mechanical_eject': False, 'num_attempts': 0}
    2021-01-31 14:39:52,000 : INFO : ball_device.bd_plunger : State: waiting_for_ball
    2021-01-31 14:39:52,001 : INFO : ball_device.bd_trough : State: ejecting
    2021-01-31 14:39:52,001 : INFO : ball_device.bd_trough : Ejecting ball to <ball_device.bd_plunger>
    2021-01-31 14:39:52,001 : INFO : EventManager : Event: ======'balldevice_bd_trough_ejecting_ball'====== Args={'balls': 1, 'target': <ball_device.bd_plunger>, 'source': <ball_device.bd_trough>, 'mechanical_eject': False, 'num_attempts': 0}
    2021-01-31 14:39:52,002 : DEBUG : SmartVirtual Coil Action : Setting eject target. bd_trough -> bd_plunger. Mechanical: False
    2021-01-31 14:39:52,002 : INFO : ball_device.bd_bomb : State: waiting_for_target_ready
    2021-01-31 14:39:52,002 : INFO : EventManager : Event: ======'balldevice_bd_bomb_ball_eject_attempt'====== Args={'balls': 1, 'target': <playfield.playfield>, 'source': <ball_device.bd_bomb>, 'mechanical_eject': False, 'num_attempts': 0}
    2021-01-31 14:39:52,003 : INFO : ball_device.bd_bomb : State: ejecting
    2021-01-31 14:39:52,003 : INFO : ball_device.bd_bomb : Ejecting ball to <playfield.playfield>
    2021-01-31 14:39:52,003 : INFO : EventManager : Event: ======'balldevice_bd_bomb_ejecting_ball'====== Args={'balls': 1, 'target': <playfield.playfield>, 'source': <ball_device.bd_bomb>, 'mechanical_eject': False, 'num_attempts': 0}
    2021-01-31 14:39:52,004 : DEBUG : SmartVirtual Coil Action : Setting eject target. bd_bomb -> playfield. Mechanical: False
    2021-01-31 14:39:52,005 : INFO : ball_device.bd_trough : Wait for ball to leave device
    2021-01-31 14:39:52,005 : INFO : coil.c_trough_eject : Pulsing Driver for 20ms (1.0 pulse_power)
    2021-01-31 14:39:52,005 : DEBUG : VirtualDriver.0 : Pulsing driver for 20ms
    2021-01-31 14:39:52,005 : DEBUG : SmartVirtual Coil Action : Removing ball from device bd_trough
    2021-01-31 14:39:52,005 : DEBUG : SmartVirtual Coil Action : Adding delay for bd_plunger to receive ball in 100ms
    2021-01-31 14:39:52,006 : INFO : ball_device.bd_bomb : Wait for ball to leave device
    2021-01-31 14:39:52,006 : INFO : ball_device.bd_trough : State: ball_left
    2021-01-31 14:39:52,007 : INFO : ball_device.bd_trough : Ball left

    #16 25 days ago

    Thats bad. Will have a look tomorrow. Guess physical_only strategie needs some tests for the case where ball capacity is not equal lock capacity. There is some special handling for that case. I will revisit that. Thanks for testing!

    #17 25 days ago

    No problem! Let me know if you need anything else from me to help diagnose.

    #18 24 days ago
    Quoted from TheSupremePapaya:

    No problem! Let me know if you need anything else from me to help diagnose.

    Cannot reproduce this issue. The multiball works as it should in out integration tests. Can you post your config (only the multiball_lock + multiball + ball_device config)?

    Jan

    #19 24 days ago

    Uh oh, that means it's probably my sloppy work.

    My lock is five holes surrounding a spinning mini flipper, with the intent that if any 3 of them are locked, the multiball starts. I would like to later add a timer that starts multiball ball early, even if there is only 1 or 2 balls locked.

    So if any of my configs are not the best practice for this intent (they probably aren't), I'll gladly rework it all if you point me in the proper direction.

    ball device config:
    bd_bomb:
    ball_switches: s_bomb_1, s_bomb_2, s_bomb_3, s_bomb_4, s_bomb_5
    eject_coil: c_bomb_motor
    eject_timeouts: 500ms

    multiball lock, which is part of the global mode config group:
    event_player:
    multiball_lock_bomblock_full: start_mode_bombmultiball

    ...

    multiball_locks:
    bomblock:
    balls_to_lock: 3
    balls_to_replace: 2
    lock_devices: bd_bomb
    locked_ball_counting_strategy: physical_only

    multiball, in the wizard type, bombmultiball config:
    multiballs:
    bombmball:
    ball_count: 3
    ball_locks: bd_bomb
    start_events: mode_bombmultiball_started
    shoot_again: 0s
    replace_balls_in_play: true

    1 week later
    #20 14 days ago

    jabdoa Thinking about it, i'm going to post my trough/plunger config too. No idea if it could be related, but it is also slightly atypical.

    bd_trough:
    entrance_switch: s_trough_enter
    entrance_switch_full_timeout: 500ms
    ball_capacity: 4
    eject_coil: c_trough_eject
    tags: trough, home, drain
    eject_targets: bd_plunger
    eject_timeouts: 3s
    bd_plunger:
    ball_switches: s_plunger
    mechanical_eject: true
    eject_timeouts: 3s

    ...

    machine:
    balls_installed: 4

    #21 14 days ago

    Cool project! I’m a big fan of Roy Lichtenstein, and of course pinball.

    #22 14 days ago

    what a cool project, well done and this looks to be a great father and son style project

    curious on the construction of the non-powered mechs very clever - are willing to show more, very impressed.

    #23 13 days ago
    Quoted from Nokoro:

    Cool project! I’m a big fan of Roy Lichtenstein, and of course pinball.

    Lichtenstein is a perfect match, right? Pinball playfields are so Pop Art already.

    Quoted from swinks:

    what a cool project, well done and this looks to be a great father and son style project
    curious on the construction of the non-powered mechs very clever - are willing to show more, very impressed.

    I honestly thought my wooden mechs would be scoffed as amateurish, but if people are really interested I can take some pictures next time I'm in my shop.

    #24 13 days ago
    Quoted from TheSupremePapaya:

    Lichtenstein is a perfect match, right? Pinball playfields are so Pop Art already.

    I honestly thought my wooden mechs would be scoffed as amateurish, but if people are really interested I can take some pictures next time I'm in my shop.

    I think it is very clever and hats off to you and yes please on some photos

    #25 13 days ago
    Quoted from TheSupremePapaya:

    multiball_locks:
    bomblock:
    balls_to_lock: 3
    balls_to_replace: 2
    lock_devices: bd_bomb
    locked_ball_counting_strategy: physical_only

    Just remove balls_to_replace. That option is not what you want. You probably want a two ball lock and then start the multiball on ball entry of the third. The third ball is not technically locked.

    #26 12 days ago

    Perfect! Works flawlessly! Thank you so much jabdoa!

    #27 12 days ago

    Here are some closeups of some of the homemade mechs. They're not too dissimilar from the real ones, just scaled to chunky .25 and .5 inch plywood dimensions.

    Saucer Mech
    Several of the mechs were designed before I decided I wanted to power it. They were actuated by cables that attached to pulls in the front of the machine. It will be interesting finding a place to fit a switch in this saucer.

    Drop Target in playfield
    Drop Target Front
    Drop Target Back
    The drop targets were especially satisfying when they came together. Alot of fine tuning to find the "sweet spot" during the solenoid retrofit. Like the saucer, installing switches is going to take some creativity...

    Spinning Mini Flipper for ball lock
    Yep, that is a rubber band acting as the drive belt for my ball lock. It's cheap and works well enough, which is pretty much the motto for this whole project.

    Pop Bumper like thing
    The pop bumper-ish device was the last addition. Obviously, it was designed with solenoids in mind (though it did work pretty well with a foot pedal!). Crafting the traditional skirt and spoon setup is hard to replicate in wood. The best I could come up with involves switch wires coming up through holes and soldered to a pair of brass discs. The discs are separated by a rubber washer, and the top disc is held flat by the tension of the spring that holds the cap up. You can also see some of the homemade stand ups nearby.

    Flipper pics coming soon.

    1 week later
    #28 3 days ago

    I was taking apart the table last night for revision 4 of the flipper mechanisms, so it was a good time to snap some pictures.
    Flippers on playfield

    The flippers are attached to wooden posts that pass through the playfield and into the flipper mechanism.

    Flipper mechanism base
    The flipper mechanism, the trough, and the plunger are on a separate piece than the playfield. The playfield lays on top and the flipper posts fit into the holes on a fixed rail and the slides.

    Flipper base underside
    On the underside of the base piece are the levers and springs. At first I had a spring that simply pulled the slide back. That worked perfectly fine, but I found that I like this setup. There is a little bit of tension let off when the flipper is at the end of the stroke. It creates a "snappy" feeling that I think feels more authentic.

    Snapping Gif
    Of course, this means more friction, but I don't think it's anything that some extra sanding and maybe some drawer wax couldn't fix.

    Promoted items from the Pinside Marketplace
    From: $ 55.00
    Gameroom - Decorations
    Pinball Photos LLC
    $ 20.50
    Playfield - Toys/Add-ons
    The MOD Couple
    $ 29.00
    Gameroom - Decorations
    Pinball Photos LLC
    $ 3.00
    Playfield - Decals
    Doc's Pinball Shop
    $ 30.00
    Playfield - Other
    YouBentMyWookie
    $ 199.99
    $ 125.00
    Cabinet - Toppers
    Sparky Pinball
    $ 125.00
    Playfield - Toys/Add-ons
    Pinball Mod Co.
    $ 259.99
    Cabinet - Toppers
    Lighted Pinball Mods
    $ 100.00
    Lighting - Interactive
    Professor Pinball
    $ 80.00
    Playfield - Toys/Add-ons
    COINTAKER.COM
    From: $ 9.99
    Eproms
    Matt's Basement Arcade
    $ 26.50
    Playfield - Toys/Add-ons
    Lermods
    $ 139.00
    Playfield - Toys/Add-ons
    Sparky Pinball
    From: $ 9.99
    Eproms
    Matt's Basement Arcade
    $ 40.00
    Playfield - Decals
    Metal-Mods
    $ 27.99
    Eproms
    Matt's Basement Arcade
    $ 28.00
    $ 109.00
    Cabinet Parts
    Tilted Pinball
    $ 54.99
    Cabinet - Shooter Rods
    Lighted Pinball Mods
    $ 8.50
    Lighting - Led
    Pinball Haus
    $ 35.00
    $ 63.50
    $ 99.99
    Lighting - Other
    Lighted Pinball Mods
    From: $ 1.00
    Gameroom - Decorations
    Gameroom Mods
    $ 40.00
    Playfield - Decals
    Great American Pinball
    $ 5.00
    Cabinet - Other
    UpKick Pinball
    From: $ 8,999.99
    Pinball Machine
    Pinball Pro
    From: $ 42.00
    Cabinet - Shooter Rods
    ModFather Pinball Mods

    Hey there! Got a moment?

    Great to see you're enjoying Pinside! Did you know Pinside is able to run thanks to donations from our visitors? Please donate to Pinside, support the site and get anext to your username to show for it! Donate to Pinside