(Topic ID: 280899)

Cuphead Home Brew Pinball

By scottacus

2 years ago

Topic Heartbeat

Topic Stats

  • 448 posts
  • 60 Pinsiders participating
  • Latest reply 43 days ago by scottacus
  • Topic is favorited by 95 Pinsiders


Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    IMG_2138 (resized).JPG
    20230419_144724 (1) (resized).jpg
    20230418_122437 (1) (resized).jpg
    20230418_122421 (1) (resized).jpg
    20230405_192920 (resized).jpg
    20230405_200834 (resized).jpg
    20230405_192228 (resized).jpg
    20230405_203549 (resized).jpg
    PTScottacus (resized).png
    dd3165485 (resized).png
    20220406_123813 (resized).jpg
    pasted_image (resized).png
    20211201_120257 (resized).jpg
    20211201_120529 (resized).jpg
    20211201_120336 (resized).jpg
    20211010_144052 (resized).jpg

    There are 448 posts in this topic. You are on page 9 of 9.
    #401 1 year ago

    Onevox prepare to be even more jazzed because I know I am. For those of you just joining the build, Cuphead is Onevox's brainchild that he was gracious enough to let me bring to life.

    Behold after a day's work the plastics are done and the playfield sits in the cab.

    20211006_192020 (resized).jpg20211006_192020 (resized).jpg

    I doubled up the clear decals as well as the white backing decals. The second layer really made the reds pop so I guess they needed a bit more white behind them. The really long plastics required two of three piece decals for them but with the bold stripes it was easy to hide the joints between decals.

    I still need to make the new in/outlane wire guides before the the topside is done. The new set will have a slight curve in the upper section to help guide the ball around the corner. The prototype just had two sections that were straight and the ball tended to go "thunk" onto the lower wire before making the bend to the flippers.

    After that is done then it will be time to start pulling off the mechs to set them aside so that I can get at the lights and transfer those since they sit on the "lowest" level with the mechs above them. Hopefully I don't break anything in the process. The way this project has gone, the smart money is on breaking something.

    #402 1 year ago

    I made wire guides for the in/outlanes and mounted those onto the surface of the "A" playfield (PF). I also moved the index plastics that keep the PF from sliding in the cab and cut two short grooves in the bottom leading edge so that the hasps that hold down the lockdown bar in place had enough room to swing into position.

    Here's the old PF prior to stripping, so the trick is going to be getting all of the mechs off in one piece so that I can get at the lighting.

    20211007_122405 (resized).jpg20211007_122405 (resized).jpg

    I pulled all of the rollover switches and moved them to the "A" PF.

    20211007_125148 (resized).jpg20211007_125148 (resized).jpg

    Next I was able to get all of the mechs up, labeled and ready for removal. During the build process I had a few lighting wires get intertwined with the mech wiring so those had to be unsoldered and put back together on the right side of setup. The with the help of my wife and a big whiteboard we started on one end and put mechs onto the whiteboard, advanced the board an inch or two and then added more until all the mechs were safely on the whiteboard. This was then set aside.

    20211007_145918 (resized).jpg20211007_145918 (resized).jpg

    The lighting runs were marked, pulled up and moved to the "A" PF. I had to add a short string of lights for the bumpers as a bridge since they are part of the chain but the LEDs are not easily removable from the mechs yet connect sections of the single chain together.

    20211007_193514 (resized).jpg20211007_193514 (resized).jpg

    The table was booted up and all the lights work!

    20211007_193252 (resized).jpg20211007_193252 (resized).jpg

    Here's a video of the attract mode, this was a full day's work!

    #403 1 year ago

    Great methodology. It's a beaut.

    #404 1 year ago

    Today is the start of repopulating the playfield (PF). I started out by carefully measuring the angles of the kickers and transferring those to the new PF for placement of the kickers. The kicker shots were fine tuned on the white wood but with the new high gloss PF who knows how these will work? At any rate this is the best that I can do at this time.

    20211008_094055 (resized).jpg20211008_094055 (resized).jpg

    Here's the old PF with its gazillion holes and plugs both big and small, it served me well.

    20211008_100734 (resized).jpg20211008_100734 (resized).jpg

    Here are the mechs on the whiteboard with piece of plywood on saw horses spanning the new PF for the transfer of mechs onto the new PF.

    20211008_101959 (resized).jpg20211008_101959 (resized).jpg

    Here is is with everything in rough position and nothing seems to have broken.

    20211008_102902 (resized).jpg20211008_102902 (resized).jpg

    I started with the leaf switches since they are the lowest pieces and thus I figured they should go on first. They sort of anchor all of the big mechs so I figured this was a good place to start. All of the switches are in place and adjusted in this photo.

    20211008_124134 (resized).jpg20211008_124134 (resized).jpg

    Here's some info for anyone who's thinking about a home brew that will have star rollovers. When you buy star rollovers they come with the plastic insert with a plastic star of the same color in it along with the white star for the actual game. I figured that the red (in this case) star was there for clear coating to keep clear coat out of the inside of the insert so I put them in when I sprayed but not fully inserted so that I could get them to move out while the clear coat was setting because I didn't want to have to use any force to get them out of cured clear coat for fear of fracturing either the clear coat or the insert.

    At any rate I popped the white stars in before starting to populate the mechs and I found that the stars wanted to bind at one portion of their run. The problem is that the way these star inserts (and I assume all of them) work is that there are four tabs that spring together to hold the button of the white star in place. These are moulded from the same plastic that the insert is made from and look like they would be easy to fracture if you tried to pull the white star out. If they fractured I would be screwed. I then was faced with the dilemma do you pull the stars and risk a potentially serious problem to file out the insert or do you leave them since they work for the most part?

    I could hear Dirty Harry saying "Well do you feel lucky punk?" followed by one of the guiding principles of life which is "The enemy of good is "better". What this means is if something works ok and you try to make it better, a fair percentage of time you will screw it up in the process of making it better. Well today I felt lucky so I carefully opened up the bases of all three star inserts and was able to get the white stars out. A few passes with a fine file and now they all slide like butter!

    The moral of the story is, clean up the star inserts before popping the white stars in, even if you used the protectors during clear coat.

    #405 1 year ago

    I check the white stars as well as they often have mold marks/flanges/flappy bits on them that can cause issues, so I make sure they are nice and smooth. I've had enough playfields with star rollovers that I bought a nice supply of extra white stars, so if I need to remove one I just cut of the end of the one in there. I have broken a tab that holds them before and what a pain that was to redo the insert/clear etc. oh, and I use the one I nipped the end off of to put in the insert for clearcoating, but upside down so it has a nice handle on it.

    #406 1 year ago

    I never thought to put the red insert in upside down and use its post as a handle. Great ideas!

    #407 1 year ago

    20211011_105131 (resized).jpg20211011_105131 (resized).jpg
    20211011_105223 (resized).jpg20211011_105223 (resized).jpg
    20211011_105250 (resized).jpg20211011_105250 (resized).jpg
    20211011_105315 (resized).jpg20211011_105315 (resized).jpg
    20211011_105511 (resized).jpg20211011_105511 (resized).jpg
    20211011_105711 (resized).jpg20211011_105711 (resized).jpg
    20211011_105542 (resized).jpg20211011_105542 (resized).jpg
    20211011_105700 (resized).jpg20211011_105700 (resized).jpg

    There are a few software issues to fix up but for the purposes of this build log I'm calling this done. Thanks for following along on this year long journey!

    #408 1 year ago

    Looks like a best in show at MGC to me

    #409 1 year ago

    You did a great job. Hope to see it at a show some day.

    #410 1 year ago

    Bravo Zulu!

    #411 1 year ago


    #412 1 year ago

    Tuned out awesome! It's been fun to follow along on the build, and glad to contribute some parts (even if small) along the way!

    #413 1 year ago

    Any plans to bring this beautiful work of art to expo in a couple of weeks?

    #414 1 year ago

    I'm not going to any pinball conventions this year but hopefully next year. Thanks again for the lockdown bar animesuperj.

    #415 1 year ago

    As a huge fan of Cuphead, I feel like I absolutely have to play this at some point. Amazing job, it looks terrific.

    #416 1 year ago


    #417 1 year ago

    That looks awesome! Congrats

    #418 1 year ago

    Incredible. Tasteful, nothing sticks out theme-wise, perfectly executed.

    1 week later
    #419 1 year ago

    Here's a video of some of my poor game play. It does show most of the shots except for the multiball which is pretty hard for me to get with this table. It used to be too easy to get on the white wood.

    Oh I forgot to mention that I cut off all of the zip ties that were on my wiring snakes and replaced them with "old school" dental floss. I've always admired the neat wiring runs on old EM's and I had some floss laying around so I thought I'd give it a try. Turns out that the wax grips the wires and the floss container makes it pretty easy to to the wraps. Now I don't have zip tie ends that get caught on things in the machine plus the look is classic.

    20211010_144052 (resized).jpg20211010_144052 (resized).jpg

    #420 1 year ago

    In a PM Bord asked me "what you'd do differently if you had to start from scratch again?" I thought that I'd post my reply here just in case it helps someone out who is thinking about building a home brew.


    That's a great question, in that case I would...

    -CNC the white wood so that there are no unknown variations between versions. I'm old school and love making things by hand but in this case WYSIWYG is more important.

    -Not use a driver system that was in Beta form. I spent weeks trying to fix a problem physically and in software when there was a bug in the firmware for the Cobrapin STM32's. I knew this was a possibility as a beta tester so I knew what I was in for but there were times when I thought about putting the cab out in the yard and lighting it on fire.

    -Not try to cheap out on my power supply. For almost 3/4 of a year I tried to make the old ALI transformer supply all of the power for the table. It ran very hot (Ben Heck suggested that I drop the control rods a little because the reactor was running a bit too warm) and did not supply enough voltage to drive the modern coils. With MPF's ability to limit coil pulse times, even old coils can be run at "high voltage" safely. Modern switching power supplies are relatively cheap, powerful, run cool and are energy efficient.

    -Learn how to program in Python. Mission Pinball Framework can be very frustrating to work with because it is strongly typed and has a steep learning curve (at least for me). Getting the very complex Perdition Lane with multiple players, virtual ball locks, multiball fail, etc working was a nightmare. It would have been much better to write some helper code in Python and run that along side MPF then to work with MPF's logic blocks, counters and player variables.

    -Take the playfield to a body shop and have them shoot it with clear coat. Spraymax is great for rehabbing pins but after playing 50 games in the last couple of days I see all of the imperfections in the clear coat. Probably something that bugs me because I know that they are there.

    -Don't make real mechs try to replicate what mechs do in vpx. The Dash saucers bugged me until I resigned myself to the fact that mechs in vpx are not real and can do things that a real mech can't do. Once I bought into that, I made the Dash saucers help drop DT's and now they are an asset to the game.

    -Use translight material for the plastics graphics. The decals are working ok but I bet translights would look a little better.


    The reverse question is also a good one, what would I do again:

    -I would use a VPX table as the base for a white wood because vpx physics are actually very good and you can have confidence that your layout geometry will work. The VPX to MPF bridge let me write code and run it with vpx to gain the confidence that I could actually make the table and not end up with a half built mess that I have to walk around in the basement.

    -Use a donor table with its mechs as the basis for the table. That saved time and money in building the cab.

    -Use a TV for the backglass. This gives me options for displaying graphics and video that a static piece of art doesn't.

    -Don't dread doing the playfield graphics. It would have been great to have the PF professionally printed but I bet the graphics would not have lined up perfectly. Doing the graphics by hand took time but the end result is really very good minus my clear coat as mentioned above.

    -Use Cobrapin in its stable current form. Once the bugs were worked out, this is a great system that is very inexpensive, works well and has great tech support.

    #421 1 year ago

    Nice writeup Scott. Great work.

    Someday I hope to 'finish' one of the ones I've started.

    #422 1 year ago

    Thanks Dan I look forward to seeing Nobs in action, it's a really nice and unusual vpx table.

    #423 1 year ago

    So beautiful! Congrats on seeing your vision through! Love the choice of theme.

    1 month later
    #424 1 year ago

    Cuphead has been running great and is fun to play but starting the table up is a pain. You have to turn on power, open the head, point the remote into the head and hit power, wait till the TV starts and gets to its "Smart TV" screen and hit input, grab a keyboard and open cmd, navigate to the Cuphead folder, enter "mpf both" and lastly hit return. Not a very user friendly system! You also have to be able to get to the left side of the head so this precludes putting another pin or wall to the left of Cuphead.

    Wouldn't it be great if you could just flip on the power button and have everything start up on its own? I've spent the last two days getting that to work. First off the TV doesn't have an external button for "input" so I didn't need to uncase the TV which is good since I've trashed a set once by doing that. The remote doesn't have any screws on it so I ended up cutting off the front top of the case to get access to the PCB. I then scratched off the carbon coating over the power and input button traces and soldered on lead wires that I connected to a 4 pin molex connector.

    20211201_120529 (resized).jpg20211201_120529 (resized).jpg

    Those wires were then run to the front of the cab where they were connected to two left over arcade buttons that I 3D printed a mount for. These buttons are there as a backup should the next section fail for any reason.

    20211201_120257 (resized).jpg20211201_120257 (resized).jpg

    In between the remote and buttons I put an arduino that is programmed to wait 6 seconds (TV needs that long after seeing power to accept inputs) run a pin high/low for 100ms that turns on a switching trani for the power button, wait 30 seconds and run a pin high/low to another switching trani that turns on the input button. The switching electronics were put onto a perf board and that was mounted as an "arduino shield" over the Uno.

    20211201_120336 (resized).jpg20211201_120336 (resized).jpg

    Now that the TV will turn on automatically, I needed a way to start up mpf. I played around with CMD for a while and couldn't figure out how to enter "mpf both" and hit return after navigating to the right folder in CMD. I then made an AutoHotKey script to open CMD, navigate to the Cuphead Folder, enter "mpf both" and then hit return. Some "Sleep" timers were needed to get everything to work out. Here's a minute long video of Cuphead starting up all by itself.

    #425 1 year ago

    Don't forget Cuphead for homebrew game of the year nominations: https://twipys.com/2021-pre-voting/

    1 month later
    #426 1 year ago

    Happy New Year to everyone who followed along or has read this post. Several of you nominated Cuphead for the Homebrew category for the TWIPY Awards (This Week In Pinball) and I'm honored by your doing this! The pin is now entered in the contest and voting is open until January 17th at this link: https://twipys.com/2021-twipys-ballot/

    I'd appreciate your support if you feel like voting for Cuphead, the homebrew's are on page three of the ballot. Here's a video trailer that Bord put together for me showing game play, enjoy!

    #427 1 year ago

    Can you build another machine? I need another one of your build threads to follow!

    #428 1 year ago

    Awesome build, you got my TWIPY vote, I’ll hope to see this at a show one day!

    #430 1 year ago
    Quoted from scottacus:

    Thanks all! Less than a week to vote if you are interested.

    Me and my family are pinheads and huge cuphead fans. Had no idea this existed until I went to vote on the TWIPY's just now. My heart is racing...this is amazing work! You made phenomenal choices on artwork, cabinet, layout and theme integration. And you look to be a perfectionist just like MDHR is with the game. Congratulations! You got my TWIPY vote. OMG you have to make more please?!

    #432 1 year ago

    Thanks to everyone who voted in this year's TWIPY (This Week in Pinball) awards! The voting ends tomorrow night so if you still want to vote you can go to https://twipys.com/2021-twipys-ballot/ , enter an e-mail address and just choose "next" until you get to the homebrews on page 3.

    #433 1 year ago

    4 weeks later
    #434 1 year ago
    pasted_image (resized).pngpasted_image (resized).png
    #435 1 year ago

    Decided to speed run cuphead with my son today...2 hrs! Go's this game is all time classic!

    1 month later
    #436 1 year ago

    The TWIPY Awards were held at the Texas Pinball convention and Cuphead lost out to a re-skin of a Stern Mustang table. I just wanted to thank everyone here for their support, I really appreciate it!

    This award showed up in the mail today.

    20220406_123813 (resized).jpg20220406_123813 (resized).jpg

    4 months later
    #437 9 months ago

    I'm taping an interview on Friday for a Twitch show that looks to be airing on Sunday. Although I'm sure that a lot of questions will be about Visual Pinball and Visual Pinball Engine I'm certain that we'll be taking about Cuphead as well.
    dd3165485 (resized).pngdd3165485 (resized).png

    #438 9 months ago

    New time for the show.
    PTScottacus (resized).pngPTScottacus (resized).png
    It's an hour earlier because, well I don't know?

    #439 9 months ago

    Looking forward to it!

    6 months later
    #441 61 days ago

    So Cuphead's PC has been having some issues with booting to BIOS and since the computer is over a decade old I figured that maybe it is time to start looking for something new to drive it. I learned about Orange Pi 5 single board computers from jsm174 and he helped me get Armbian Linux and mpf installed on one. I then got Cuphead transferred over and messed with the code so that the most resent version of MPF will run the game.

    Because of this I was able to remove all of this.
    20230405_203549 (resized).jpg20230405_203549 (resized).jpg

    Gain all of this space in the cab
    20230405_192228 (resized).jpg20230405_192228 (resized).jpg

    And replaced it with this tiny board
    20230405_200834 (resized).jpg20230405_200834 (resized).jpg

    I was able to mount the Orange Pi on a side wall which keeps it out of the way from falling screws so I can get rid of the cardboard protector that I had over the old PC Mother Board.

    I also found that my Lepy amp was not driving both channels so I picked up this cheap amp on Amazon, printed mounting brackets for it and got it installed.
    20230405_192920 (resized).jpg20230405_192920 (resized).jpg

    Now I can drive the subwoofer hard enough to make the coin door rattle!

    #442 61 days ago

    I still got to find this at a show some day. Any future show plans?

    #443 61 days ago

    scottacus what version of the Orange Pi 5 are your running? 8GB or 16GB Ram?
    And any chance you could share a SD Card Image of your setup - excluding your Cuphead code if you want to keep that out? I'm playing around with a few Windows and Mac versions of MPF and think I'd rather go the Orange Pi route long term.

    #444 61 days ago

    It's the 8GB version and I posted jsm174's procedure for installing mpf, mpf mc, mpf monitor and pyqt6 on the mfp user group. That should get you going. If you don't need mpf monitor and pyqy5 that will cut the time down substantially.


    I had the pin running on Windows for years and Orange Pi for only a day or two but from what I've seen thus far, if I built another home brew I would use an Orange Pi 5.

    #445 61 days ago
    Quoted from scottacus:

    It's the 8GB version and I posted jsm174's procedure for installing mpf, mpf mc, mpf monitor and pyqt6 on the mfp user group. That should get you going. If you don't need mpf monitor and pyqy5 that will cut the time down substantially.
    I had the pin running on Windows for years and Orange Pi for only a day or two but from what I've seen thus far, if I built another home brew I would use an Orange Pi 5.

    Thanks, will read through, good to know it runs well on the 8GB version too.

    #446 60 days ago

    I don't think that mpf taxes the equipment very much since it's just displaying graphics, reading switch states and driving lighting and coils. I have let the pi run CH all day and it gets a little warm but not hot with no heat sinks or other active cooling. I guess what I'm getting at is that I would think that 8GB of RAM would be way more than enough to run a pin.

    The Pi also boots when it sees power so that is nice as it lends itself to setting up the linux equivalent of autohotkey and BAT files for an auto-start with just power up. In other words just flip the switch and the pin starts just like a commercial pin without the need for a keyboard and mouse.

    2 weeks later
    #447 46 days ago

    So as some of you might recall I made two playfields, one for the machine and one for practice. The practice playfield is wall art and I'm not happy with the gloss and levelness of the clear coat finish. I've got a buddy who is a professional finisher and I asked him to walk me through spraying and leveling the finish using two part auto clear coat which he did. I learned a ton from him and the finish turned out really nice.

    20230418_122421 (1) (resized).jpg20230418_122421 (1) (resized).jpg
    20230418_122437 (1) (resized).jpg20230418_122437 (1) (resized).jpg

    This was a prelude to adding lighting to the wall art. I wired up addressable LEDs on the back side of the playfield and printed an ABS cover for the ball trough to hide the Arduino Nano and power jack.

    20230419_144724 (1) (resized).jpg20230419_144724 (1) (resized).jpg
    IMG_2138 (resized).JPGIMG_2138 (resized).JPG

    I programmed the light shows from the pin as well as some additional shows as can be seen in this video. Unfortunately the lights in the video look washed out but in reality they look really nice.

    I have a sound board on order from Mouser and I've left additional wires in the control section to wire it in if I can get it to work. My goal would be to use the sound board to register audio volumes (hopefully tuned to bass frequencies) so that I can pulse the bonus tree line a VU meter. That way if I've got a party going on the playfield will pulse to the beat of the music.

    #448 43 days ago

    I mentioned thinking about turning the bonus tree into a "VU" meter so I picked up a little sound board from SparkFun that has a mic and op amps with an analog voltage output that follows the sound amplitude. I set up an Arduino to watch that analog voltage and programmed some filters as well as systems to keep a running array of the latest 10 samples at 30ms per sample. The software then checks max and min of the 10 samples and puts the current output into one of six buckets (off to 5 LEDs) and then drives two sets of five LEDs to simulate two channels of sound.

    I had issues with noise on the power line because of the LED pwm control of the base light shows on the playfield which caused random VU LEDs to fire. While trying to find a solution I powered the SparkFun board with 3.3v from my bench top power supply and found that it ran just fine (CH pf powered by 5V). That let me use a 3.3v linear voltage regulator with a filter cap across the 3.3v output which filtered out all of the power noise to make a nice quiet system! The final result of the breadboard testing looks pretty good so I think that I'll add this feature to the playfield.

    There are 448 posts in this topic. You are on page 9 of 9.


    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!

    This page was printed from https://pinside.com/pinball/forum/topic/cuphead-home-brew-pinball/page/9 and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.