Introduction: Understand Controller Stick Drift and a Mod to Get Rid of It Forever! (overkill)
In this short but somehow very wordy instructable I will hopefully be able to explain why stick drift happens and an alternative solution to fixing it by using an overkill mod! Lets get started!
Before I dive into the details I would like to reiterate that this mod was mainly to prove an idea and while it works as intended it is complete overkill since replacing the drifting stick or parts of it usually remedies the issue. This was a fun project and I felt like sharing the results as it could be improved upon in the future! Stick drift happens as the resistance of the analog sticks potentiometers change over time or in some cases right out of the factory. The resistance can change due to use, break down of the material inside the potentiometer or just by being unbalanced. This mod uses external pots that are wired in parallel with the stick pots wipers that allows for the overall resistance to be calibrated by using the magic of parallel resistance for a perfect stick. This mod focuses mainly on unbalanced pots and change overtime, it can work on pots that are breaking down but I would advise that those just be replaced as it'll only get worse from there.
Step 1: Check Out the YouTube Video! I Cover Everything in This Insturctable Plus Show Videos of the Mod Working.
Step 2: The Schematic Explained.
This is where it gets a bit wordy. So buckle up!
If you look at the schematic provided you will see 8 potentiometers. The value of the pots I'm using are 50k but other values higher than 5k should work. That's 8 per controller. 4 per stick and 2 per controller potentiometer. Two potentiometers are needed to calibrate one potentiometer on the joy stick. The wiring for them is pretty straight forward. Two pots have their wipers wired together and from there that junction will connect to one wiper for one pot on one analog stick. One of the outputs for one the pots that are tied together by the wiper is going to the analog stick positive side and the other pots output is going to ground. This wiring allows us to run a potentiometer acting as a variable resistor in parallel with the wiper to high and in parallel from the wiper to ground. For those wondering I did experiment with one pot per controller axis pot and the controller acted really weird so unfortunately 2 pots are needed for 1 pot on the controller and if you're looking to calibrate both sticks that would be 8 total.
But what does that mean?
That means we can adjust the overall resistance of the pot on the controller from wiper to high and low by using the new parallel resistance created from the pots we added. This makes more sense if you have an understanding of how resistors behave when wired in parallel.
Why is that important?
In order to understand why that's important we need to understand what causes stick drift but before that we need to understand the workings of an analog stick in very simple terms. I cover this in my YouTube video but I will try my best to explain it in written form. An analog stick uses two potentiometers per stick to relay how the stick is being moved. A potentiometer is basically a resistor with a 3rd pin, that third pin is called the "wiper" and it moves along the path of the resistor. The wipers value changes depending on where it moves along that path. The controller uses this to create a changing voltage by moving that wiper closer to ground or closer to a positive voltage. On a perfect potentiometer you will see a resistance of 10k across both outer pins and when the stick isn't being moved you would expect a resistance of 5k from the wiper to both outputs. Even with OEM brand new sticks this resistance isn't always promised but in my experience close enough is good enough.
Are we there yet?
Almost! I swear! So now that we know the ideal resistance values of a good stick we can understand drift and how this mod accounts for it. In my video I measure a bad analog sticks potentiometer that has an overall resistance of 9.5k and from the wiper to one output we read a resistance value of 5.5k and from the wiper to the other output we see a reading of 5.3k. This difference in resistance is what causes stick drift. This can be a result of a bad pot, a stick that doesn't bounce back, breaking material or change over time. The reason why this causes drift is because the wiper of the pot is closer to one output pin rather than being centered and it makes your controller think the stick is being moved. This mod allows for that difference to be adjusted to a perfect balance by turning the pots and creating a balanced resistance from the wiper to high and the wiper to low. With the use of a game controller tester app we can easily see how adjusting the added pots affects the analog sticks drift. This part is best covered in the video, not so much in written form. I hope I explained this well! If not feel free to ask any questions
Step 3: Installing the Mod Board.
Installing the board to the controller is pretty straight forward if you reference the schematic. I used surface mount pots for the board I installed simply because the overall foot print is smaller and requires no modification to install where as if you used bigger through hole pots you may have to get creative with where you place the board. But it is possible! I did design a board for this that could be sold as a kit which would make an install a breeze but I'm not sure if that is worth the effort yet.
Thanks for checking out this mod and I hope I made sense! Again this mod is complete overkill and is just used to prove a point in hopes that future controller manufacturers can incorporate pots in their new controllers so you can recalibrate if needed by simply twisting a pot.