Introduction: 6 Panel DDR USB Controller With LED

Building the electronics for the DIY Arcade Style DDR metal dance pad. This includes:

  • USB controller outside of the pad
  • LED controller inside the pad
  • JST 2.5 Junction board
  • VGA connector

For the DIY Arcade DDR Metal Dance Pad, see https://www.instructables.com/DIY-Arcade-DDR-Metal-Dance-Pad-With-LED-Under-500.

Update: Replaced the micro controller with ardinuo Micro PRO (needed for dual pads)

Supplies

USB DDR Controller

  1. Seeed Studio XIAO SAMD21 (1 piece)
  2. This is the original micro controller as it only support 1 pad)
  3. Arduino Micro PRO (1 piece)
  4. This is version 2 and this supports two pads
  5. VGA male connector
  6. VGA female connector
  7. 15-pin straight through wire (10 ft)
  8. JST 2.5mm connector and circuit board
  9. NOYITO Low Voltage MOSFET Switching Module 3V 5V Low Control High Voltage 12V 24V 36V Field Effect Transistor Module (IRLB8721)
  10. 3D printed box and screws

LED DDR Controller v1:

  1. Two Seeed Studio XIAO SAMD21 (2 pieces)
  2. This is the original micro controller and requires two
  3. Six 10K resistors
  4. Ten IRLB8721PBF IRLB8721 MOSFET N-CH 30V 62A TO-220AB IC Best quality IC (from Aliexpress)
  5. 5V voltage regulator (make sure you get good one. Some from Aliexpress gives out 6V instead 5V)

NOTE: Seeed Studio XIAO SAMD21 is chosen due the fact that it runs at 48MHz instead the Arduino. Though, I wish is have 12 IO pin. This would avoid having a second XIAO for the LED controller.

LED DDR Controller v2:

  1. One Arduino micro PRO (1 piece)
  2. Two 4-channel Mos Fet Plc Amplifier Board Driver Module Pwm 3-20v To 3.7-27v Dc 10a Optocoupler Isolation (from Aliexpress or Amazon)

Please note that version 2 is simplier as it is just wire thing together and don't require create the circuit board.

Step 1: Building the Junction Board

The Junction board connects all wires from the active panel to this board. In addition, all wires from the VGA connector also connect to this board.

  1. Take PCB board and solder as shown in the diagram above
  2. Connectors are JST 2.5 mm connector of size:
  3. 3 pins for 12V and ground - This is for the VGA cable to connect to it.
  4. Another 3 pins for the LED controller board - This one connects to the LED board to provide power and GND.
  5. Two 6 pins for two pads (designed to connect two pad together) - These are for the cable of the VGA to it.
  6. Six 2 pins for 6 panels - One for each pad. And another if some day we want to join another pad.
  7. One 2 pins for GND - Ground wire for all active panel. They are joined and connected to this connector.

To mount this, you can use some PCB stand and hold glue.

Step 2: Building the LED Controller Board

The LED controller board controls the panel LED. This is independent of the USB controller. It requires a 12V input.

Version 1:

  1. Take largest PCB board and solder as shown in the diagram
  2. Require 2 Seeed Studio XIAO SAMD21 as it has only 11 I/O pins
  3. After you make the board, connect them as follow:
  4. 3 Pin JST connect to the power cable from the Junction board
  5. The lower 3 set of 2 pin JST are the input of the active panel sensor wires
  6. The upper six set of 2 pin JST are to connect to the LED wires

To mount this, you can use some PCB stand and hold glue.

For the firmware, use the attached file led-fsr.ino and program it with Arduino IDE. If you are not familiar with Arduino and Seeed Stusdio XIOA SAM21, google the web.

Version 2:

  1. Take the arduino Micro PRO, two MOSFET's and just write them together. You can create a JST junction board that takes 3 pin JST connector for power +12V and ground wire. Then various 2 pin JST for everything else.
  2. Use file "ddr-led-6panel-fsr.ino" for the firmware
  3. Pin 2, 3, 4, 5, 6, and 7 are input from the active panel
  4. Pin 8, 9, 10, 16, 14 ,15 are output to active LED of the MOSFET

Step 3: Building the VGA Connector

All wires from the DDR pad is routed to the female VGA connector. The wire diagram:

  • Pin 1 - Down Pad #1
  • Pin 2 - Up Pad #1
  • Pin 3 - Right Pad #1
  • Pin 4 - Down Pad #2
  • Pin 5 - Up Pad #2
  • Pin 6 - GND
  • Pin 7 - Left Pad #2
  • Pin 8 - Right Pad #2
  • Pin 9 - Left Pad #1
  • Pin 10 - Start Pad #2
  • Pin 11 - Select Pad #2
  • Pin 12 - Start Pad #1
  • Pin 13 - 3.3V (not used)
  • Pin 14 - Select Pad #1
  • Pin 15 - 12V

Take a female VGA connector and wire as above. Then wire the GND and 12V to a 3 pin JST connector (pin 1 is GND and pin 2 is 12V. Pin 3 is not used). Solder 6 "pad #1" wires to the VGA connector and then to a 6 pin JST connector to be connect to the Junction board. (For now, we will skip the second pad).

