Files
2023-12-27 17:10:51 +01:00
..
2023-12-27 15:21:30 +01:00
2023-12-27 17:10:51 +01:00

Donate

BEMANI PSX Adapter - DIY Adapter Tutorial

USB Adapter for Playstation IIDX and Pop'n Music Controllers.

Here's a step-by-step guide on how I used to make them

Required materials

CJMCU Beetle USB

cjmcu

This is the easiest atmega32u4 to work with thanks to these big USB pads one can solder directly onto

PSX to USB or PSX to PS3 adapter

psxusb

While not the smallest and easiest to build with, this is the cheapest and most available adapter from Aliexpress etc..

Feel free to use a bigger adapter if you're worried about soldering with limited space available.

Resistor

resistor

Not a lot of power to dissipate, so 0.25W will suffice. 1K is what's recommended, but 2K, 5K or 10K will work as well.

Basically take any cheap resistor between 1K and 10K that you can find, it should work

Wires

You need 6 pieces of wire, I recommend using 22 or 24 awg

Soldering iron and hot air station

If available, use hot air and kapton tape to desolder the existing PCB.

Otherwise you can also use your soldering iron and a desoldering pump or wick.

Cutting pliers and wire stripper

cutting stripper

This will be used to prepare wires.

Step by step tutorial

Step 1: Preparing the adapter

Open the adapter

Disassemble the adapter by inserting a flat screwdriver above the controller plug and gently twist to separate both halves, exposing the PCB soldered on the connector and USB cable.

Remove USB wires

Use cutting pliers to remove the 4 usb wires from the PCB.

Remove PCB

01a

Protect the plastic with Kapton tape and use hot air to separate the PCB from the controller plug.

01b

Clean pins

01c

Use your soldering iron to clean solder off the pins

01d

Congrats, the controller plug is now ready to be used, now let's take care of the MCU

Step 2: Preparing the MCU

Note: I suggest flashing the code BEFORE soldering anything, but if you forgot to flash it, you can always do it later using the usb cable soldered on it (this will allow firmware upgrades too as the Arduino IDE should still be able to reset and reflash your board)

Resistor and wires

02a

Start with the resistor, place it between pins MI and 5V (top and bottom pins from right side of the MCU), but DO NOT SOLDER YET, we need to insert wires into these holes as well:

  • Take your 6 wires, strip one end and insert one of each into MI, MO, SCK, GND, 5V and A2 pin-holes.

You can now solder everything on MCU side

02b 02c

USB

Apply tin to the 4 usb pads

02d

Then solder the 4 USB wires on them, carefully following the BLACK-GREEN-WHITE-RED order

02e

When in doubt, use a multimeter to check which pad is in continuity with GND pin, and which pad is in continuity with 5V pin

Step 3: Assembly

Find a way to place both the cable and MCU inside the adapter, with the controller plug set back into place as well

03a

Then it's time to cut wires to a shorter length (you want the minimum length so that you can close the adapter normally)

03b

Finally, following the pinout, you can solder everything following the pinout

  1  2  3   4  5  6   7  8  9
-------------------------------
| o  o  o | o  o  o | o  o  o |  (at the Controller)
\_____________________________/

1 : DAT        -> MI (the pin which also has the pullup resistor on it)
2 : CMD        -> MO
4 : GND        -> GND
5 : 3.3V       -> 5V (yes, spec is 3.3v but I've been using 5v without issue)
6 : Attention  -> A2
7 : SCK        -> SCK

/!\ Pin 1 is on top of the pic (since this is what the leftmost pin of controller cable will plug into)

03c

Close the adapter box

With everything soldered you can now close the adapter by just pressing both sides together it should snap into place

04

I like adding some tape in order not to confuse a modded adapter with a regular one :)

Closing words

Congrats on making your Bemani adapter :)

Note that you can also flash my LUFAHybridFightstick firmware on it if you take the "PSX" branch and it will serve as a low latency PSX to USB adapter, but I think that's a bit overkill, and, because that other firmware is using LUFA, doing that without exposing the RST pin will make it hard to flash another firmware on it or upgrade later on (PROTIP: you can either mod a reset button or solder that RST pin to an unused pin from the PSX plug if you want to use LUFA firmwares as well).

Donation

If this project helps you and you want to give back, you can help me with my future projects.

While not necessary, donations are much appreciated and will only go towards funding future github projects (arcade hardware ain't cheap :( ).

Of course you'll also receive my gratitude and I'll remember you if you post a feature request ;)

paypal