One of Ben's most popular hacks recently was the PS360 controller, a SIXAXIS modded into an Xbox 360 controller's shell, crashing his site not once, but twice upon its release. This project resulted in a lot of requests to duplicate this mod, showing either a very universal disdain for the PS3 controller's decade-old shape, or some strange obsession with the Xbox 360's chubby, winged form. Unfortunately. Ben didn't have the time to meet all these requests (plus he charges an arm and a leg), so we asked him to show you How-To build your own PS360 controller. It's not terribly difficult, just takes some time, elbow grease and, of course, lots of hot glue. Let's get started!
Note: This is an intermission project, part 3 of the "How-to: Make an Xbox 360 laptop" will be returning next week.
Parts you'll need
- PS3 SIXAXIS controller - We're actually not familiar with the wired version, but we'd assume it'd work the same way, just no battery.
- Xbox 360 controller - For this example we're using a wireless one, which is handy because the PS3 battery can go in the 360's battery pack space. If you use the slightly cheaper wired controller you may have to bolt the PS3 battery on the back, but don't fret -- it's not very big and fairly thin. (Just pray it doesn't become a Sony firework.)
- Perfboard with pre-drilled copper plated holes - Any type will work, such as Radio Shack Catalog #: 276-148, #: 276-150 or #: 276-147.
- Thin wires - As usual I suggest solid strand thin UATA33 hard drive cable. This'll allow us to arrange things nicely inside the case. A few spots will requite slightly thicker (think floppy cable) wires.
- x(4) T-1 sized LEDs - These 3mm diameter LEDs will be used for the ring of light. Choose any color you'd like, for this project red was used. For Digi-key, search for "led round 3mm t-1", for Mouser the same but omit the word "round".
- x(2) 4.7k ohm resistors and (1) 10k ohm resistor - 1/4 watt is best (smaller), available at Radio Shack or online.
- Superglue - We always keep about 10 packs of this laying around. We suggest the liquid type, it's more predictable than the gel.
- x(11) 6mm tact switches - For the main buttons. Digi-Key part # EG2495-ND, Mouser part # 688-SKHHAQ
- x(2) 4.5mm tact switches - For the L1 and R1 shoulder buttons. Digi-Key part # CKN9018-ND, Mouser part # 688-SKHRAH
- x(4) size 3 screws, 1/2-inch long - For securing the case back together. You could use the existing security screws but they're a pain.
Tools you'll need
- Dremel tool with cutoff wheel - Almost essential for this job. We don't know how we went 6 years without one, though it might explain our slight insanity.
- Soldering iron and desoldering iron - The usual recommendations apply.
- X-Acto knife - Really quite indispensable, especially if you're a Terminator and need to pull out your fake eyeball.
- Hot Glue Gun - This will come in quite handy for a project like this. If it seems too low tech and your friends catch you using it, you can always refer to it as "thermal prototyping gel".
- Thin tipped magic markers - Very useful for, well, marking things. We have a whole tub of then on our workbench.
- Regular small Phillips screwdriver - To get into the SIXAXIS..
- Small Torx screwdriver - This gets us into the 360 controller.
Opening up the controllers
First we need to get these controllers open. We'll start with the slightly tricky one - the 360.
The 360 controller, unlike the console for whatever reason, uses tamper-resistant pin-in-Torx screws. Note how it's tamper resistant, not tamper proof (and really, what is?). There are a couple of ways to get in there: use a Dremel cutoff wheel to make a small notch in the end of a Torx screwdriver. This groove will go around the pin enough to let you unscrew it.
- Stick a small, thin flat-headed screwdriver in one side of the Torx head. This lets you get a grip on the screw and rotate it out with relative ease.
- There is a screw hidden inside the battery compartment under the sticker nearest the terminals.
Here's the disassembled 360 controller. We'll be using most of it except the circuit board and motors (natch).
We'll also need the shoulder buttons, which are soldered to the circuit board. Desolder the 3 spots on each button as shown above (upper arrows) and snap the buttons free by pulling on the tabs indicated by the lower arrows. Alright that's it, let's move on!
Gutting the SIXAXIS
The SIXAXIS uses standard Phillips screws and thus can be taken apart normally. (Maybe the lack of security screws lost them that Emmy?)
The only hangup is a notch between the analog sticks. We'll need to press in this spot to get the controller shell to pop open. Takes a decent bit of force, but it'll come free.
The first thing we'll see in there is the battery. It has a little plug which allows easy removal. Below this is a screw which, once removed, allows the PCB to pull free.
Unlike the 360, we're covering the guts of this controller in detail because that's what we'll be using in the final product. Here we see the button grid, shoulder buttons and analog sticks. The plastic grid terminates into a connector on the PCB, simply pull it out to detach. We'll come back to the actual pinout of this later.
Here's the next layer of the controller. (Note how it's quite complicated compared to the 360's.) The main thing to keep in mind here is the position of (what we'd assume to be) the tilt sensor. It is mounted at about 25 degrees of tilt as viewed from the rear (like above). When you place it in the 360 shell be sure it's in the same orientation! It's best to leave it in this plastic frame until you're ready to transfer it, mostly so you remember how to mount it.
Next we'll need to desolder both analog sticks, which can be a bit tricky in this RoHS world. This stands for "Restriction on harzardous substances", which means the controller has no lead in it. From our experience this makes desoldering through-hole components harder than it used to be because it seems harder to pull all of the solder out of the hole.
Here are some various ways to remove the analog sticks. Please note we are making all these technique names up as we go.
- Liquid solder method - Dump extra solder on the leads you wish to remove, then heat it all up with your desoldering iron or another higher wattage iron. (A 15 watt pencil iron won't work) This will liquify the solder in the though-holes and allow you to loosen the part on the other side. If you can get someone to help you with this you'll have an easier time of it.
- Standard desoldering - This can work, but be sure you have a brand-new flat, clean tip to get the best vacuum possible.
- "Heat and pry" - Heat up the three pins on each of the side potentiometers and pry them away from the main stick body with a thin screwdriver. They can actually pop loose, making it easier to remove them one by one. You can snap them back onto the stick body afterwards.
Here is the PCB with the analog sticks removed, along with one of the potentiometers. As mentioned above these snap onto the main stick easily, so don't worry if you need to remove them during the desoldering procress. You may notice they're actually smaller than the analog sticks on the 360, PS2 or original Xbox. They are closer in size to those in a Gamecube controller.
Yes, Ben is letting his torn-up thumbs heal. But only because he has a TV appearance forthcoming.
The right analog stick is going back into its original spo, but we desoldered it to add a spacer underneath. Find a bit of plastic or material that's around 1/16th-inch thick and superglue it to the bottom of the stick. What this does is lift the right analog stick a bit higher, so it has more range of motion when it's in the 360's analog stick hole. Figuring this out was the single biggest headache when we built the first PS360 controller, so now we've passed the solution onto you. Tip your bartenders.
The right analog stick, back in its original spot but now a bit higher with a spacer underneath.
The final thing we need to remove is the connector for the button grid, so we can solder directly to the board. The connector is surface mount, but we have a clever way of removing it.
- Stick your ever-useful X-Acto knife under each of the connector pins (be sure the tip is sharp so it can get in there) heat the pin slightly with your 15 watt iron then slide it out in the direction of the arrow. Repeat for all of them.
- With the pins all gone, heat the mounting pads on either end of the connector to pull it off the PCB.
The end result. You could actually rebuild the connector if you wanted, but there's no real reason to.
The PCB thus far. Note how the 360 analog knob fits perfectly -- no hacking required to get it on the PS3 stick.
Alright, we've got the main PCB all broken down, reworked and ready for the next step: putting it all in a 360 controller shell.
Mouting the left analog stick and shoulder buttons
Now that we have the right analog stick mounted we need to the left, which is a bit more customized.
- Take a piece of the perfboard and mark off an area that fits the analog stick mounting as shown above.
- Cut out the shape either with a Dremel or by making several deep grooves in the perfboard on each side with a knife and then snapping it free.
Using the Dremel cutoff wheel, shave down the walls around the analog stick mount so that they are flush with (the same height as) the walls around the D-pad mount.
The analog stick mount, cut down to be flush with the d-pad mount.
- Shave away any excess plastic in the analog mount, as we cleary haven't done yet in the photo above.
- Superglue a 4.5-inch tact switch to the top of the analog mount area and attach 2 wires. Attach one one the other side to the top of the triangle button wall as well. These will be the left and right bumper buttons.
- Place the bumper button portion of the case in and see how well it fits -- you may need to carve some plastic out inside the button to get a good solid "click" going.
How the case should look thus far.
The bumper button set in place over the tact switch. You can add a bit of material, or carve away inside the button to adjust the "feel"of the button as you like. Now let's mount the left analog stick.
Place the analog stick, with the 360's gray nob installed, into the analog stick mount chamber, as shown above. The 4 pin built-in tact switch (the L3 button) should be facing the left side of the controller.
- Place the piece of perfboard over this and push the leads through. Some of them might need a little tweaking to fit.
- Solder all 10 pins to the perfboard, then secure the board to the case as you see best fit. Naturally, we used a bit of hot glue around the edges. We'll cover how to wire this later on.
Place the PCB against the case to check the fit. Dremel down any posts that keep it from fitting flush as shown above. Post areas that may need trimming are the square button and the select and start buttons.
Wiring your own "Ring of Light"
The 360's Ring of Light is not only functional but also iconic -- great job, designers! That said, let's rework it to display the 4 LEDs from the PS3 controller.
First of all, use the Dremel cutoff tool to remove the bottom 1/8th-inch from the Ring of Light plastic from the Xbox 360 controller. We need to do this because the PS3 board is installing a little closer to the front than the 360's PCB.
- Next we'll need to cut grooves for the LEDs since we're using large, non-surface mount ones.
- Cut a "U" shaped groove into each opening on the plastic, along with a bit of a lip for the rim of the LED. When the LED fits flush into the hole (level with the back) it's good to go!
- Place this plastic in the Xbox 360 shell and mark off on the insides where the grooves are. Since the LEDss will be partially outside the circle (see below) we'll need to make grooves in the case plastic as well so they'll fit.
- The cutoff wheel will work for this, though it might chew out a few other things inside the case (not a big deal). We can also make these grooves with a sharp X-Acto knife since the plastic wall is fairly thin.
- Snip the leads off the lead at an angle, so one is still long than the other to indicate polartity. Long lead is positive, short is negative.
- Place the LEDss in the grooves, leads pointing outwards, and secure them with a bit of super glue. Once that's dry you may want to add a bit more or a thin layer of hot glue on top.
- The surface-mount LEDs on the PS3 controller are wired in a "common anode" configuration, which means they'll all connected to the same positive voltage and they are triggered by the negative side. When the negative "goes low" the circuit is complete and the LED lights up.
- Solder the (4) long positive LED leads together with thin bits of wire, and then attach a longer thin wire to this which will be going back to the controller.
- Solder (4) individual thin wires to each of the shorter negative leads. About three inches long will suffice for these and the positive wire.
- Secure the ring of light plastic in the shell however you'd like. We used a small bit of superglue -- enough to hold it, but not so much it won't break loose if we have to rework something.
- We'll cover wiring this to the PCB a little later on.
Ok we're making some progress! Time to rebuild the four main PS3 triggers. We'll make this as simple as possible, attaching things to the existing PCB when we can. No need to reinvent the wheel -- just hack it a bit, we always say.
Start by placing one 6mm tact switch onto the PCB as shown in the circle-button position.
Hold the PCB against the case and check to see that the switch is visible through the square button hole. It will probably need to be over to the right, but that's fine.
With the PCB against the case, place another piece of perfboard against the area where the other three buttons are. Trim away the excess edges along the left analog stick.
- Secure this perfboard to the edge of the main PCB, we suggest a bit of superglue to hold it initially, then some hot glue to further secure it.
- Install (3) more 6mm tact switches, lining them up with the x, circle and triangle button holes.
Wiring the buttons and making a D-pad
- Desolder the battery jack from the PCB.
- Using some normal thickness ribbon cable wire (such as from a floppy drive) solder an extension for the battery jack that's about 2-inches long. Be sure to check the polarity based off how the plug was originally mounted.
- Solder a few pieces of wire leads (perhaps those we snipped off the LEDs) to the exposed solder at the edge of the PCB, which is ground. Solder this to the attached perfboard as shown above to provide a little more stability to the hack.
Alright let's wire up these buttons. For your reference he's the pinout of the original button grid. It's easy to follow the traces but we've labeled it to make things even easier. Print out the large version for a "bigger than life" cheat sheet for the button rewiring.
Note how there are two spots on the grid that function basically as 4.7k resistors and are placed between some connections - we'll rewire these into our controller as well. You can also use a multimeter to test the connections between button pads and the connector end, to ensure you're wiring things correctly.
A note on wiring tact switches
By using a multimeter we can find the value of the "resistors" built into the plastic button grid. We'll save you the trouble, they're both 4.7k. The original Nintendo 8-bit controller used this "carbon trace" resistor things as pull-up resistors.
General tips on how the d-pad and buttons are wired:
- The D-pad and L1 / L2 all share a common ground, labeled "Common L" (for left) above.
- The PS button has two connections all to itself, though one connects to "Common L" through a 4.7k resistor.
- Select and reset buttons share a common ground "Common M" (for middle).
- The four main triggers, R1 / R2 share a common ground, "Common R" (for, you guessed it, right).
- There is a connection that goes to a 4.7k resistor and then to Common M.
Tact switches usually have four leads on them, though the upper and lower two pins are actually connected together.
The above diagram shows the ways in which you can connect a tact switch and how not to. You can, however, use the upper and lower connected pins as a common ground connection or a pass-through, as we'll show next.
- Place four tact switches on the lower left side of the PCB to make the D-pad. The centers of each switch should be about one inch apart from each other, but you can check this against the case and rig it as best suits you.
- Note how the connected pins of the tact switches are used to create a "loop" for the "Common L" ground. This lets us use fewer and smaller wires, allowing a more compact design.
- Place two tact switches for the PS and start buttons, as shown. One goes just above the motion sensor plug, the other in the middle of the RF box.
- Here is the D-pad wired, along with the home button. Note the resistor that has been placed between Common L and the Home 1 connection.
- Be sure to use a low wattage soldering iron when making the small connections to the PCB. Pre-tin the wires so all you need to do is place it on the spot and heat it a little to make the connection.
Using a sharp X-Acto knife, shave off the lower sides of the PS3 buttons. The tops of the buttons will fit through the holes on the 360 controller but the PS3 buttons, unlike the 360 buttons, flare out a bit on the sides and thus need to be modifed to be flush in the button shafts.
- Place the modified button into the hole, it should stick out the front of the case about 1/8th of an inch.
- Cut grooves along the side of the button holder walls, down to the level of the button.
- Place a bit of wire, paperclip or even a toothpick across the button and through the grooves you cut. and dab of bit of hot glue on top to secure it to the inside of the button. This ensures it won't rotate in the slot.
- Once again, place the PCB against the controller to see how it fits and if the buttons can "click" yet.
- We may need to put little spaces on top of the wires inside the buttons so they can reach the tact switches. We used 1/16th-inch thick plastic circles we had laying around, but anything semi-solid that fits is fine.
- Try a bit of foam insulation under the buttons to give them a softer feel when pressed.
- Using the Dremel, shave off the ridges on the bottom of the plastic d-pad, as shown above. With the ridges it's too thick, but with the base flattened it should be just the right height to press against the four tact switches and function properly.
Let's mount the world-famous "heart of the SIXAXIS" into the 360 shell...
The sensor as originally mounted in the button grid frame.
Remove the sensor from the PS3 controller frame, shown here from behind (facing the player) Note how it is slightly tilted up on the right hand side.
Place the sensor in the middle of the 360 controller shell. There should be room for it under the Ring of Light and between the analog stick and D-pad. Note how it's been skillfully hot-glued into place at clearly the exact same angle. Oh yeah, we used laser sights and everything for this bad boy.
Reworking and installing the battery
Alright we're getting close. Time to hack up the battery, because in stock form it won't fit. Again, if you're using a wired 360 controller you'll probably just want to mount the battery as-in on the back of the unit. But if you're gutting a wireless 360 controller with its juicy AA battery spot, read on!
- Using an X-Acto knife, slice along the groove down one side of the battery. Repeat for the other side.
- Pull the gray casing off to reveal the silver battery and circuit board inside. Be careful not to bend the tabs between the batter and the board any more than you need to.
- Fire up the Dremel and cut open the middle of the rear half of the 360 controller shell. We need to make a big access gap to mount the battery.
- While we're at it we need to grind down the posts shown by the top two arrows above, and the post and plastic ridges indicated by the lower arrows.
The controller with the battery area gutted.
- Cut off the back (inside) of the AA battery holder, then insert it into the controller. Since it's never coming off again we can hot glue it in place.
- Place the shoulder button assemblies into the rear half of the controller and secure them in three places each with hot glue. Near the side posts (that they slide onto), the other side of this and near the arrows shown above are good places to secure them.
- Also near the arrows are bits of plastic ridges on the inside of the case that you may need to Dremel down (now Dremel is a verb apparently) for everything to fit. Again, it's best to try and fit everything in and see what needs to be shaved off along the way, so experiment.
Slap the battery in the newly-formed compartment at a 45-degree angle and secure it with -- you guessed it -- hot glue! At this point we're very close to having this controller done and ready to play any of the six PS3 games currently on the market! Let's finish up, shall we?
Wiring the analog shoulder buttons and finishing up the case.
As yet we haven't wired the PCB to the front of the case. That is, until now!
The original PS3 LEDs, which we are going to destroy.
- Dump a bit bunch of solder on the four surface-mount LEDs of the PCB which are shown above in close-up.
- Heat up the solder on each LED, then push it off the board using the iron. For best results push off the edge of the board (not down) or you might risk desoldering something you don't want to.
- Connect the common positive of the ring of light to the common positive indicated above. Ditto for the individual grounds, which have been labeled as "discrete negatives" above.
- Press the PCB against the front of the case, "packing" wires down to fit as you go. Assuming you used thin wire, there should be enough room for the LED wires in the chasms between the left analog stick and the ring of light.
The left analog stick wiring, as views from the rear (inside controller).
- Using thin wires, solder the left analog stick to the back of the PCB, using the diagram shown above. The center wires are the signals, the outer wires are positive and negative voltage.
- Solder bits of wire between the leads on the analog stick as indicated by black lines. This allows us to double up the positive and negative connections to each potentiometer and use less wires.
- Be sure to wire the tact switch (L3) as indicated to the upper two pins on the SIXAXIS PCB.
Here's the front of the controller with everything wired up. Be sure to connect the L1 and R1 buttons to their respective common grounds as indicated in the button wiring section.
Now let's wire up the analog triggers, L2 and R2 in PlayStation-speak...
- Note: The 360 analog shoulder buttons are a bit different than the PS3's, mostly because they're actually mechanical and not just based off squashing a silicon dome. They use a potentiometer (variable resistor, like a volume control on a Walkman if you remember those) to determine how far the trigger is pulled.
- R2 is easy, simply connect the R2 wire off the PCB to the upper pin of the right potentiometer, and a wire coming from the "Common R" connection to the middle.
- L2 is a bit different because of the way the 360 shoulder buttons are mirrored. It's wired the same way as R2, except you need to put a 10k ohm resistor between the top and middle pins. Not a big deal.
Both halves of the case, ready to rock.
- Use 1/2-inch long size 3 screws to secure the case together. Be sure no wires get trapped between the screw posts or it obviously won't fit.
- If the case doesn't quite fit back together check inside and see if there's a bit of plastic blocking a part inside.
- The top 2 screw holes will be unusable because the PS3 PCB will be in the way. However if you get everything inside packed well the controller will secure together well enough with the other 4 screws.
- Find or print a PlayStation logo to use for the "home" button. Since it's a trademarked logo we probably can't provide this for you but there's always Google Images, right? You could also use the original "X" guide button, or hack the top off and stick a PS3 logo there.
You now have the information you need to roll your own PS360 controller, either for yourself or a friend who doesn't know which end of the soldering iron to hold. Enjoy, and let's hope when Sony throws the rumble back in they take a few minutes to design a new controller around it as well.