Inexpensive Hard DDR/Stepmania Dance Pad Controller




I'm a big fan of DDR as a game and form of exercise, but since by foam pads and PS2 died, I haven't played for a couple years. I figured if I got Stepmania setup on my PC and build some hard pads I could get my butt in gear and start playing again (my kids will like playing again too (make no mistake though I built these for me)). As usual however I'm on a budget so after reading lots of instructions online I've seen that most home built pads are designed to be exact replicas of the arcade experience and look, and that seems to make them very expensive. The inexpensive designs I saw looked pretty lack-luster, so I tried to make something in between. My goal was decent build quality (to handle my weight and last long) and feel similar to the arcade experience, and spending as little as possible.

Step 1: Materials:

I build two pads so that 2 could play or 1 could play "doubles", so the materials list and cost below is for 2 pads.

I decided to build these pads from Medium Density Fiberboard (MDF)/Hardboard as it was the cheapest panel material with good compression strength (and a bit of flex which comes in later). The hardware store seems to call it MDF when thicker than than 1/4 inch, and hardboard if 1/4 inch thick or less.

I live in the US so my measurements are non-metric (sorry almost everyone), prices are in USD, and the names of materials match my locale.

I will list the materials in the quantity I purchased with a estimate of cost of each material.

3x - 1/2 inch thick 4 ft by 4 ft MDF panels. ~$13x3=$39
1x - 1/4 inch thick 4 ft by 2 ft MDF panel ~$6
1x - 1/8 inch thick 4 ft by 2 ft hardboard panel ~$2.50
1x - "Joist Panning" (This was the name of the galvanized steel sheet that I found in the duct work section of the store, I think it was about 33 inches by 24 inches.) ~$8
1x - Can of Loctite brand medium strength spray adhesive (they were out of Super 77) ~$7
1x - Tube of contruction adhesive (for use with caulking gun) ~$4
2x - Used Original Sony PSX controllers ~$4x2=$8
2x - Used Ethernet Cables ~$3x2=$6
1x - Straight Tin Snips ~$8
3x - Insulation foam tape, high density, 1/4 inch thick, 1/4 inch wide, 10 ft roll. ~$3x3=$9

Total purchased was ~$97 (not bad for two hard pads)

I already had the following materials and tools available for use:

Rotary hand saw
Mounted Belt Sander (borrowed)
Drywall Square (Big Ruler) or Tape Measure
Soldering Iron
Wire Stripper
Small phillips head screwdriver
Hot Glue Gun and Glue
Caulking Gun

To connect these pads (with their Playstation connectors) to a PC for playing Stepmania, I use the "EMS USB 2" adapter which you can grab for cheap on amazon.

Step 2: Planning and Measurements:

These pads are designed to be 4 button pads with a solid base, solid border, and solid non-button step areas. The measurements are the same as a DDR arcade pad except that a real arcade pad has only 1.5 inches between the right arrow of the player one pad and the left button of the player two pad, and my design has 2 inches between (not a big deal I think). The button assembly will be explained later, but could be modified for different designs or materials.

The 1/2 inch thick MDF was cut into the following pieces:

2x - 35x39 inch base panels
4x - 35x3 inch top and bottom borders
4x - 33x1 inch side borders
10x - 11x11 square "non-button" step pads.

(You can see all of these pieces dry assembled in the picture above)

The 1/4 inch Hardboard was cut into the following pieces:

8x - 11x11 inch button pads (you can see these stacked in the picture on the previous step)

The 1/8 inch Hardboard was cut into the following pieces:

8x - 9x9 inch button pads (you can see these stacked in the picture on the previous step)

The "blueprints" for cutting all the panels is attached (the grid in the picture 1 inch scale). On the "blueprints" you will notice that almost every piece can be cut from two 4x4 ft panels, however, there are two more 11x11 inch squares which would need to come from some other panel. I over purchased on 1/2 inch MDF because 4x4ft sheets were not much more expensive than 4x2ft sheets, and I could not find anything smaller than that. Having the extra sheet of 1/2 inch MDF was ok too, because I screwed up a few cuts.

Step 3: Beginning Assembly:

Before gluing anything, I dry assembled to check the fit. Everything was pretty close to perfect, so i just sanded down the step pads to get smooth edges. I also sanded down the underside corners of the center step pad to use as wire channels later (see close-up picture above).

After drawing the placement of the border and step pieces onto the bases to use as a guide, I glued down the borders and five solid steps using the construction adhesive. I stacked the pads and put weight on top until the glue was set (24 hours). Be careful when stacking weight on top or moving the pads while the glue is wet, because the pieces will slide and shift.

