What makes the DualSense different from the DualShock 4?
If you have come from a DualShock 4 background you already know the four-axis, fourteen-button, two-trigger picture. A DualSense has all of that plus five subsystems that a DualShock 4 does not have, and a proper dualsense tool addresses each one independently.
A common assumption that does not hold is that DualSense is "just a DualShock with better rumble". Sony rebuilt the haptic and trigger hardware from the ground up: grip rumble is no longer eccentric rotating mass (ERM) motors but voice-coil actuators that can produce frequency-decoupled waveforms. The triggers contain miniature motors and gearboxes that can apply variable resistance to the L2 and R2 pull.
The W3C Gamepad API gives you the four sticks, fourteen buttons, two analog trigger values, and the standard mapping. It does not expose the touchpad, the IMU, the haptics waveform, the adaptive trigger configuration, or the lightbar. For those you need WebHID (Chrome and Edge) or a CLI tool from GitHub.
JoyCheck uses WebHID where available and exposes a DualSense-specific test page that addresses each subsystem one at a time. The browser path covers the same ground as any GitHub CLI for diagnostic purposes; you only need the CLI for protocol research or scripted automation.
What should a DualSense tool actually test?
Five DualSense-specific diagnostics matter, on top of the basic sticks and buttons.
Adaptive triggers. The L2 and R2 triggers contain a small motor that can apply five distinct resistance modes: off, feedback (constant resistance), weapon (resistance then break), vibration, and slope-feedback. Each mode takes parameters in HID output report 0x02 bytes 11 through 32 per the nondebug/dualsense reference.
Voice-coil haptic feedback. Two voice-coil actuators in the grips replace the DualShock 4 ERMs. They take amplitude bytes in report 0x02 bytes 3 and 4 (USB) or 0x31 bytes 4 and 5 (Bluetooth). A healthy actuator produces a clean, frequency-controlled buzz; a failed actuator buzzes at low amplitude and falls silent at high amplitude.
Touchpad. A two-finger capacitive touchpad reports finger positions as analog X and Y in the input report, plus the click of the touchpad button. The touchpad is not exposed through the Gamepad API; it requires WebHID for the full coordinates.
IMU (motion sensor). A 6-axis IMU (3-axis gyroscope plus 3-axis accelerometer) reports orientation and acceleration. Used by games like Returnal for aim refinement. Like the touchpad, it is HID-only, not Gamepad API.
Lightbar and player indicator LEDs. The DualSense has an RGB lightbar plus five small player indicator LEDs. JoyCheck cycles all of them through red, green, blue, white, and off to confirm each channel works.
How do you run a DualSense diagnostic in the browser?
The flow is the same as any browser-based controller test, with extra steps for the DualSense-only subsystems.
- Open JoyCheck in Chrome, Edge, Firefox, or Safari. Adaptive trigger and haptic tests need Chrome or Edge for WebHID; the basic stick/button test runs on any browser.
- Connect the DualSense via USB-C or pair over Bluetooth. WebHID will prompt for device access on first connect; approve the prompt.
- Press any button to surface the controller to the Gamepad API. One press is enough; the security guard exists to prevent drive-by fingerprinting.
- Run the stick test. Place the controller on a flat surface for five seconds. Each axis should sit inside ±0.03 of zero. A new DualSense centres inside ±0.005.
- Run the button test. Every face button, every shoulder, every trigger. Each press should register a value of 1.0; a press below 1.0 is a worn microswitch or a worn trigger potentiometer.
- Run the trigger resistance test. JoyCheck sends a "weapon" resistance profile to L2 and R2. You should feel the trigger resist, then break through. If the trigger feels normal with no resistance, the trigger motor is stuck or dead.
- Run the haptic test. Three pulses (weak, strong, mixed) at full amplitude. You should feel clean, frequency-distinct buzzes from each grip.
- Run the touchpad test. Drag a finger across the pad. JoyCheck shows live X and Y coordinates and the click state.
- Run the IMU test. Tilt the controller in pitch, roll, and yaw; JoyCheck displays the gyro and accelerometer values.
- Run the lightbar test. JoyCheck cycles the lightbar through R, G, B, then dims it. A channel that does not light up is a failed LED.
The full sequence takes about 90 seconds.
What do the values mean for DualSense-specific thresholds?
These come from the nondebug/dualsense reference implementation and the iFixit DualSense teardown.
| Subsystem | Healthy reading | Failure indication |
|---|---|---|
| Stick centring (idle, 5s) | ±0.005 to ±0.020 | Outside ±0.030 |
| Stick range (full deflection) | -0.999 to +0.999 on each axis | Capped before ±0.95 |
| Face button value (pressed) | 1.000 | Below 1.000 = worn microswitch |
| Trigger value (full press) | 1.000 | Capped below 0.95 = worn potentiometer |
| Adaptive trigger resistance (weapon mode) | Tactile break at ~80% pull | No resistance at any pull depth |
| Haptic actuator (full amplitude) | Clean buzz with frequency distinction | Silent or single-tone buzz |
| Touchpad coordinates | 0-1919 (X), 0-1079 (Y) | Stuck at one corner |
| IMU gyro (still) | ±0.5 degrees/sec drift | >5 degrees/sec drift |
| Lightbar channels | All three RGB lit at full brightness | One channel dim or off |
If any reading falls in the failure column, the subsystem is the suspect. Most DualSense failures are stick drift (potentiometer wear) or stuck adaptive triggers (gearbox binding), not catastrophic motherboard failures.
DualSense vs DualSense Edge: what are the diagnostic differences?
The DualSense Edge launched in 2023 with hardware Sony built specifically to address the drift complaints that plagued the base DualSense. The two share a HID protocol, so the diagnostic flow is the same, but the expected results differ.
| Property | Base DualSense | DualSense Edge |
|---|---|---|
| Stick technology | Potentiometer | TMR (tunneling magnetoresistance) |
| Expected stick lifespan | 400 to 800 active hours | 2,000+ hours |
| Hot-swappable stick modules | No | Yes |
| Custom button profiles on controller | No | Yes, three on-device |
| Back paddle buttons | No | Yes, two replaceable |
| Trigger stops | Software-limited | Physical (three positions) |
If a base DualSense shows drift outside the warranty period, the stick module wear is expected after 400 to 800 hours. The fix is a self-replacement (the iFixit guide covers it) or controller replacement.
If a DualSense Edge shows drift, that is unusual. TMR sticks do not wear in normal use because they are non-contact magnetic sensors. Open a Sony PlayStation support ticket; Edge units within warranty are typically replaced.
The Edge also allows hot-swappable stick modules, so drift on an out-of-warranty Edge is a sub-£25 swap, not a full controller replacement.
Adaptive triggers: what is the most underdiagnosed DualSense failure?
Adaptive triggers fail in three distinct ways and most owners blame the wrong thing. Naming each mode saves a controller from premature replacement.
The first mode is gearbox binding. Each adaptive trigger has a small DC motor driving a gearbox, and lubricant on the gears dries out after roughly 18 to 24 months of heavy use so the gearbox starts to catch. Symptom: the trigger sometimes resists when it should not, or fails to resist when the game requests it; JoyCheck's weapon-mode test exposes this directly by ramping resistance from 0 to maximum.
The second mode is dead motor. The trigger motor itself fails open-circuit, usually after a fall or moisture exposure, and the trigger feels exactly like a base DualShock 4 trigger with no resistance regardless of the requested profile. JoyCheck shows this by running a high-amplitude resistance command; if no resistance is felt, the motor is the suspect.
The third mode is potentiometer drift on the trigger itself. The trigger position sensor is a small potentiometer that wears like the stick potentiometers; symptom is that the trigger reports a non-zero value at rest, or caps below 1.000 at full pull. JoyCheck shows raw trigger values to three decimal places, so this is visible at a glance.
What can a DualSense tool not fix?
A diagnostic reads the controller. It does not repair the controller. Specifically:
- It cannot recalibrate worn sensors. Sony's HID protocol does not have a calibration-offset command for DualSense. No software tool can store a "set centre" instruction in the controller; the hardware does not accept one.
- It cannot replace voice-coil actuators or trigger motors. These are soldered to the mainboard. The iFixit DualSense guide covers replacement and is rated moderate difficulty.
- It cannot fix a snapped USB-C port. A common DualSense failure mode after heavy use; visible only in charging behaviour, not in input.
- It cannot fix Bluetooth pairing failures. Pairing flows live in the OS per Bluetooth SIG standards; controllers do not own the pairing.
- It cannot test the speaker or mic. Separate audio subsystem with its own failure modes.
If JoyCheck confirms a subsystem fault, the next stop is either a self-repair using the iFixit guide, a paid repair through Sony PlayStation support, or replacement. Either way you start with data, not a guess.
Frequently asked questions: what do DualSense owners ask?
What is a dualsense tool?
A dualsense tool is a diagnostic for Sony's PS5 wireless controller. The most relevant subsystems are sticks, buttons, triggers, adaptive trigger resistance, voice-coil haptic feedback, touchpad, IMU motion sensor, and lightbar. JoyCheck tests all of them in a browser without install, using the W3C Gamepad API and WebHID.
How do I test a DualSense in my browser?
Open JoyCheck at joycheck.io in Chrome or Edge (for full WebHID support), connect the DualSense via USB-C or Bluetooth, press any button to wake the connection, then run the test sequence. Sticks and buttons take 30 seconds; the full DualSense-specific test (haptics, triggers, IMU, touchpad) takes about 90 seconds.
Why does my DualSense show drift?
Base DualSense controllers use potentiometer sticks that wear after 400 to 800 active hours. The wiper drags on a resistive track and eventually the rest position drifts away from zero. The DualSense Edge uses TMR sticks that do not wear in normal use, so drift on an Edge is unusual.
Is DualSense drift a hardware or software issue?
Almost always hardware. The wear is mechanical, on the potentiometer wiper, and software can mask it with deadzone settings but cannot reverse it. A browser diagnostic confirms this by showing the raw value before any game-side deadzone; if the rest value sits outside ±0.03, the hardware is degraded.
How do I fix DualSense drift without replacing the controller?
For a base DualSense, replace the stick module yourself using the iFixit guide; parts are €15 to €25 and the procedure is rated moderate. For a DualSense Edge, the stick module is hot-swappable; spares are about €25. Software calibration is not an option on either.
Does dualsense tool support work for DualShock 4 too?
JoyCheck supports DualShock 4 with the basic sticks-and-buttons diagnostic plus rumble. The DualSense-specific subsystems (adaptive triggers, voice-coil haptics, touchpad, IMU) do not exist on DualShock 4, so those test pages are hidden when a DualShock 4 is connected.
Does JoyCheck send any data to a server?
No, JoyCheck runs entirely in your browser using the Gamepad API and WebHID. Controller input never leaves your machine, there is no telemetry on test results, and no account is required. Close the tab and the session is gone.
Sources & references
- W3C, "Gamepad API specification": www.w3.org/TR/gamepad
- Mozilla Developer Network, "GamepadHapticActuator": developer.mozilla.org/en-US/docs/Web/API/GamepadHapticActuator
- Sony, "DualSense Wireless Controller": www.playstation.com/en-us/accessories/dualsense-wireless-controller
- WICG, "WebHID API specification": wicg.github.io/webhid
- iFixit, "Game controller repair guides": www.ifixit.com/Device/Game_Console