Build Your Own Pad

Making your own DDR/ITG Pad with arcade sensors

Before you get started, note this is an advanced build, so some knowledge of building things is highly recommended. That said, I tried to make it as simple and easy for people to follow and build their own! I’m not responsible for any injuries obtained, and please follow your tools’ safety features. Have fun, and get building!

Please read through the whole thing at least once and make a plan, as it will help you simplify and not mess up!

If you found this useful, or just wanna support all the time, energy, and money I’ve put into this, here’s a way to do so. It’s totally optional, but appreciated if you do so!


Examples of a near-finished pad, traditional style with brackets.



Parts List:

Item Use Qty
1×2 Non-arrow risers  3
2×3 Frame parts 2
2×8  Bar base/back of pad 1
⅜” OSB / plywood Non-arrow toppers 1
1/8″ hardboard Top non-arrow  1
O-Rings 10mm OD 6mm ID 2mm Width These help reduce noise/wear on the bolt to the lexan panels 16
1/4” or ⅜” OSB/plywood Arrow wells 1
½” MDF Base 1
Screws and glue Titebond glue  is always a good choice! (Quick & Thick is handy since it dries a bit faster) but any wood glue should work  
M6 x 8-12 mm Non-arrow holders 20
M6 T-Nut Holder for arrows and non-arrow tops 36
M6 x 30mm flanged button head socket screw Hold arrows 16
3/8” 11”x11” lexan (polycarbonate) Arrows 4
Wire (~18-22ga works fine)   A box 
^*15pin DSUB/vga connector M/F set 1 for the pad, 1 for the control box 1 set
^*15pin DSUB/vga extension cable   1
DDR sensors   16
YLR-02V (female plug) Female connectors for sensors 16
SYM-41T-P0. 5A (pins) Pins for the female plug 32
3d printed sensor holders Free STLs for personal use 16
½” #6 screws Hold the sensors holders 32
^*6x buttons for control box   6
Arduino Micro / Leonardo AtMega32U !–must be the 32u chipset–! 1
3d printed control box insert Optional if you want to embed the arduino cleanly  
USB-C breakout board   1
  Todo: add bar parts  
  Todo: add bar parts  
  Todo: add bar parts  
  Todo: add bar parts  
*LED lights 12v/5v  Optional arrow lights 4
**26 gauge sheet metal 12”x24” (fancy option to go over hardboard) 3

^* Technically this is not needed if you plan on only using the pad as the 4 panels and control Stepmania with a keyboard
* Lights are not necessary, but I’m putting them here for those who may want to do so. My current design does not include support for them, but will hopefully in the future.

**The sheet metal is nice, but adds cost and is harder to work with. You can only use the hardboard instead. If you decide you want the metal later, you can also do that with a simple upgrade.

The main components you can get from your local hardware store or Amazon (links TBD). The harder things I’ll add some links, but I also will provide a simple kit for you to purchase from me. It’ll help support me for all the work I did for this, as well as make things easier for you to source.


Main parts needed:


Making the Base and Frame

Cut list:

  • (1x) 1/2” MDF- base – 35” x 42” – 1 piece
    • I did 42” instead of the official 42.5” because that makes the back bar fit flush with a 2×8 board
  • (1x) 2×3 – frame top – 2” x 33”
  • (2x) 2×3 – frame sides – 1” x 42”
  • (1x) 2×8 – frame bottom/bar support – 33” 


  1. Cut your base down to the arcade size, 35”x42” (see below first!)
  2. Cut the top and sides to the correct size 
    1. If you do not have a table saw to do rip cuts, you can also just use a raw 2×3 for the top, and a 1×2 for the sides. Just note they won’t be 100% arcade accurate. BUT it makes it easier
  3. Cut the 2×8 to 33” for the back and bar support
  4. Draw a guide for where things go on the base. See picture above 
    1. Draw a 1” left and right lines on the longer end. This is where the sides will go.
    2. Draw a 7.5” line across for where the 2×8 bottom/bar support will go
    3. Draw a 2” line for the top
    4. Fill in the 3×3 grid of 11”x11” where the arrows and non-arrows will go
  5. Use this as a guide to mark and pre-drill holes with a 7/32” bit. Each square’s holes are ½” from the corners


a. Countersink screws holes on one side so it can be flat on bottom


Use a router and cut a channel to route the wires through the base. I freehanded it, but you can use a CNC or guide to make it prettier.

  1. Lay out all the parts to make sure it fits properly with the 33”x33” open. Square it up. Take your time here. Clamp well, then screw the frame parts (left, right, top) to the base from the bottom with the 1-⅝” screws. 


Non-Arrow Risers

You will be making 5 of these pieces as a riser (spacer) for the non-arrow pieces. The key is just to have enough strength and get them the right height.

  1. Each needs to be 11×11, so cut all your parts to length (20 total)
  2. Every part will be a half-lap joint, so here’s a simple picture guide. You simply cut the end half the thickness of the wood deep, and the total width. This makes for a simple and strong joint.
  3. Be sure it is square, then glue together. I also used some brad nails 
  4. Set aside and let the glue dry


