
Lately, Hall-sensor joysticks have been getting a lot of hype as controllers that don’t drift.
It feels like they really started getting attention around the time of the Joy-Con class-action lawsuit in the US.
I’ve been suffering from Joy-Con drift on my Switch too.
So why do regular joysticks drift in the first place?
You sometimes see the take that it’s just a design flaw, but is it really unavoidable?
And do Hall-sensor joysticks really not drift?
So this time I tried writing about why joysticks drift, with some simulations along the way.
I go one step deeper than the explanation you often hear — that drift is caused by joystick wear.
After reading this, I think you’ll understand the principle behind how joystick drift happens.
How a Regular Joystick Works
To understand the principle behind drift, let’s start by thinking about how a regular joystick works.
A regular joystick is a potentiometer-type joystick — that is, it uses a variable resistor.

In other words, a joystick is a variable resistor whose internal resistance changes depending on how far you tilt the stick.

Try grabbing the joystick in the simulation below and moving it around.
When you tilt the joystick, the red dot moves along the resistive film, and the resistances R1 and R2 change.
The output voltage changes accordingly.
By reading this output voltage with something like the ADC (analog-to-digital conversion) port of a microcontroller, the game recognizes how far the joystick is tilted.
What Causes Drift
The cause of drift that usually gets cited is joystick wear.
That's correct, but what exactly do we mean by wear?
What wears out, and why does that result in drift?
What Is Wearing Out
First, to find out what's wearing out, let's take a joystick apart.
Here's a photo of a joystick partially disassembled.

The slightly recessed part on the right component is the resistive film.
And the red dot that was moving left and right in the simulation earlier is the metal part in the middle (the wiper).
When you tilt the joystick, this wiper slides across the resistive film while staying in contact with it, and the output voltage changes.
So the wear you often hear about is the wear that happens as this wiper moves across the resistive film.
As the wiper travels across the film thousands or tens of thousands of times, both the film and the wiper gradually wear down.
What Happens as a Result of Wear
Wear can lead to the following:
- The resistive film gets scraped away, so the resistance in that area increases.
- The contact between the film and the wiper becomes unstable, so the contact resistance rises and fluctuates.
Let me go through them one at a time.
The resistive film gets scraped away, so the resistance in that area increases
The first is that the resistive film wears away, and the resistance in that area rises.
Since a resistive film's resistance gets higher the thinner it is1, the worn, thinned-out area ends up with higher resistance than the rest.
Let's see how this leads to drift with a simulation.
For the healthy joystick from before, at the neutral position R1 = R2 = 5 kΩ — perfectly symmetric — and the output voltage was exactly half of the maximum (5 V here), 2.5 V.
On the other hand, a joystick where part of the film has worn away and gained resistance is no longer symmetric.
Simulating how it behaves then looks like the one below ↓.
The lighter-colored area of the resistive film is where the resistance has risen.
Because of the higher-resistance area, the left–right balance is thrown off, so even at the neutral position the output voltage is shifted away from the center.
As a result, the game mistakenly thinks the stick is tilted.
This is how drift happens.
The contact between the film and the wiper becomes unstable, so the contact resistance rises and fluctuates
The second is that the contact between the wiper and the film itself becomes unstable.
Roughness on the worn surface, plus fatigue and wear of the wiper, make the contact resistance between the wiper and the film rise and fluctuate.
The fluctuation part is easy to grasp, since it shows up directly as fluctuation in the joystick's value.
As for how the rising contact resistance turns into drift, the key is understanding how the microcontroller reads the joystick's output voltage.
The output voltage is read by the microcontroller's ADC port.
Inside the ADC port there's a tiny capacitor, and by measuring the amount of charge taken into that capacitor, it reads what voltage the signal is.
But the microcontroller has other jobs to do, so the time it can spend taking in charge is often very short.
If the joystick's contact resistance is high, the capacitor can't charge up to the true voltage within that short sampling time, and the reading comes out shifted.
This is the mechanism by which rising contact resistance causes drift.
I've put together a simulation where you can play with the contact resistance and the ADC's sampling time (the charge-capture time), so give it a try.
You can see that when the contact resistance is high or the sampling time is short, it becomes harder for the stick to reach the very edge.2
Incidentally, in the US Joy-Con class-action lawsuit too, the plaintiffs disassembled Joy-Cons, examined the wear under an electron microscope, and argued that the wear had changed the internal electrical resistance.
And in reality, on top of these two, things like the fatigue of the internal spring progress at the same time.
This wear and fatigue can't be undone, so once it gets to this point, the only option is to replace the joystick.
But replacing it is fairly difficult, so usually you end up replacing the whole controller or sending it in for manufacturer repair.
With wireless controllers there's also the issue of Japan's radio certification (Giteki), which makes repairing one yourself a gray area…
What a waste.
How Long Until Drift Shows Up
Now, let's also think about how long it takes for drift to appear.
As one rough guide, the joystick's rated lifespan is listed in the manufacturer's datasheet.
For example, when it comes to joysticks Alps Alpine is the big name, and the Alps Alpine joystick (RKJXV122400R) has a rated life of 2 million cycles.
https://tech.alpsalpine.com/j/products/detail/RKJXV122400R/
That said, the criterion for this lifespan is "total resistance change within 20%," so the actual drift symptoms might start showing up much earlier.
Then again, I think these figures are usually set with some margin, so it's also possible a stick is perfectly fine even at 2 million cycles.

