I WOULD ONLY RECOMMEND THIS PROJECT TO THOSE WHO ARE COMFORTABLE SOLDERING, AS THERE ARE VERY SENSITIVE CONNECTIONS THAT NEED TO BE SOLDERED (See 'Step 2: The Soldering Job'). I would also strongly recommend that you read the troubleshooting section before starting work on this project so you know what might come up.
In this 'Ible I use a Playstation 4 DualShock4 controller, but this could easily be modified to fit most other controllers as well. XtaC_Ewok has a great video tutorial for this project using both Xbox One and 360 controllers, definitely worth checking out if you are using either of those consoles. I have no experience with Xbox controllers, but I would imagine that they aren't too dissimilar. I would love to see how it turns out if anyone tries it, let me know how it works.
Step 1: Required Items
The following parts are required, the bolded ones are required:
- Momentary pushbuttons (the more sensitive the better) x2
- Soldering iron/solder
- Insulated wire (I used thin stranded copper wire as it is easily manipulated, but any thin wire will do)
- Small screws x2
- Small phillips screwdriver
- Drill or Dremel
- Utility knife or razor blade
- Hot glue
- Heat shrink tubing
- 1/8" plexiglass
- Needle-nose pliers
- Small flathead screwdriver
Step 2: Controller Takedown
There are many other tutorials out there that probably do a better job explaining the disassembly of a PS4 controller, but for the sake of consolidation I'll give a brief overview in this 'ible that should be sufficient. I would recommend the use of a tutorial if you're using a controller other than a dual shock 4.
First remove the four screws on the back of the controller, then gently begin to pry the front and back halves apart using either your fingernails or a small flathead screwdriver. Make sure to be as careful as possible, as these are generally pretty expensive devices. (IMAGE 1).
If, when opened, you see something pop out of place and you don't know where it went, you are most likely looking for one of the controllers triggers and it's spring. Luckily, these are easy to snap back into place. (IMAGE 2).
Once opened, disconnect the battery as well as the ribbon cable connecting the motherboard and the led bar indicator board. Both ends can be removed, but I found it easiest to only remove the end attached to the motherboard. (IMAGE 3). Images 4 and 5 show these two in more detail if you need additional help locating the two connectors.
Remove the small screw holding the motherboard in place, and you should be able to pry the black plastic battery cradle. (IMAGE 6)
Remove the ribbon cable connecting the motherboard and touchpad from its socket on the motherboard. IMAGE 7).
You should now be able to pull out the inner plastic frame from the controller shell. To do this, pull up on the two motors and it should come free (IMAGE 8).
Congratulations, the easy part is now done! Time to fire up the soldering iron.
Step 3: The Soldering Job
To begin, you need to get a feel for how the controller's buttons work. I did this by messing around with a multimeter to see which parts were and weren't connected. Since I did this with two buttons (X and O on the DS4), I had to figure out the potential solder points for both. You will need to do the same with whichever buttons you plan to remap. It isn't that difficult with some patience. (IMAGE 1).
DO NOT solder directly to the black button pads, this will prevent the buttons from being able to be used normally. Instead trace the wire away for a half inch or so, this way your soldering job will not interfere with the button's ordinary function. In the second image, the red lines indicate the place where I soldered the wires to the board. To make the solder connection, carefully scratch off the green coating so that the silver wire is exposed. Be careful not to scratch all the way through, as the wires are extremely fragile. (IMAGE 2).
Tin your wires (which should be approximately 6 inches long), and solder them to the board without melting the plastic film for best results. I recommend covering each solder joint with a thin layer of hot glue to insulate and secure the wire ends. (IMAGE 3).
Solder the other ends of the wires to the momentary pushbuttons. Luckily this is significantly easier than trying to solder to plastic circuits. Again, you will want to insulate the connections with either hot glue or heat shrink to prevent shorts. Save yourself the panic attack by double checking to make sure that: A) you are indeed using the correct wires (X with the other X, O with the other O for example) and B) you don't make the silly mistake I did and solder the wires to the two normally closed contacts of the pushbutton. (IMAGE 4).
Now that all of the connections are soldered and insulated, it's a good idea to make sure that everything is working properly. To do this the controller does not need to be fully assembled, just make sure that all of the ribbon cables and battery get plugged back into the right ports.
Step 4: The Paddles
If everything went well while testing your controller, proceed to this step. Otherwise, you'll want to check out the 'Troubleshooting' section.
Now you can fully reassemble the controller, leaving only the back half of the shell separate. Follow the directions in Step 1: Controller Takedown in reverse order. While doing this though, there are some things that you need to keep in mind.
First, make sure that the touchpad ribbon cable gets fed through the slot in the inner black plastic frame as the frame is put back into place. Otherwise it will not be able to reach all the way to its port on the motherboard. (IMAGE 1).
Also, be careful that when you are running the pushbutton wires to the back of the controller they will not get pinched or cut when everything is tightened. I did this by running them around the side just above the rumble motors. There should be plenty of room for them without getting damaged. (IMAGE 2).
Now you can go ahead and cut the holes in the back of the controller. To determine where just hold it as if you were using it and make note of where your ring fingers rest. This will be the ideal location for the buttons. The holes need to be large enough for the pushbutton to fit all the way inside so that the edges are flush and the back side of the button does not protrude into the inside of the controller very far. Also drill small pilot holes for the small screws that will hold the paddles in place. (IMAGE 3).
To make the holes the right size and shape I used a drill with a 3/8" bit to make the initial hole, and a Dremel with a sanding bit to make the holes more square. Go slow and test fit the buttons often, since you want a snug fit. (IMAGE 4).
You can now glue the buttons in place from the back so that the glue isn't visible from the outside and it doesn't interfere with the buttons' action. Try not to put too much glue, otherwise it will stick out and make the back shell hard to put back on.
Go ahead and put the back shell onto the front shell and screw the 4 screws into the back shell to hold it in place. When doing so, make sure not to pinch any wires. (IMAGE 5).
Cut out the paddles into a shape that is ergonomic and low profile, there is not one way to do this. Personally, I used some scrap plexiglass that I had laying around. Any plastic should work, and you're free to choose whatever shape, texture, or color scheme you want. What's really important though is that they're comfortable, so it would be a good idea to sand the edges if they were cut out of plastic. One hole needs to be drilled in the end of each of the two for the screw that will hold them in place, as well as some kind of indentation that will keep the paddle over the pushbutton. Make sure that this indentation does not go all the way through the paddle. It's a good idea to measure the distance before making any holes. (IMAGE 6).
You now have a controller that functions on par with some of the more expensive custom controllers out there, and you did it for next to nothing! Enjoy!
Step 5: Troubleshooting
I will try my best to explain the problems that came up when I first tried this so that you can take preemptive action and be mindful of them as you work.
'The controller can pair to the console and everything works except the two mapped buttons'
This is most likely because the soldering to the plastic circuit disrupted the embedded wires. If you have a multimeter with continuity testing, make sure everything that is supposed to be connected is connected and there are no breaks in the wires.
'The console says too many USB devices are connected'
This most likely means that there is a short somewhere in the circuit. Unplug the controller from the console as soon as possible and begin to take it apart. Look (with a multimeter) for any kind of connection between the two sides of the black button pad. If there is, use a razor blade to try and cut out only that section of the plastic. This will hopefully prevent the short.
'The controller won't turn on or sync with the console'
A number of things can cause this. When it happened to me, it turns out that I had plugged in one of the ribbon cables backwards. Make sure that the one coming from the touchpad has the metal terminals facing down (the tab should be on top when connected), and the one connecting the motherboard to the led bar board should have the metal terminals facing towards the battery (the blue tab should be on the side opposite the battery). Another cause for this could also be a short, so if the above doesn't apply get out the multimeter and start checking connections. Trace the wires embedded in the plastic as long as you can and make sure that everything is connected.
'The pushbuttons aren't being pressed by the paddles'
To fix this, try and adjust the tightness of the screws that hold the paddles in place. After a little tweaking you should be able to find the sweet spot where the paddles work fine. If this doesn't work, check for any glue that might have locked the button in place, or perhaps even melted plastic from the button housing or controller shell that prevents the button from being pressed. The worst case scenario here is that you have to replace the buttons, which isn't really a big deal.
If you have any other problems, feel free to comment and I will try to get back to you. Best of luck!