Non-Arrow Toppers

  1. Cut your ⅜” OSB/plywood into 11” x 11” squares 
    1. You may also need to cut this a tiny bit smaller to allow space for the metal to bend (over if you are using it). 
  2. Make sure these are absolutely square!  
  3. Make a jig or guide to cut the holes for the T-Nuts. Use the pictures below as a guide. The holes are 5/16” big (the size of the tnut threaded area) and 1.25” x  9/16” away from the corners. The counterbore should be slightly larger than the bottom of tnut. 
    1. You want every panel to be the same, so clamp them together when making your holes. Also, use a drill press if you have one to make sure it’s perfect. 
    2. Lastly, use a larger bit to create a counterbore so the T-Nut is flush with the bottom of the wood, (about 1/16”).  Use some tape to help you stop at the correct depth every time. 
  4. Use a hammer and mount the tnuts in the OSB/plywood. Try to get these flush and straight.



  1. Do the same thing for the hardboard tops, making sure everything is the same, and holes line up
    1. You only need the 5/16” hole, the size of the M6 bolt.
    2. Sand the sides of these so they are smooth and wont catch on anything
    3. Use a countersink/flush bit to drill the top (flat side) and make sure the M6 heads are flush


Arrow Wells

  1. Cut 4 pieces of the 3/8 common board to 11”x11” 
  2. Use a CNC to cut the inside and holes, or use a template and cut them by hand. Again, clamp them all together so every piece is identical. Follow the same method as you did on the Non-Arrow Risers for the T-Nuts, but this time the holes are in the corner at 22.5mm on center (AFAIK, that’s the placement for PIU official bracketless holes, so we are using that as a guide)
  3. Hammer in tnuts as straight as possible
  4. You can also skip cutting out the center, but it does help with wire management and for the lights. 
  5. Secure the sensor channels with some small #6×3/4” screws. *Note these pictures are a bit older, so they are using an older style channel. 
  6. Not pictured here, but shows up later: use some rubbery material of your choice (stacked mousepad, rubber furniture bumpers, TPU printed parts, or weatherstripping) in the corners to help provide the “bounce” needed. Technically, it isn’t 100% needed, but eventually the sensors’ rubber will wear out, and you’ll want to do it.


Arrow Panels

  1. Cut to 11”x11” if not already (or a tad smaller for tolerances)
  2. Drill the hole in the corners for the bolt and counterbore, 22.5mm on center
    1. I use a 11/32” for the bolt hole and a ⅝” counterbore. I also do the counterbore first, and go down about halfway into the panel. Then I use the 11/32” bit to finish the hole. If you try it the other way, it is incredibly hard to do to make it nicely.


General Assembly

  1. Lay out all your parts in the correct pattern for DDR.

Use something as a little spacer to make sure the panels can move a bit freely. (1/16”-1/8″ or so is all you need around it all)

  1. Using your pilot holes from earlier, screw down the Top-Left, Bottom-Left, & Bottom-Right panels using 1-⅝” screws.
  2. Learn from my mistake, and run the wires now. I also stapled over them in a few parts here, but it probably isn’t 100% necessary
  3. Strip the wires back if needed

  1. Each arrow will have a total of 2 (or 4 for lights) – common/ground and button/switch (and +5/12v and light button)
    1. The common here is black, and the red is +5v. Those are split to each arrow since they all are shared.
    2. Solder, insulate, then secure the connections.

  1. Now, secure the center and top right panels the same way as you did the first 3.
  2. At this point, you can go ahead and secure your 2×8 for the back part of the frame, and prep for the bar.

Arduino Prep & Wiring

I made a simple little board to easily hook up the wires. I’m working on a real PCB as well, so once that’s finished, that will be available to purchase on the storefront too. It’ll allow you to simply use the screw terminal blocks to pop your wires in. EZ! =D

USB-C to Micro USB

Adafruit’s USB-C breakout board. Use a cheap/old usb micro cable, cut it down, then use the wires. Solder to the board as follows: 

  • Green = D+ (data)
  • White = D- (data) 
  • Red = VBUS
  • Black = GND


Now you can simply use the USB-C cable for uploading code to your arduino and for using the pad. 


  1. Make some pigtails with your female sensor connectors and pins
  2. Twist and solder one wire from each pair together so there are 2 groups of 4 wires. 
  3. Simply solder those 2 groups to the common/ground and button wire in your arrow well. Use shrink wrap or electrical tape to cover the solder joint.

Put your sensors in place, plug them in, and put the toppers on top. 


The Code 

  • I wrote this super quickly and it’s not the best, but it’s functional so oh well. I’ll tidy it up eventually, as well as adding proper light support.
  • This code requires the great Joystick library, so be sure to get that installed and included in your sketch. Credit for that goes to the original dev.
  • I also need to swap the arrow inputs to use A0-A3 so it can more easily handle FSRs in 

the future as well.

Testing the Code & Inputs

Use the handy game controller manager in Windows. Start>Type in “Set up USB game controllers” and load the app.

Once the code has been flashed, you should see something like this. Then, click “properties”.

From this menu, you can see the buttons listed. When you step on a sensor (or button on the external IO box), a button should light up.

Once you make sure that’s all good to go, fire up Stepmania and map the inputs! 


Adding the Bar

TBD. Basic DIY bar instructions should make sense how to build and attach. 

The main difference here is that you should get some ¼” bolts, washers and lock nuts and use those to go through the ENTIRE pad and flange for extra double duty amazing super awesome strength. Okay, not really, but it is nice and strong this way.



Test it out, and get to playing!