Also, if the film wears evenly left-to-right or up-and-down, the first type of drift I described theoretically won't occur.
After all, it's the asymmetry in the film's resistance that causes drift.
So if you mainly play games that push the stick evenly up/down and left/right, you might be surprisingly drift-free.
What games push the joystick evenly up/down and left/right, I wonder?
Shoot-'em-ups are maybe relatively even?
Conversely, side-scrolling action games or 3D action games are ones to watch out for.
If you play side-scrollers, the right side probably wears down more, so it'll drift to the left; and for 3D action games, I'd expect the top to wear more, drifting downward.
How about your controller?
What games do you play a lot, and is it drifting or not?
If it is, which direction?
If you feel like it, let me know in the comments.
Do Hall-Sensor Joysticks Really Not Drift?
So, unfortunately, it seems that with regular joysticks, drift is basically unavoidable.
The developers of the Nintendo Switch also say that wear is unavoidable.
https://www.nintendo.com/jp/interview/switch-oled/04.html
So what about the Hall-sensor joysticks you hear so much about these days?
This article is getting long, so I'll keep the explanation of how they work brief.
A Hall-sensor joystick uses a component called a Hall sensor instead of a resistive film.
With a resistive film, the voltage changed based on the wiper's position, but with a Hall-sensor type, the voltage changes based on the distance from the Hall sensor to a magnet.
The important point here is that the magnet and the Hall sensor never touch.
Since there's zero contact, there are no parts to wear away.
Naturally, wear-induced drift doesn't happen.
This is why people say "Hall-sensor joysticks don't drift."
However, it's worth noting that this doesn't mean drift can absolutely never happen.
What a Hall sensor prevents is the drift that came from the resistive film or wiper wearing out.
But drift can also come from mechanical causes.
Things like the stick's spring going slack, the plastic wearing down so the neutral position shifts, or shaved-off plastic and debris getting caught.
That kind of drift, unfortunately, can't be prevented.
I bet a lot of people had their Nintendo 64 controllers go all loose in the spring from cranking the stick too hard, or had the plastic get worn to bits.
The N64's stick is an optical type rather than a potentiometer type, but the point is that kind of thing can happen regardless of the type.
Even so, since it eliminates a big chunk of the root cause of drift, I think it's fair to say Hall-sensor types are far less prone to drift.
Hall-Sensor Controllers
If they're that good, you might think everything should just use Hall-sensor types.
But Hall-sensor types tend to be more expensive and tend to make the design more complex.
When it comes to Hall-sensor joysticks, there's the Sega Saturn Multi Controller (nicknamed "Marucon" in Japan), and its joystick is built like this.

A magnet is attached on the joystick side, and a detection circuit using Hall elements, amplifiers, and so on is placed on the board side — a fairly involved design.
Partly thanks to this, the Saturn 3D Control Pad boasts incredible durability despite being a roughly 30-year-old controller.
I've been using a Saturn 3D Control Pad USB Extension Unit to connect it to my PC and Switch, and it still works smoothly without any sense of joystick degradation at all.
Some of that is probably mechanical sturdiness, but this is genuinely impressive.

Wrapping up
This time I walked through the mechanism behind how controller drift happens.
I hope you now see that drift is unavoidable with potentiometer-type joysticks.
In reality there's also calibration and so on involved, so it's actually a bit more complex than this.
I didn't cover them this time, but there are also types of drift caused by debris getting in and jamming things, or by the spring going slack so the stick won't return to neutral.
The reasons for those are obvious, so I left them out.
Incidentally, on my own Switch Pro Controller, the joystick started catching on the shell, so it stopped returning to neutral properly.
On top of that, since it's being judged as not tilting all the way to the edge, I can't calibrate it with the Switch's built-in calibration tool, which is a pain.
Hmm.
I wrote about Hall-sensor joysticks pretty briefly here, but I think I'll write a separate article explaining them sometime. Probably.
Sit tight and wait for it.
That's it for this time.
Thanks for reading.
- The resistance R of a resistive film can be written as:
R = ρ L / (w t)
The thickness t is in the denominator, so as the film is worn away and gets thinner, its resistance rises.
(L is the length from the end of the film to the contact point with the wiper, w is the width of the film, and ρ is the resistivity — a material-dependent constant.)
↩︎ - In reality, things like whether a single ADC is shared across multiple axes change how resistant it is and which direction becomes harder to push all the way to the edge. ↩︎
An expansion unit that adds a USB Type-C port to the Saturn 3D Control Pad
The step-up model — the USB Expansion Unit with an added right stick
A display stand that frames the pad as the moon floating in a starry sky.
The USB Expansion Unit supports button remapping and works with Switch and XInput, so it fits all kinds of environments.
The items are sold on BOOTH, so you can order them from outside Japan too, through its forwarding services (Buyee / tenso.com).

Comments