6 Panel DDR USB Controller With LED

97357

Intro: 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)

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.

5 Comments

Hey can you post some photos of the version 2 wiring please?

Here is part 2 of the reply:

For the Arduino USB side:

  1. Second Arduino power from the USB 5V.
  2. This second Arduino has all the input pins from the panel sensor as well. The panel sensor go to the both Arduino's.
  3. In order to cut the 12V power to the LED MOSFET and the second Arduino, there is another switch MOSFET. This switch MOSFET is controlled by the USB Arduino. When USB Arduino has power from the 5V USB, it will active the switch MOSFET. If the USB Arduino don't has power from the 5V USB, the pin is not pulled up (floating) which will not activate the switch MOSFET that power the LED Arduino and LED MOSFET. To simple put this, the 12V pass through this switch MOSFET and it controlled by the USB Arduino.

Here is the idea regarding power:

  1. LED has its own 12V. The 12V+ and 12V- go to the MOSFET board.
  2. Arduino uses the same 12V


This may be easy to explain with a picture. See picture. This picture is only for the LED.

Hey, thanks for the write-up. To continue the discussion about the wiring of the v2 USB controller, step 8 and 9 have you wire the MOSFET negative/positive to the Arduino GND/RAW. Is that connection from the MOSFET DC output or input pins?


For the LED Arduino, how is it powered? I see the 12v from the VGA but that would connect to the two MOSFETs. The MOSFETs only have PWM input and DC output for the other pins so I didn't think the Arduino received its power from there. Should there be a 12v to 5v power regulator connected to the Arduino ACC/GND?

Hi,

Which part? Version 2 is a bit straight forward. I will assume that this is just from the Arduino to the 6 panel pad only (from step #4 above):

Version #2 Part 1: 6 pad to the Arduino

  1. Solder VGA wires as follow:
  2. Pad #1 Down arrow wires to Arduino pin 2
  3. Pad #1 Up arrow wires to Arduino pin 3
  4. Pad #1 Right arrow wires to Arduino pin 4
  5. Pad #1 Left arrow wires to Arduino pin 5
  6. Pad #1 Start arrow (upper right) wire to Arduino pin 6
  7. Pad #1 Select arrow (upper left) wires to Arduino pin 7
  8. Pad #2 Down arrow wires to Arduino pin 8
  9. Pad #2 Up arrow wires to Arduino pin 9
  10. Pad #2 Right arrow wires to Arduino pin 10
  11. Pad #2 Left arrow wires to Arduino pin 16
  12. Pad #2 Start arrow wires to Arduino pin 14
  13. Pad #2 Select arrow wires to Arduino pin 15

These matches up with the file ddr-12panel-fsr.ino. On the USB side, connect that to the computer.

If you have question on Version #2 part 2 which is the LED light. Let me know.

Please note that I also fixed the description about as the pin for Pad #2 isn't correct.