Tuesday, December 10, 2013

Xbox One Padhack & Joystick Building Tutorial


I want to preface this post by saying that this is a work in progress and that more info such as tools you will need, picture examples, links and details regarding wiring up the triggers will be added in the very near future.

Warning!! I will take no responsibility for what you choose to do with your controller and what your outcome may be. Many people will probably ruin solder points, cut traces, short out boards and this and any unforeseen damage or loss of property is solely the responsibility of the owner. I will not be held accountable for anything I say on this page explicitly or implicitly telling you how to perform this modification to your Xbox One Controller. If you understand the risks involved (including, but not limited to, ruining your controller or other property, personal injury or anything stemming from this activity) and take sole responsibility for your actions, you may continue to read. Otherwise stop here and click THIS LINK where you can buy your own Xbox One Joystick.

Before we dive into this I want to try to provide you with a general list of tools and items you will need for taking apart your Xbox One controller, soldering wires to the necessary signals and hooking it up to use in your joystick. So here we go:

-T8 Security Torx Bit
-T6 Torx Bit (it is possible to use a very small flathead screwdriver to remove the smaller Torx screws)
-Soldering Iron
-Solder
-Soldering Flux (recommended but not necessary)
-Razor Blade/Utility Knife/Exacto Knife (anything to scrape the black carbon film off of the copper contacts on the PCB)
-Insulated Wire (I prefer 26-28 gauge stranded wire)
-Wire Strippers (you can improvise here but if you have all the other things I would imagine you'd have THESE)
-Micro-USB Cable
-Electrical Tape or Heat Shrink Tubing (primarily to cover the resistors if you plan on doing the triggers)
-1/4 Watt 100 ohm Resistors (only if you are going to wire up the Left and Right Triggers)
-.110 Female Quick Connects (this is the size connector for your 30mm Japanese arcade buttons and you MIGHT need some larger ones depending on the type of Stick you are using. You may be able to just use the ones in your current stick.)
-Hot Glue Gun (HIGHLY recommended to stabilize your solder points and keep them from breaking)
-Multimeter (HIGHLY recommended for troubleshooting should you run into problems along the way. If something isn't working out for you and you ask me for help and you DON'T have a multimeter I will just shake my head and laugh at you. Get one! They are generally less than $10-$15 at Radio Shack. Mainly we will need to test for continuity and occasionally read voltages around 5v or less)

Just having the right tools is not necessarily enough though. You also need to have a basic understanding of how circuits work on a very simple level (open circuit vs closed circuit; continuity; etc.), experience soldering (check youtube and the internet for tutorials AND practice! Practice, Practice, Practice on some old circuit boards out of anything that is junk laying around the house. Old TV remotes, old game controllers, etc. If you don't know how to solder be prepared to ruin a few PCB's) and I STRONGLY urge you to read as much as possible about joysticks, buttons, PCB's, etc. on SlagCoin.com as it all pertains directly to everything I will discuss from here on out.

I. PCB Extraction

Follow the directions as provided in this embedded YouTube video. Once the PCB has been removed, peel away the clear, circular film covering the contact points for the D-pad. Also, be sure that you desoldered (or cut, very close) the wires from the rumble motors and trigger feedback.


II. Prepping the PCB

After peeling away the plastic covering the d-pad and desoldering the wires connecting the rumble motors and the haptic feedback from the triggers it is time to prepare our solder points.

(Much thanks to the fellow users of the "Tech Talk" forums on shoryuken.com for the XB1 PCB pics with labeled contact points)

Using a razor blade, GENTLY scrape away the black, carbon film revealing the copper pad beneath as shown in the picture above for the following signals: Up, Down, Left, Right, Back (or whatever they are calling it now), Xbox Home, Start (now known as menu), A, X, Y. Use the same method to prepare the solder point for the B button's signal which is found on the second PCB and is shown in the picture below.

Note: You should only be scraping an area about the size of the red dot (not the red line) showing each signal point in the picture and make sure you get these AS CLEAN AS POSSIBLE.


III. Tinning the Solder Pads

I don't want to discuss in detail how to solder.  There are likely thousands of videos and tutorials out there for that. Instead we will be discussing the best method to solder to this specific PCB. Start by applying flux to the copper pads that you have now scraped clean in part II of this post. Go ahead and tin each spot that you scraped and applied flux to as well as the signal points for LB, RB and a Ground signal (all shown in the picture below). I will get to the triggers last and you will need to tin those spots as well.


IV. Connecting Wires to the PCB

Note: As you are soldering your wires to the PCB, stop occasionally to plug your PCB into a PC or your Xbox One and test the connection that you just made. If you touch the quick connect or exposed wire at the end of your wire soldered to a signal to a wire soldered to GND it should cause the same effect as if you had pressed that button on a brand new out of the box Xbox One controller. If one of your signals does not work back track and probe around with a multimeter and try to find out where the problem lies.

Go ahead and strip and tin both sides of a length of wire for each point you need to solder to (add 4 more lengths of wire if you plan to also hook up both Triggers). I may be getting ahead of myself here a little bit but if you are going to be using this PCB as the only PCB in your joystick set-up and aren't running the wires to a barrier strip but instead are hooking up the PCB directly to the buttons and joystick switches go ahead and crimp or solder a .110 Female Quick Connect onto the end of the wire that will be connecting to A, B, X, Y, LB, RB, Start/Menu, Guide/Home and Back. Once you have stripped and tinned the other end go ahead and solder the tinned wire to the spots on the PCB that you have tinned for the corresponding button. If you are turning an existing joystick into a stick SOLELY for Xbox One you can solder the wires connected to the current buttons to their respective spot on the Xbox One PCB.

 Regarding the joystick and directional signals: you will probably solder the wires from the joystick harness directly to the PCB if your stick has PCB mounted microswitches and a 5 wire harness you can strip, tin and solder the wires for Up, Down, Left and Right directly to their corresponding spots on the PCB and the GND wire from the joystick harness can connect to any GND signal on the Xbox One PCB, preferably the one next to the LB Signal. You will probably want to solder an additional GND wire to the GND signal aside from the one in the 5 pin harness from the joystick. This other GND wire will serve as the ground for each and every button in your joystick (more on that in a bit).

 If your joystick doesn't have a wire harness and instead has individual, standalone microswitches you will need to prepare a length of wire with the appropriate size Quick Connect on one end and the other end stripped and tinned. Likewise, go ahead and Solder 1 wire from each microswitch to its appropriate signal on the PCB.

(This is my personal Xbox One padhacked joystick before I cleaned up and organized the wiring. You can see where I have 1 wire connected to each signal on the PCB and it connects to the appropriate push-button. The wires for Up, Down, Left and Right are from the 5 Pin Wiring Harness that plugs directly into the Seimitsu joystick. Note do not use my wire harness colors as a key for yours, they are different for every harness and for every direction your joystick could be mounted.)


V. So What About the Ground Wires??

This is a common ground PCB. That means that every single function on here shares 1 common ground signal. Even better for you because this means that you can solder just 1 or 2 wires to the PCB for the GND (shown in the picture above section IV and right next to the LB signal). If your joystick has a 5 wire harness the GND wire from that will be 1 of the 2 wires to be soldered to the GND signal on the PCB. Once that's done, your up, down, left and right directions should be fully functional. The other wire soldered to the GND signal will be used to form a "Daisy Chain". This is done by running that ground wire to the terminal/node on one of your buttons and from there to the next button and the next button and the next and so on and so on until each button has a GND connected to one of its quick connects and the appropriate signal to the other. This daisy chain can either be soldered directly to one of the two legs of each button or you can make a series of .110 quick disconnects with 2 wires running into the quick connect (one going to the button before it and one to the button after it). Check out this simple diagram courtesy of slagcoin.com below...


(This is from my personal collection and this is a daisy chain Ground wire. The wire that runs off the right side of the picture would either connect directly to the GND point on the Xbox One PCB or connect to the Ground wire on your 5 wire harness that plugs into the actual joystick (like the lever part) and then to the GND on the PCB or if your joystick doesn't have pcb mounted micro-switches the daisy chain would connect to each microswitch for each direction and then to the GND point on the PCB.)


VI. If You Are Hooking Up Triggers....

For hooking up the Left and Right triggers you will need two 1/4 watt 100 ohm resistors. They are very cheap and can be purchased from Radio Shack and most other electronic type hobby stores.  Prepare your wire with a quick connect to hook up to the designated button  but solder the other end of the wire to one of the metals legs coming off of the resistor you purchased. Solder another wire to the other leg of the resistor and secure the resistor in electrical tape or heat shrink tubing. Connect the other end of the wire to the backside of the smaller PCB from the Xbox One controller to the spot marked in the picture below (1 wire per signal. each wire must have a 100 ohm resistor in line).


(This picture is just showing how the wire that solders to the little tiny points for the Left and Right Triggers would look. The wire terminates in a .110 female quick connect plugged into a button then is soldered to one side of your 100 ohm resistor, another wire is soldered to the other side of the 100 ohm resistor and as the wire disappears from the bottom-left portion of this picture it would be soldered to the LT or RT point shown in the picture just above this one showing the "Bottom Board Underside")

(If there is any doubt regarding the resistor you need, this is the actual packaging for the product from Radio Shack. They run about $1.50 for a pack of 5. BUY A MULTIMETER WHILE YOU ARE THERE!!)

VII. Interfacing with the Console & Preparing for Daily Use

Once every button has a ground wire hooked up to one of its two connectors and the correct signal for the other connector and the 5 pin wire harness from the joystick lever has been connected to Up, Down, Left, Right and Ground (per the respective wire) you can plug your Micro USB cable into the top of the Xbox One PCB and hook it up to your console and test everything out.  Be sure to properly mount and secure your PCB in your joystick enclosure. I recommend using small ceramic stand-off's to mount the PCB and you may want to put a zip tie or two around both circuit boards to help insure they stay together.  Using a hot glue gun to encapsulate your solder point and secure the wires to the PCB will help keep your solder points from breaking or possibly tearing off an entire copper pad.

VIII. Final Notes (for now)

For accessories and parts for your joystick (USB pass through ports, PCB feet (aka stand offs), Quick Connects, Wire Harnesses, Sticks, Buttons, etc.) I personally recommend and use FocusAttack.com 

The procedure I've covered above is for wiring up a joystick to work for an Xbox One console alone and by itself. If you have PCB's for more than just the Xbox One console hooked up in your stick you will need to dig a little bit deeper and research "Dual Modding". If you are making a dual modded stick (in our case it could be also for PC, PS3, PS4, Xbox 360) NEVER hook up your stick to more than 1 console or use more than 1 cable at a time. I hope to cover this process in the very, near future but to get you started you would need to make sure both PCB's are common ground PCB's. Next all signals for all buttons and directions must be connected from one board to the equivalent of that same button on the second PCB before running to the physical Push Buttons or Joystick switches. Along with those signals, the VCC (power. assuming they are both 5v boards) from each board need to be connected and the GND from each board need to be connected (you only need one shared GND connection between boards). Now, how you handle the switching of the D+ and D- wires of the USB cords is up to you. You could just have separate cables coming out of your joystick (1 for each console) which I think looks sloppy as hell, OR you could mount a physical DPDT (dual pole dual throw) switch on the outside of your arcade stick to switch between consoles OR my preference would be to purchase an IMP or IMP v.2 from Marcus "Toodles" Post at godlikecontrols.com

Foe Hammer Joystick Case, 8x Seimitsu 30mm Buttons, 3x Seimitsu 24mm Buttons, Seimitsu LS-32-01 Joystick, Xbox One PCB, Micro-USB Cable, Neutrik USB Passthrough