Skip to the benchController Test

PS4 controller test

Press a button on your DualShock 4 to test sticks, drift, buttons, triggers and rumble. This standard test works with any controller in any modern browser. In desktop Chrome or Edge you can also try the experimental deep mode, which attempts to read the touchpad, gyro and battery, set the lightbar colour and tell a v1 pad from a v2.

Controller bench

No controller yet

Turn your phone sideways for the full bench.

Press any button on your controller — browsers only show a pad after its first press.

Stick check

Three steps: rest, circles, snap-back. Start with the controller lying on a table.

Vibration

Hold the controller and run each test. One motor at a time makes a dead or rattling motor easy to spot.

Report rate

Keep moving a stick in circles while it measures. The experimental deep mode counts every report; the Gamepad API shows what the browser sees.

Button check

Press every button once to tick it off. Then run the chatter test: press each button slowly, about 20 times.

Deep mode (WebHID)

You don't need this for the checks above: the standard test works with any controller. Deep mode is an optional extra.

Verdict

Connect a controller and run a check — the verdict shows up here.

Checklist for this controller

  • Run the drift test with the pad lying flat.
  • Roll each stick around the edge for the range check.
  • Press every button, including the touchpad click, and pull both triggers.
  • Test both rumble motors one at a time.
  • Optional, experimental: turn on deep mode, pick "Wireless Controller" and try the touchpad, lightbar and battery readout.

How to fix it

  1. Deep mode can't open the pad: close Steam, DS4Windows and HidHide, then reconnect.
  2. Drift: clean around the stick base; DualShock 4 stick modules are replaceable if drift stays.
  3. Pad charges but won't connect by Bluetooth: press the reset button on the back, then pair again.
  4. A dead touchpad click often comes from a worn ribbon cable.

Spec sheet

USB / Bluetooth IDs
054c:05c4 (v1, CUH-ZCT1)Linux hid-playstation driver054c:09cc (v2, CUH-ZCT2)Linux hid-playstation driver054c:0ba0 (USB wireless adapter)Linux hid-playstation driver
Connections
Micro-USB, BluetoothLinux hid-playstation driver
Stick resolution
8-bit over HIDLinux hid-playstation driver
Trigger resolution
8-bitLinux hid-playstation driver
Report rate
USB ~250 Hz(to be confirmed on a real device)Measured by deep mode
Sensors and outputs
gyro, accelerometer, 2-point touchpad 1920×942, battery, lightbarLinux hid-playstation driver

Known issues

  • The first DualShock 4 uses product ID 05c4 and the second revision 09cc (vendor 054c). Deep mode's report layouts follow the Linux kernel driver and haven't been checked on every pad. Linux kernel, drivers/hid/hid-playstation.c

FAQ

How do I test my PS4 controller on PC?

Connect it by USB or Bluetooth, open this page and press a button. The standard test needs nothing else; Chrome and Edge also offer an experimental deep mode.

How can I tell if I have a v1 or v2 DualShock 4?

The v2 has a light strip on the touchpad. The product ID tells them apart too: 05c4 is v1, 09cc is v2. Chrome usually shows it in the pad name on the bench; the experimental deep mode reads it directly.

Why does my PS4 controller show up twice?

Steam Input or DS4Windows creates a virtual Xbox pad next to the real one. Close them to see one pad.

Why are touchpad, gyro and battery missing?

Through the Gamepad API a DualShock 4 shows 8-bit sticks, buttons and triggers only, with no touch position, gyro or battery. The experimental deep mode in desktop Chrome or Edge tries to read them.

Can the bench recalibrate sticks or update firmware?

No. It reads and judges; it never writes calibration or firmware to the pad.

Other checks