How we measure drift
By Manuel Benitez · Updated 24 August 2026 · Contact
This page publishes the exact thresholds padvitals uses to decide whether a stick is healthy, worn or out of specification. If a result does not look right to you, the reasoning is here.
The short answer
A healthy stick drifts less than 2 % of its travel when you let go. Between 2 % and 3 % there is wear starting, but it will not bother you in game yet. Above 3 % it is out of specification: that is the point where the drift shows up as movement you did not ask for.
What is measured
padvitals measures four separate things. The first two decide the verdict; the other two tell you whether the measurement can be trusted.
1. Resting centre deviation
Samples are taken for ten seconds with the sticks released, and the mean position is calculated. The distance from that mean to the true centre is the deviation, expressed as a fraction of the stick's total travel.
| Deviation | Verdict | What it means |
|---|---|---|
| Up to 2 % | Healthy | Within normal manufacturing tolerance |
| 2 % – 3 % | Watch it | Wear has started. Repeat the test in a few months |
| Above 3 % | Out of range | Classic worn-sensor pattern. Noticeable in game |
2. Signal noise
This is the spread of the samples around that mean: how much the reading trembles when the stick should be still. A stick can be well centred and still produce a dirty signal, which in game feels like micro-movements.
| Noise | Verdict |
|---|---|
| Up to 0.5 % | Healthy |
| 0.5 % – 1.5 % | Watch it |
| Above 1.5 % | Out of range |
3. Circularity error
When you roll the stick along its outer edge, a healthy mechanism draws a regular circle. A worn one shows notches and flat spots. The rotation is split into 48 sectors of 7.5°, the maximum radius reached in each one is stored, and the root-mean-square deviation from the ideal circle is calculated.
| Error | Verdict | What it means |
|---|---|---|
| Up to 5 % | Healthy | Regular edge all the way round |
| 5 % – 10 % | Watch it | Moderate irregularity: gate or return spring giving way |
| Above 10 % | Out of range | There are directions where the stick does not reach where it should |
This metric is deliberately the same one used by dualshock-tools, with the same sector count and the same formula, so that values are directly comparable between both tools. There is an automated test in the project that reimplements their function and verifies the numbers match to within 1e-9.
4. Coverage and reach
The circularity test is not accepted as valid until at least 90 % of the sectors have been covered. Without that, the result would be calculated over a fragment of the circle and would mean nothing.
Reach is reported separately: how far the stick actually goes. A stick with a perfectly regular edge that only reaches 72 % of its travel has a different problem — one of range, not of shape — which is why the two figures are kept apart.
Why those cut-offs
The 3 % resting cut-off comes from where it starts to be perceptible: below that, the dead zone games apply themselves absorbs the deviation; above it, the drift escapes that dead zone and the character or aim moves on its own.
The circularity cut-offs are our own calibration. The reference tool publishes the number but gives no verdict, so the thresholds in that table are set by padvitals, not by them.
What can distort a result
- System dead zone. If the driver or the browser applies its own dead zone, every sample arrives as exactly zero and the real drift is hidden. When that happens padvitals says so: it marks the measurement as not measurable instead of giving a false pass.
- Internal controller compensation. A circle below 5 % error is suspiciously perfect and usually means the controller itself is correcting the signal. You get a warning on screen.
- Too few samples per sector. At low sampling rates the maximum radius of each sector is rarely captured, the radii come out short and the error is inflated. Do several full turns, and on PlayStation controllers connect over USB to read at the controller's native rate.
- Losing tab focus. The sampling loop stops if you switch windows. The gap is measured and, if it exceeds 250 ms, the measurement is invalidated rather than accepted.
What to do with the result
If the deviation is out of range, the options in order of cost are: try a software calibration, which corrects small deviations; clean the module, which helps in mild cases; and replace the stick module, which is the only real fix once the sensor is worn. A report with the measured figures also works as evidence in a warranty claim.