TIP: After you solder wire to the VGA connector, put a heat shrink wrap over it to prevent any short. For wire, you can use CAT5 wire. For the GND and 12V, you can use larger wire as it needs to handle 24W of power.

To mount this, you need to drill a few large holes - about three - right next to the upper right panel. 1/2" hole should be large enough. You want to make the hole large enough that you can stick those 6 pin JST connector through. For the exterior mount, print the "VGA connector mount.stl". You will need two 1" screws to secure it.

Step 4: Building the DDR USB Controller

Version 1:

The DDR USB controller includes:

  1. An Seeed Studio XIAO SAMD21
  2. An MOSFET switch
  3. A male VGA connector
  4. A 2.5 mm power jack for 12V input power supply
  5. 12V power supply (2A is more than enough)
  6. 3D printed box

To wire it up:

  1. Print the 3D box ("USB Controller Box.stl") and cover
  2. Solder wire to the male VGA connector (see above for pins)
  3. GND wire
  4. 12V wire
  5. 6 pad #1 wires
  6. Stick the wire through the VGA box hole
  7. Solder VGA wires as follow:
  8. Down wire to XIAO SAMD21 pin A0
  9. Up wire to XIAO SAMD21 pin A1
  10. Right wire to XIAO SAMD21 pin A2
  11. Left wire to XIAO SAMD21 pin A3
  12. Start wire to XIAO SAMD21 pin A4
  13. Select wire to XIAO SAMD21 pin A5
  14. GND wire to XIAO SAMD21 pin GND
  15. GND wire to the output of MOSFET switch Negative (-) terminal (You will need to spilt the ground wire to 2 wires)
  16. 12V wire to the output of MOSFET switch Positive (+) terminal
  17. NOTE: We used a thicker wire for the GND and 12V. Not sure it matter but it needs to carry 24W of power.
  18. Solder two wires to the 2.5mm power jack. For this, use a thicker wire as you will need to carry 24W of power.
  19. Negative wire connects to the MOSFET input negative terminal
  20. Positive wire connects to the MOSFET input positive terminal
  21. Solder a wire from XIAO SAMD21 pin A10 to the MOSFET trigger pin +.
  22. Solder a GND wire to the MOSFET trigger pin -.
  23. In order for the MOSFET to work, you need to remove the LED of the MOSFET. This LED causes the voltage drop below 3.2V and not trigger (or enable the 12V supply).

At this point, you just need to program the firmware using the file "usb-controller-fsr.ino". Then push all parts in the case and screws in the cover.

NOTE: The MOSFET is added such that if you don't connect the USB to a computer/laptop, it will NOT enable power to the LED controller. The 12V support is cut off unless you plug the USB cable to a laptop.

Version 2:

The DDR USB controller includes:

  1. An arduino Micro PRO
  2. An MOSFET switch
  3. A male VGA connector
  4. A 2.5 mm power jack for 12V input power supply
  5. 12V power supply (2A is more than enough)
  6. 3D printed box

To wire it up:

  1. Print the 3D box (DDRUSBContrllerBoxv2.stl) and cover
  2. Solder wire to the male VGA connector (see above for pins)
  3. GND wire
  4. 12V wire
  5. 6 pad #1 wires
  6. 6 pad #2 wires
  7. Stick the wire through the VGA box hole
  8. Solder VGA wires as follow:
  9. Down #1 wire to Arduino pin 2
  10. Up #1 wire to Arduino pin 3
  11. Right #1 wire to Arduino pin 4
  12. Left #1 wire to Arduino pin 5
  13. Start #1 wire to Arduino pin 6
  14. Select #1 wire to Arduino pin 7
  15. Down #2 wire to Arduino pin 8
  16. Up #2 wire to Arduino pin 9
  17. Right #2 wire to Arduino pin 10
  18. Left #2 wire to Arduino pin 16
  19. Start #2 wire to Arduino pin 14
  20. Select #2 wire to Arduino pin 15
  21. 12V wire to the output of MOSFET switch Positive (+) terminal
  22. GND wire to the output of MOSFET switch Negatve (-) terminal
  23. Solder two wires to the 2.5mm power jack. For this, use a thicker wire as you will need to carry 24W of power.
  24. Negative wire connects to the MOSFET input negative terminal
  25. Positive wire connects to the MOSFET input positive terminal
  26. Solder a wire from Arduino A0 to the MOSFET trigger pin +.
  27. Solder a GND from Arduino to the MOSFET trigger pin -.
  28. Solder or connect a wire from MOSFET negative terminal to the Arduino GND
  29. Solder or connect a wire from MOSFET positive terminal to the Arduino RAW power input.

At this point, you just need to program the firmware using the file "dd-12panel-fs.ino". Then push all parts in the case and screws in the cover.

NOTE: The MOSFET is added such that if you don't connect the USB to a computer/laptop, it will NOT enable power to the LED controller. The 12V support is cut off unless you plug the USB cable to a laptop.