Once the construction adhesive holding all of the base pieces is cured, it is time to test the fit of the buttons. I sat next to the sander and test fitted a button piece and sanded the sides until it slid into it's "well" easily and didn't stick. THIS IS THE MOST TEDIOUS AND TIME CONSUMING TASK OF THE BUILD. Once you get a button to fit a specific well/hole, mark the button so that it is assigned this spot because unless you have German engineer level precision, the shape and size of each hole may be different enough that your buttons will not be interchangeable. Once each piece was sanded to the right size, I smoothed all of the corners as well (for comfort and ease of movement).

Step 4: Button Assembly:

Within the "wells" where the 4 button steps will sit, is a sandwich of materials which act as a pressure switch when stepped on. The "blueprint" illustration above shows the cross section of one of the buttons. The grid is 1/8th inch scale, and the sheet metal contacts are represented by the thick grey lines, the soldered wires are represented by the green and red arrows.

The first layer (on the bottom) is the 9x9 inch squares of 1/8th inch thick hardboard which gets attached to the center of the bottom of each "button well" using spray adhesive. I sprayed both surfaces before then joining the parts and pressing them down. The pictures above show various states of this process.

The next layer is a contact made of galvanized sheet metal. The sheet metal was divided into 16 equal rectangles and cut with the tin snips. You could use any sort of thin sheet metal or foil here, other than aluminum which solder does not easily stick to. After cutting the pieces I used a hammer to smooth and "burnish" the edges of the cuts which weren't always flat or smooth. I used my hands to bend the metal contacts as perfectly flat as possible. The flattened sheets were then glued to the 1/8 inch hardboard squares. The larger the metal contacts, the more "sensitive" the button will seem.

I have to explain quickly here that, In the interest of having no wires connected to the top button step pads (which "float" on top of the foam tape over the fixed contact.) I attempted to have two separate contacts on the bottom layer which would then be touched by a solid contact spanning the entire button area which would be attached to the floating step pad. This did work, in the end, but the button was only responsive when stepping directly in the middle, and I wanted a button that would register your step no matter which area (corner or middle) was stepped on, so I had to go in and make the bottom contact attached to one wire, and the top contact attached to the second wire for each button. If you are building this, you will have learned from my mistake and only cut 1 bottom, and 1 top contact plate from the sheet metal.

Lastly, the top metal contacts must be glued to the 11 inch square pieces of 1/4 inch hardboard which are the step buttons. The image above shows both the top and bottom contacts from a later step in construction.

Step 5: Wiring the Controller:

There are many options for wiring your pad to a controller. You could use a console controller as I did, an old DDR pad, a USB joypad (if using on PC only), or a keyboard.

I used the cheapest option available to me which is Sony PS1 controllers which could be used directly on a PS2, or pluged into a USB adapter for use on PS3 or PC.

First step is to open the controller up. I didn't get pictures of both, but because I used two controllers, I learned that the innards of all PS1 controllers are not equal. The circuit board seen in the first picture shows that under each button of the D-Pad, there are 2 half circle shaped contacts which are covered with a layer of black, paint-like material. This can be scratched off to reveal copper contacts underneath which are what I soldered the wires to on the first controller. (I will not explain how to solder here, it is a basic skill that if you do not know, you can find instructions elsewhere that would be better than I could write).

The second controller that I opened had exposed copper "test points" on the circuit board that corresponded to each button on the d pad, I soldered the wires on the second controller directly to the exposed points, so that I didn't need to scrape anything off.

I bought a couple of ethernet cables from the used games store where I bought the controller and cut the first one open to see that it was a 4 wire ethernet cable. I wanted, and you probably want to use 8 conductor cable so that a single cord can run from the controller to the pad. I had to double up the cable and run two of them to have the total of 4 twisted pairs of wire run from the D-Pad of the controller board, to the contacts in my pad buttons.

I cut indents in the controller handle to allow the cables to exit and still tightly close the controller. I knotted the cables within the controller to reduce stress on the solder points.

If you have an 8 conductor cable, you will likely have 4 different colored pairs of wire which will help you identify which button should be wired to each. I marked the colored pairs on my controller (Make sure to mark it somewhere).

Step 6: Wiring the Buttons:

I didn't take many pictures of the wire routing process, but I will list a few things that I did and a few tips for that process:

I used the rotary saw to cut a channel in the 3 inch top border, for the wires to run into the "Up" button spot. This was necessary so that the wires entered the "button well" at the bottom and would not interfere with the travel of the button being pressed. The cable was hot glued into this channel so that it was solid.

Throughout the button wells I stripped the cables down to the twisted pairs to keep them thin, I routed them and hot glued them into place.

As I said in an earlier step, I had first attempted to have the two active contacts on the bottom. You can see this wiring done in the first picture.

Once I wired everything and tested, I ended up soldering a bridge between the two bottom contacts to effectively make it one single contact, and then soldered the second wire to the top contact (as seen in the second two pictures).

The foam weather stripping was laid down as a full perimeter. I am guessing as this wears out, the stripping may need to be replaced. If this happens I may try 3/8 inch thick foam.

Step 7: Finished:

I tested the pads on my laptop running Stepmania 5. I haven't played in a long time so I didn't score well (my fault, not the pad's). The buttons worked great even for the galloping type steps that this song requires.

Potential Mods/Updates:

I have considered the possibility of painting, or sticking vinyl over the steps to smooth them/decorate them.

I have also considered laying a sheet of clear vinyl over the top to make a smooth surface for shoeless play without the possibility of stubbing toes on the cracks. Laying a layer of foam sheet on each of the steps to soften the impact of foot on pad, underneath the vinyl could also be done.



    • 1 Hour Challenge

      1 Hour Challenge
    • Beauty Tips Contest

      Beauty Tips Contest
    • Backyard Contest

      Backyard Contest

    14 Discussions


    1 year ago

    I gave this a shot, but it's just not effective. The foam tape doesn't spring back fast enough after 5 minutes of playing. It just compresses and then stays that way. Anybody else fight with this or have a solution?

    1 reply

    Reply 5 months ago

    Maybe use memory foam pads and double-sided tape?


    2 years ago

    Just finished making mine. A few suggestions:

    I cheapened out even more and instead of using "Joist Panning", I used aluminum foil fastened to (the smooth side of) a 1/8"x9"x9" hardboard for the fixed bottom and to the bottom of the movable top plate using spray adhesive. Make sure to use a generous amount of spray adhesive to prevent bubbling. Rub it down with the back of your fingernail to make it nice and flat.

    Also note: For soldering to the game pad, avoid using the directional buttons for soldering. I learned the hard way that my $5 USB game controller physically and electronically doesn't allow up and down (or left and right) buttons to be pressed at the same time.

    I also used a large piece of 1/2" x 4' x 8' board of plywood for the base, frame, and 5 fixed panels. It's uglier, but at $25 is cheaper than MDF (I couldn't find MDF 4' x 4' @ $13) and if you're going to paint it, it won't be a problem at all. Home Depot (and I assume Lowe's too) will cut it down to size to fit in your car if you need it.

    Also, I used 1/8" x 2" x 30' insulation tape @ $11 from Home Depot. (double layered to achieve 1/4".)

    5 replies

    Reply 2 years ago

    Hello fabianM22. When you soldered to the controller did you have any issues with common ground or signal confusion? I seem to be having a issue when i hold step on left arrow i cant make contact with the other three arrows? sugestions? ddrfan


    Reply 2 years ago

    1) If you're on Windows, go to the joystick/game controller (type joystick in the start menu). Look for a list of your devices (you should see your device there) and go to properties or advanced. Try to find the page that shows the current state of buttons being pushed. That can help you figure out which buttons work and which don't work.

    2) If that doesn't work, then maybe you have a similar issue as I had where the controller only allows one direction to be sent. This is probably more likely for cheap USB controllers. If so, then try soldering your connectors to non-directional buttons on the controller.

    3) If possible, see whether the controller behaves correctly with its own hardware buttons. Maybe the issue is not with your work, but rather with the hardware - similar to what I wrote in 2).

    4) If you want, you can take a photo and upload it. Maybe that can help diagnose your problem.


    Reply 2 years ago

    Thank you for your time. Im starting to look in to an I pac ve controller. Since they are sodlerless and im not the best at soldering. But hoping that i can just connect my for signals and ground to ground since the i pac is common ground per side witch is nice. Have your heard anything about them ? Again thanks for your time. ddrfan

    I pac VE.jpg

    Reply 2 years ago

    It looks like all you need to do is connect all 4 bottom plates to the ground (GND), and each individual top plate to unique connection inputs. In your case, it would make sense to connect the top plates to 1RIGHT, 1LEFT, 1UP, and 1DOWN.

    In essence, almost all controllers (including mine and yours) detect a button press by closing the circuit between an input connector and ground.

    I hope that helps.


    Reply 2 years ago

    thanks for that input also fabian i went ahead and ordered that. There was another person who used this and said there are no issues with muitliple buttons being pressed yay :D Thanks again for all your time and advice. ddrfan


    3 years ago

    Great tutorial! I really want to try making this, but using a little keyboard encoder instead of a Playstation controller (mostly because I have a keyboard encoder just laying around.) It's smaller and easier to use, so I could just hide it inside the pad itself and have a single wire sticking out. Hopefully this isn't too much more expensive where I live!


    3 years ago

    Do you know how to connect this on a PS3 controller


    3 years ago

    ...and the most important thing, you will not have that contact issue.

    I hope you understand me, english is not my language.


    3 years ago

    Very cool your proyect!!! and I'll make it, but I'll do it like your first idea (two contacts down), but make it like the real gamepad buttons (see the design), with just one contact on the mobile square, and that way there will not be mobile and weak wires.


    3 years ago on Introduction

    how do you know where to solder your wires on the game controller? How do you find ground?


    4 years ago on Introduction

    Great project, very icely done. Thanks for sharing this!