Showing posts with label pad hack. Show all posts
Showing posts with label pad hack. Show all posts

Saturday, December 22, 2018

Retro Console RJ45 Pinouts - PS360+, MC-Cthulhu, Brook Retro Board

I build a lot of arcade sticks and I like to use them on old video game consoles, and the best way to do this is usually to get a control board that is compatible with multiple consoles. There have been a few boards that do this over the years, including Toodles' MC-Cthulhu (mostly discontinued but still available sporadically), Akishop Customs' PS360+ (discontinued) and now (at the time of this writing) Brook's Retro Board.

The preferred way to connect these boards to the consoles is via RJ45 connectors soldered to the board and then a console-specific connector soldered onto the other end of the cable. A few arcade parts stores sell premade cables for some of the more popular consoles at the time of this writing, but that will probably stop at some point, so it's good to know how to put these cables together.

There used to be a huge thread with really great tutorials on making these cables on the Shoryuken forums by user "rtdzign" but when SRK migrated to a different forum software a few years ago, it completely fucked up their post index so you can't get to things from google search results and I think the whole forum is shutting down completely soon, so all of this will be lost (most of it already is, really; I had to go sifting through the Wayback Machine's archives to collect most of this stuff).

Anyway, here goes (note: the pics in this post come from rtdzign's original tutorial on SRK and from Akishop Custom's PS360+ manual, with copyrights for those respective images belonging to them):

If you buy a MC-Cthulhu from somewhere, you may want to make sure you have the latest firmware. Toodles' "Godlike Controls" site has been down for a while, but the Wayback Machine cached the firmware file here.
Mirror

The ethernet connection pinout looks like this:

USB

The first cable you'll probably want to make is a regular USB cable (for PC and PS3). It's pretty simple - ground (pin 4 of the USB cable) goes to pin 1 of the ethernet cable, data+ (USB pin 3) goes to pin 5 of the ethernet cable, data- (USB pin 2) goes to ethernet pin 6 and VCC (USB pin 1) goes to ethernet pin 8.

Color - Purpose - RJ45 Pin - Cthulhu - ETH Color
Black - GND     - 1        - G       - Orange Stripe
---   - ---     - 2        - A       - Orange Solid
---   - ---     - 3        - B       - Green Stripe
---   - ---     - 4        - C       - Blue Solid
White - DATA-   - 5        - D       - Blue Stripe
Green - DATA+   - 6        - E       - Green Solid
---   - ---     - 7        - F       - Brown Stripe
Red   - VCC     - 8        - V       - Brown Solid

Original Xbox

Once you've done USB, OG Xbox is a logical next choice, as it's just USB with a proprietary plug:


OG Xbox also has a yellow wire that is unused and can be ignored, but otherwise it's the same as the regular USB cable.
NOTE: in general, don't trust wire colors blindly. *Always* test continuity with a multimeter to confirm wire-to-pin assignment. Cheap, knockoff extension cables are notorious for using essentially random wire colors (including nonsense like red GNDs, black VCCs, etc.)
If your construction skills aren't great and you would rather buy something, I believe you could also just use a USB-female-to-Xbox-male adapter like this one (or build one) and get the same effect pairing it with your newly constructed RJ45-to-USB cable.

Once you've got the hang of it, the rest of the consoles are just a matter of matching up the gamepad pins with the ethernet wires.

Gamecube

Gamecube (not compatible with PS360+) only uses the first 3 pins of the controller, which makes it pretty easy: controller pin 1 is VCC, which goes to ethernet pin 8, controller pin 3 is GND, which goes to ethernet pin 1 and controller pin 2 is DATA, which goes to ethernet pin 7. Easy-peasy.

Here's the diagram:

GC Pin - Purpose - RJ45 Pin - Cthulhu - ETH Color
1      - +5v     - 8        - V       - Brown Solid
2      - DATA    - 7        - F       - Brown Stripe
3      - Ground  - 1        - G       - Orange Stripe
And the same info in order of RJ45/Cthulhu pins:
GC Pin - Purpose - RJ45 Pin - Cthulhu - ETH Color
3      - Ground  - 1        - G       - Orange Stripe
---    - ---     - 2        - A       - Orange Solid
---    - ---     - 3        - B       - Green Stripe
---    - ---     - 4        - C       - Blue Solid
---    - ---     - 5        - D       - Blue Stripe
---    - ---     - 6        - E       - Green Solid
2      - DATA    - 7        - F       - Brown Stripe
1      - +5v     - 8        - V       - Brown Solid

