My Pump it Up dance pad build log


My two DIY pump pads completed

In late 2023, I got into pump it up and decided I wanted a way to play at home. I tried playing on soft pads but was very unsatisfied with the performance so set out to build my own arcade style pads. I didn't have much money for this project, so did as much of it with leftover materials from other projects and materials I could get cheaply or for free. This is a build log, I guess. For this whole build I followed schematics from the openpad github repo, without which this wouldn't be possible. Thanks!

The base boards for the pads were made from a big sheet of MDF my dad had in his shed lying around from a previous project, which we cut into two boards roughly the right size. (the holes were leftovers from the previous use. I glued them back in.)

two wooden boards

I bought the dance pad sensors from aliexpress. The ones I bought seem pretty much standard and show up if you search for "dance pad sensor".

For the panels, I used wood (from B&Q - one sheet of 12mm ply had enough wood for all the panels, and I got them cut to size in the shop). I used 2mm polystyrene sheet that was lying around in the hackspace for the tops of the panels. This stuff was horrible to work, having to be score and snapped to be cut, being difficult to cut accurately, and shattering at the slightest mishandling.

a panel cut to size with the protective foil still intact and no decals

I wanted to do a bracketless mounting style, which involved countersinking the panels. This worked surprisingly well in the plastic, but it took a LOT of care. The plastic panel pieces are just held by friction on top of the wooden panel pieces when the pad is fully assembled.

countersunk hole in very thin plastic sheet

with the base boards and sensors, and a test panel, I decided to design a mounting system to mount the sensors to the base board. Turns out, Mersanary already made one, and put it on thingiverse (thanks!).

I also designed a 3d printed corner part for the panels to bolt into. It uses a captive nut design at the bottom of the 3d print for attaching the panel.

3d printed corner piece

Using these two printed parts I mocked up the mounting for one panel on the base board.

3d printed mounting hardware for the first panel, and sensors

This first mockup used double sided tape for mounting the corners to the base board. I fairly soon after altered this design to have screw holes to hold it better to the base board. Double sided tape still worked great for mounting the sensors.

I considered various options for the arrow decals, including testing using spray paint on the back of the plastic sheet, but ended up printing them on paper and putting the paper in between the wooden and plastic layer of the panels. This lead to me going on a sidequest to find good decal graphics, and doing a trace and vectorisation of the arcade arrow graphics, which you can get for yourself here, meaning the panels now had pretty graphics.

At this point I also redesigned the corner mounts to have screw holes for more stability, and rebuilt my test panel. This was the mounting design I ended up sticking with for the pad.

better 3d printed panel mounting hardware

Then I started thinking about designs for the inactive panels (the ones that are not active steps in the game). Unlike the main panels, they don't have sensors. In the end I settled on using an embedded nut design similar to the main panels but in a simple wooden block at a similar height to the 3d print. The inactive panels themselves are built the same way as the active panels just without decals.

wooden inactive panel mounting blocks
inactive panel mounting blocks

an active and inactive panel mounted together
an active and inactive panel mounted together

Moving on to electronics, after various design ideas including homemade PCBs, I decided to have a small stripboard in each panel, connecting all the sensors together for that panel. And then that running out to an interface board that had a de9 connector running to a control box (containing a pi pico) to connect the pads to a PC over USB. The under panel board design came from Joshhead on the Cons&Stuff discord, thanks!

the panel board
panel board

the interface board
interface board

After having all the design for the panels in place, I (rather tediously) copied everything for all the other panels. This sucked to do - getting the plastic and wooden panel holes to align was awful, cutting the plastic was awful, I never want to do this again. I wired up all the panel boards to the interface board with dupont connectors that I crimped myself, and also wired up the interface board to a DE9 connector mounted to the front. Then the pad was functionally complete!

internals of a DIY dance pad with wiring in place
wiring up the pad (the photo is missing a few sensors and I don't know why. I think I decided to replace the mounts for them for some reason)
)

the "finished" dance pad
pad 1 "finished"!

The control box is so boring I failed to get any internal photos of it. It's a pi pico in a project box with two de9 connectors wired into it. You can imagine it. It's running some random pi pico game controller thingy I found online. I lost the code. It doesn't matter.

the control box

Then I took the pad home and removed all the protective plastic foil.

a completed DIY Dance pad

Then I did everything again for a second pad, which sucked even more because there wasn't even a fun design process. I struggled to get it finished, and struggled to find the energy to work on it. Building these things genuinely sucks because of how annoying all the materials are to work.

On the second pad I tried to make a few improvements like using tee nuts in place of captive nuts in the wooden parts, and adding protective 3d printed corner bumpers. but this ended up being worse. So it ended up practically identical in design.All that was left was to attach some non-slip mat (sold as being non-slip rug underlay on ebay etc) to the bottom of the pads, and we're done!

two completed DIY pump pads

Things I would do differently a second time

You may have noticed I have not been linking many of my designs in this post. This is because they suck. If I did this again, I would use proper solid plastic for the panels, and I wouldn't use the weird thin horrible to work polystyrene stuff. I would be way more accurate with measuring. I would build a full proper frame instead of just using 3d printed mounts. I would probably totally do the electronics differently too. I do not think anybody should build dance pads this way.

They require recalibration every time they are used, they're slippy, the sensitivity isn't great, and they take up a pretty decent chunk of space. They're flimsy, totally die on any floor that isn't completely flat (I have had to put down gym mats in my house with lots of cardboard props underneath to level the floor for them). But they work, and ended up costing me less than 150 pounds to build.

Thanks to everybody at York Hackspace for helping me out with this project, and letting me use their leftover and scrap materials!