N64

The Brook Retro Board has support for N64, and its pinout is very similar to the Gamecube's but in reverse order. That is, pin 1 is GND, pin 2 is Data and pin 3 is VCC (+3.3v).

N64 Pin - Purpose - RJ45 Pin - Cthulhu - ETH Color
1       - Ground  - 8        - G       - Orange Stripe
2       - DATA    - 7        - F       - Brown Stripe
3       - +3.3v   - 1        - V       - Brown Solid
And the same info in order of RJ45/Cthulhu pins:
N64 Pin - Purpose - RJ45 Pin - Cthulhu - ETH Color
1       - Ground  - 1        - G       - Orange Stripe
---     - ---     - 2        - A       - Orange Solid
---     - ---     - 3        - B       - Green Stripe
---     - ---     - 4        - C       - Blue Solid
---     - ---     - 5        - D       - Blue Stripe
---     - ---     - 6        - E       - Green Solid
2       - DATA    - 7        - F       - Brown Stripe
3       - +3.3v   - 8        - V       - Brown Solid

PS1 and PS2

PSX is another good one, since it covers both PS1 and PS2 and was considered the "standard" connector for sticks prior to the adoption of USB, so you can find PSX-to-whatever adapters fairly easily from companies like Raphnet. In fact, Akishop Customs recommends using a PSX cable with a PSX-to-Gamecube adapter to cover Gamecube and Wii inputs with PS360+ boards.

Note: the 'RUMBLE' pin carries 7.2v-9v for use by the rumble motors. We don't need to mess with it.


PSX Pin - Purpose - RJ45 Pin - Cthulhu - ETH Color
1         DATA    - 4        - C       - Blue Solid
2         CMD     - 3        - B       - Green Stripe
3         RUMBLE  - ---      - ---    
4         GND     - 1        - G       - Orange Stripe
5         +3.3v   - 8        - V       - Brown Solid
6         ATTN    - 5        - D       - Blue Stripe
7         CLK     - 2        - A       - Orange Solid
8         UNUSED  - ---      - ---
9         ACK     - 7        - F       - Brown Stripe
and here's that same data shuffled around to use the order of the RJ45/Cthulhu pins, in case that is easier to understand:
PSX Pin - Purpose - RJ45 Pin - Cthulhu - ETH Color
4       - GND     - 1        - G       - Orange Stripe
7       - CLK     - 2        - A       - Orange Solid
2       - CMD     - 3        - B       - Green Stripe
1       - DATA    - 4        - C       - Blue Solid
6       - ATTN    - 5        - D       - Blue Stripe
---     - ---     - 6        - E       - Green Solid
9       - ACK     - 7        - F       - Brown Stripe
5       - +3.3v   - 8        - V       - Brown Solid

NES and SNES

SNES / NES is another interesting case insofar as they use the same protocol, just with a different connector. Rather than making/storing/transporting 2 separate ethernet cables, I made one ethernet-to-SNES cable and use a self-made SNES-to-NES adapter for NES (also useful for using the more ergonomic SNES pad on an NES). I also have a cheap SNES-to-Wiimote-expansion adapter (this one from Hyperkin https://www.amazon.com/Hyperkin-Controller-Adapter-Classic-super-nintendo/dp/B075RMYMNH) but neither my PS360+ nor my MC-Cthulhu work with my SNES Classic/Mini through it, so YMMV (worth noting: MC-Cthulhu and PS360+ don't work with my Analogue Super Nt using the normal SNES cable, either, though they both work with an actual SNES console, so clearly something fucky is going on that probably won't ever be resolved for either of the essentially dead products). I haven't tried either of them running through a Wiimote's Bluetooth connection (to, for example, use an arcade stick wirelessly with emulators on a softmodded Wii), so if you try that, please let me know your results in the comments.

To be verbose, here are both the NES and SNES pinouts and pics, respectively (the "unused" pins are reserved for special controllers and serve no purpose for us):

NES




NES pin - Purpose - RJ45 pin - Cthulhu - ETH Color
1       - GND     - 1        - G       - Orange Stripe
2       - CLK     - 2        - A       - Orange Solid
3       - LATCH   - 7        - F       - Brown Stripe
4       - DATA    - 4        - C       - Blue Solid
5       - UNUSED  - ---      - ---     - ---
6       - UNUSED  - ---      - ---     - ---
7       - VCC     - 8        - V       - Brown Solid
And here it is sorted by RJ45 pin:
NES pin - Purpose - RJ45 pin - Cthulhu - ETH Color
1       - GND     - 1        - G       - Orange Stripe
2       - CLK     - 2        - A       - Orange Solid
5       - UNUSED  - 3        - B       - Green Stripe
4       - DATA    - 4        - C       - Blue Solid
6       - UNUSED  - 5        - D       - Blue Stripe
---     - ---     - 6        - E       - Green Solid
3       - LATCH   - 7        - F       - Brown Stripe
7       - VCC     - 8        - V       - Brown Solid

SNES



SNES pin - Purpose - RJ45 pin - Cthulhu - ETH Color
1        - GND     - 1        - G       - Orange Stripe
2        - UNUSED  - ---      - ---     - ---
3        - UNUSED  - ---      - ---     - ---
4        - DATA    - 4        - C       - Blue Solid
5        - LATCH   - 7        - F       - Brown Stripe
6        - CLK     - 2        - A       - Orange Solid
7        - +5v     - 8        - V       - Brown Solid
And sorted by RJ45 pin:
SNES pin - Purpose - RJ45 pin - Cthulhu - ETH Color
1        - GND     - 1        - G       - Orange Stripe
6        - CLK     - 2        - A       - Orange Solid
2        - UNUSED  - 3        - B       - Green Stripe
4        - DATA    - 4        - C       - Blue Solid
3        - UNUSED  - 5        - D       - Blue Stripe
---      - ---     - 6        - E       - Green Solid
5        - LATCH   - 7        - F       - Brown Stripe
7        - +5v     - 8        - V       - Brown Solid

TurboGrafx-16 / PC-Engine

TG16/PCE is kinda weird insofar as it has 2 functions on each pin (e.g. D-pad up and the I button) and then it uses the DATA SELECT pin to select which set of functions to poll.

I don't have a TG16/PCE, but from rtdzign:
The American TurboGrafx-16 uses has a female Din 8 port on the system while the Turbo Duo and all the Japanese systems use a Mini Din 8. I recommend that you buy a number of 6 ft monoprice Mini Din 8 cables. For an TG-16 you can buy a male Din 8 connector and solder that to an ethernet cable.

And here's the diagram sorted by DIN pin:
DIN Pin  - RJ45 pin - Cthulhu - ETH Color
1 +5v    - 8        - V       - Brown Solid
2 UP/I   - 2        - A       - Orange Solid
3 RT/II  - 3        - B       - Green Stripe
4 DN/Sel - 4        - C       - Blue Solid
5 LF/Run - 7        - F       - Brown Stripe
6 SELECT - 6        - E       - Green Solid
7 OE     - 5        - D       - Blue Stripe
8 GND    - 1        - G       - Orange Stripe
And sorted by RJ45 pin:
DIN Pin  - RJ45 pin - Cthulhu - ETH Color
8 GND    - 1        - G       - Orange Stripe
2 UP/I   - 2        - A       - Orange Solid
3 RT/II  - 3        - B       - Green Stripe
4 DN/Sel - 4        - C       - Blue Solid
7 OE     - 5        - D       - Blue Stripe
6 SELECT - 6        - E       - Green Solid
5 LF/Run - 7        - F       - Brown Stripe
1 +5v    - 8        - V       - Brown Solid

Saturn

Saturn pads have voltage lines running in and out of the gamepad. When you see diagrams online, they are typically named according to the console's perspective, rather than the controller's, so keep in mind that these names are basically backward.

Sorted by Saturn pin:

Sat Pin   - RJ45 pin - Cthulhu - ETH Color
1 +5v-OUT - 8        - V       - Brown Solid
2 DATA1   - 3        - B       - Green Stripe
3 DATA0   - 2        - A       - Orange Solid
4 SELECT0 - 5        - D       - Blue Stripe
5 SELECT1 - 6        - E       - Green Solid
6 +5v-IN  - ---      - ---     - ---
7 DATA3   - 7        - F       - Brown Stripe
8 DATA2   - 4        - C       - Blue Solid
9 GND     - 1        - G       - Orange Stripe
Sorted by RJ45 pin:
Sat Pin   - RJ45 pin - Cthulhu - ETH Color
9 GND     - 1        - G       - Orange Stripe
3 DATA0   - 2        - A       - Orange Solid
2 DATA1   - 3        - B       - Green Stripe
8 DATA2   - 4        - C       - Blue Solid
4 SELECT0 - 5        - D       - Blue Stripe
5 SELECT1 - 6        - E       - Green Solid
7 DATA3   - 7        - F       - Brown Stripe
1 +5v-OUT - 8        - V       - Brown Solid

3DO

3DO pads have headphone jacks on them, so 2 of the pins are dedicated to carrying audio signals, and there's a second VCC line. I would assume you can use either of them but haven't tested it, since I don't have a 3DO. Neither did rtdzign, it seems, as here's what he had to say about it:
(I don't have a 3DO and am assuming the D-sub follows normal pinout convention Picture is from a 3rd party genesis extension cable.)

3do will currently only work as the only controller, plugged directly into the system; trying to daisy chain off of it or use it through a daisy chain isn't going to work.

Here's the diagram sorted by Dsub pin:
Dsub Pin - Purpose - RJ45 pin - Cthulhu - ETH Color
1        - GND     - 1        - G       - Orange Stripe
2        - VCC+5v  - 8        - V       - Brown Solid
3        - AUDIO1  - ---      - ---
4        - AUDIO2  - ---      - ---
5        - VCC+5v  - ---      - ---
6        - P/S     - 7        - F       - Brown Stripe
7        - CLOCK   - 2        - A       - Orange Solid
8        - GND     - ---      - ---
9        - DATA    - 4        - C       - Blue Solid
And sorted by RJ45:
Dsub Pin - Purpose - RJ45 pin - Cthulhu - ETH Color
1        - GND     - 1        - G       - Orange Stripe
7        - CLOCK   - 2        - A       - Orange Solid
---      - ---     - 3        - B       - Green Stripe
9        - DATA    - 4        - C       - Blue Solid
---      - ---     - 5        - D       - Blue Stripe
---      - ---     - 6        - E       - Green Solid
6        - P/S     - 7        - F       - Brown Stripe
2        - VCC+5v  - 8        - V       - Brown Solid

Dreamcast

No VMU support and only works with games that can be played solely with an arcade stick. (update 8/4/23): Someone in the comments reported that the original pic was wrong, so here's a corrected pic:

 The diagram was always correct:

Here's the diagram sorted by DC pin:
DC Pin   - RJ45 Pin - Cthulhu - ETH Color
1 DATA1  - 7        - F       - Brown Stripe
2 VCC+5v - 8        - V       - Brown Solid
3 GND    - 1        - G       - Orange Stripe
4 SENSE  - 3        - B       - Green Stripe
5 DATA5  - 4        - C       - Blue Solid
And sorted by RJ45 pin:
DC Pin   - RJ45 Pin - Cthulhu - ETH Color
3 GND    - 1        - G       - Orange Stripe
---      - 2        - A       - Orange Solid
4 SENSE  - 3        - B       - Green Stripe
5 DATA5  - 4        - C       - Blue Solid
---      - 5        - D       - Blue Stripe
---      - 6        - E       - Green Solid
1 DATA1  - 7        - F       - Brown Stripe
2 VCC+5v - 8        - V       - Brown Solid

Sega Genesis / Mega Drive

None of these boards work with Genesis / MD because it does its own crazy thing that's very difficult to reproduce without spending a ton of money on dedicated parts. The best thing to do for these is to padhack a crappy 6-button pad, which can be purchased online for peanuts. See my post here for a look at that process.

MC-Cthulhu Secondary Solder Point Pinout

The Cthulhu boards include a double-row of unlabeled solder points on the side of the board opposite the RJ45 solder points. These are intended for attaching a 360 padhack for adding 360 support, but they're just additional hard-lines tied to the screw-terminals, so they can technically be used to add any additional PCB, so long as you tie the VCC and Grounds together.

Since they're unlabeled, it can be a hassle to use them, but you can easily identify by testing continuity between the solder points and the screw-terms. Nevertheless, I'll include the pinout here to make it easier (the labeling scheme assumes right-alignment; that is, H and 9 are on the far right, lined up, while A and 1 are staggered on the left side):

    [A] [B] [C] [D] [E] [F] [G] [H]
[1] [2] [3] [4] [5] [6] [7] [8] [9]

A = VCC
B = Down
C = Ground
D = Select
E = Right
F = 3K ('Roundhouse' in Street Fighter nomenclature)
G = 3P (Fierce)
H = 1P (Jab)

1 = Up
2 = 4P (PPP)
3 = Left
4 = 4K (KKK)
5 = Start
6 = 2K (Forward)
7 = 1K (Short)
8 = 2P (Strong)
9 = Home/Guide

And, just because I keep needing it and don't feel like searching for it every time, here's a copy of the MC-Cthulhu pinout:

Sunday, September 24, 2017

Padhacking a Terrible Genesis 6-button Controller

I recently got a model 1 Sega Genesis and an Everdrive MD and have been playing a lot of the great shmups and arcade ports. The standard 3-button pads are not great, period, but they're especially crummy for those sorts of games (Street Fighter is basically impossible), so I figured I'd seek out some 6-button pads.

Legit 6-button pads from Sega are quite nice, but they're getting more expensive these days (like everything retro, amirite?), so I decided to check out some of the cheap knockoffs. The cheapest ones I could find were going for $8 for 2 pads on eBay and, while I expected them to be shitty, they're worse than I ever imagined:
The Fighting Putt 6B packaging. Both pads I received looked as if they'd been sat upon.
The buttons are so loose I was worried they would fall right out of the cheap plastic casing. The controllers themselves weigh almost nothing and their cord is a measly 3 feet long. The funniest quirk, IMO, is that they only used 4 screws to connect the housing instead of the 5 Sega used, but they put in a fake plastic screw just to keep up appearances:
Very clever, guys. Nobody suspects a thing.
Between the laughably short cord and the awful buttons, I decided to check out the PCB to see if it might be worth putting into an arcade stick (I already have a PS360+ multi-console board, which covers every console I care about except the Genesis/MD, so this would be useful). It turns out that the PCB is actually really great for this purpose, with a common-ground design and nice, big soldering pads for each input:
Here's a shot with wires soldered onto the pads:
And here's one with the solder joints smothered in hot glue for long-term stability:
I hooked it into an existing stick I had lying around and everything works perfectly. After the price of an extension cable, I'm still looking at sub-$10, so not too bad. I wouldn't recommend the Fighting Putt 6Bs for general use, but they're great for padhacking.

Friday, June 5, 2009

Conclusions and Helpful Links

Continued from Installing the Hardware

That's pretty much it. Just plug it up and give it a shot. If you find that any of your buttons are acting funny, e.g. nothing happens when you press the button until you let go, try swapping the locations of the wires around on the button (i.e., move the wire from the bent post to one of the straight ones and vice versa).

Once again, here's what the final product looks like:


I've presented my own experience here, but there are tons of others' experiences elsewhere online. The Shoryuken.com forums have some really great info on pad hacking and DIY stick-making. You can also find some great things at the arcadecontrols.com forums (HarumaN is an expert and sells pre-hacked pads at reasonable prices) and xbox-scene.com forums (RDC has some great, thorough information about pad hacking, along with some good tutorials on how to salvage pads after a screw-up).

Gamingnow.net sells damn-near anything a stick-builder could want, all at very reasonable prices.

MAMErs can purchase I-PAC interfaces from Ultimarc. Another option that seems to be preferred on the Shoryuken forums is the Cthulhu board, which can be purchased at gamingnow.net.

UPDATE: even better than the Cthulhu is Toodles' new Chimp board, which provides PC/PS3 support and is designed to accept a hacked 360 common ground pad to provide 360 support with automatic switching among protocols. Plus, it's cheaper than bare Cthulhus used to be! You can get it and other stick materials at Lizard Lick.

UPDATE 3/25/11: Even better than the Chimp board, now you can get the Akishop PS360 triple-mod board, which is a no-solder board that supports PS3, Xbox 360 and PC all at once. It costs slightly more (~$45), but it completely removes padhacking from the equation for the first time ever. This and other arcade stick parts intended for fighting game enthusiasts are available at focusattack.com.

If you want to build a standard, semi-low-profile stick similar to what you would buy in a store, I recommend checking out some of the articles on slagcoin.com. The site has TONS of great information about all aspects of stick-making, and their button layout section is unparalleled.

You can learn more about sticks--including the differences between various brands--here. The section about restrictor plates should be considered required reading for any aspiring stick-jockey.

Page 1: Building an Arcade-style Fight Stick
Page 2: Assembling Your Box
Page 3: Pad Hacking
Page 4: Installing the Hardware
Page 5: Conclusions and Helpful Links

Installing the Hardware

Continued from Pad Hacking

After the Hell that is pad hacking, this part is a breeze and is pretty straigtforward. You just put the buttons into the holes you cut in your panel, then screw down the plastic nut to hold them in place. At this point, I wouldn't bother screwing them down too hard because you might need to rearrange/rotate them later.

Next, attach your microswitches to the buttons. This picture shows a standard cherry microswitch that came with my arcade buttons.

When you go to attach the wires from your hacked pad to your microswitches, the best method is to use .187 sized quick releases (or .110 for japanese-style buttons) rather than soldering the wires directly to the posts, which will make repairing/replacing buttons much easier in the future.

For the joystick, you'll need to drill mounting holes around your large-diameter joystick hole. The Happ stick I chose is a top-mounted stick, but I wanted a smooth surface (i.e., no visible screw/bolt heads) so I countersank the holes a bit and then covered the bolts with wood glue and wood putty before staining/sanding.

This is a pretty permanent solution for better or for worse (no way to reposition the mounting bolts), but I intend to continue using Happ sticks in the future, so it shouldn't be too much of a problem.

After the glue and putty dried, I did a light sanding and proceeded to stain the top and sides.

Once that's all set, you can attach your joystick base by threading the mounting bolts through the appropriate mounting holes and then screwing the nuts onto the bolts. Once you have the base of the joystick bolted into place, follow the instructions that came with your joystick for dropping the stalk into place. The instructions for my Happ were not very clear, so I'll explain my process: first, put the plastic ring--textured side-up--on the stalk, followed by the plastic spacer, then push the stalk through the base until it pokes out the other side next to the microswitches. Next, take the actuator (that funky square piece) and PRESS IT DOWN until you can snap the little clip into place to hold it (the fact that it can be pressed down was not mentioned in my instructions and I erroneously thought the spacer was missized).

After that, you just need to attach your pad to the microswitches via the quick releases. The ground attaches to the side post and the signal attaches to one of the two straight posts on the bottom (one side registers when the button is pressed, the other registers until the button is pressed).


Here is how my first attempt ended up (not so hot):


And here's my second attempt (a little better):

At this point, I added a few extra touches, including hinges for the top to maintain easy access to the wiring and some cabinet handles on the back which also double as cable wraps:


Also, as you may have noticed in some of the previous pics, I attached some staples from a staple gun to the bottom of the box interior. I then used cable ties to stabilize the pads against the staples and keep them from flopping around whenever I move the box.


Page 1: Building an Arcade-style Fight Stick
Page 2: Assembling Your Box
Page 3: Pad Hacking
Page 4: Installing the Hardware
Page 5: Conclusions and Helpful Links

Pad Hacking

Continued from Assembling Your Box

If you're not going to use the pad hack method and will instead use an I-PAC or similar control chip, you can skip this part, obviously. For this stage of the construction, I recommend you have an exacto knife, some thinnish wire (~22 AWG; I actually used an IDE hard drive ribbon), a soldering kit (soldering iron and lots of solder, helping hands with a magnifier, a good lamp) and a hot glue gun.

First off, you'll need to remove the outer shell of your controller, usually using a small phillips-head screwdriver.

Once you're down to the bare PCB (printed circuit board), you'll see that all of the button contacts are covered in this weird black coating that solder won't stick to, so we gotta scrape that shit off to get to the sweet, sweet copper underneath it (you'll want to scrape off more than is shown in this picture; it's just an example).

I've heard of people using a dremel with a wire brush attachment to do this, but that sounds like a bad idea to me so I stuck with using an exacto with a square-ish blade (lay it almost flat against the board so you shave off the black stuff instead of scratching it off with the point/edge).

However you decide to do it, just make sure you don't damage the copper underneath because that's what we want to solder to.

Once you get a pair of wires soldered to their corresponding pads, I recommend you plug your controller into your PC/console and bridge the wires (i.e., touch the bare ends together to make a circuit) to verify that the correct button registers. If not, you'll have to figure out what went wrong and redo it. If everything works properly, take out your hot glue gun and encase the whole area in glue to make things sturdier and take the stress off of your solder joints.

Here's a picture of my first attempt, after everything was soldered and glued. I used some cable ties (slightly off-frame up above the pad) to clean up the horrible mess of mess of wires I made:

This is my second attempt, which used IDE ribbon instead of thicker wires. Looks much neater, eh?

After that's all finished, I recommend you attach the wires to a terminal strip or something similar so that you may more easily attach/remove buttons or--god forbid--another pad.

Here are some things regarding pad hacking that were not clearly stated in other sources I read online:
I used the official XBox 360 wired pad from Microsoft (unfortunately, the wireless pads are a total hassle and sometimes break inexplicably during the construction process). Unlike the Mad Catz 360 pad, the official pad does not seem to have a "common ground," which makes things a little harder. The pads with a common ground are set up such that the signal pad of each button can be grounded against the ground pad of almost ANY other button on the PCB. This makes for less soldering and fewer wires to connect to your buttons. In the case of the official pad, you'll need to solder wires to both pads of each button. The silver lining is that you don't need to muck around with any "solder plan" or daisychain any grounds.

So-called "trigger hacking" a.k.a. "set[ting] trigger to neutral" is a pain in the ass, serves no purpose that I can see and has the potential to cause serious problems. It involves desoldering the trigger potentiometers and removing the whole trigger mechanism, then soldering a 10k ohm resister to the leads to make the controller think it's always completely extended. Some people make it sound like this is necessary to even use the triggers, so I did it to my pads and ever since then my button readouts have been very strange (hitting a button doesn't map it to, say, joy1 button 1, but rather to joy1 button 1 joy3 button 1; that is, it thinks the controller is actually 2 controllers at once...). Instead of opening this can of worms, it appears that you could just leave the trigger mechanism and potentiometer intact, hot glue everything in place in the open position (to make sure nothing gets wonky while you're playing) and then solder to the points just like you would with a hacked trigger. Sounds much easier to me. The other option is just to ignore the triggers entirely and deal with the slight hassle of remapping the trigger-assigned button(s) every time you plug the stick into a 360.

Finally, it's easier to make these connections IMO if you place a small drop of solder on the copper pads and then attach the wire to that instead of trying to do it all at once, juggling solder, the PCB and the wire. If you should happen to mess something up, don't freak out; you can follow the lead from wherever you screwed up to the little dot (called a "via") where the lead pokes through to the backside of the PCB. Just scratch away some of the green coating there and you should be able to solder to it (RDC of the xbox-scene forums has a great tutorial for this process).

Page 1: Building an Arcade-style Fight Stick
Page 2: Assembling Your Box
Page 3: Pad Hacking
Page 4: Installing the Hardware
Page 5: Conclusions and Helpful Links

Analytics Tracking Footer