Controller Report Interval (Latency) Test for DualSense and DualShock 4

Time the reports a PlayStation controller sends, by its own clock and by arrival, to compare USB and Bluetooth honestly.

Connect a controller, then press any button

Plug it in with a USB data cable or pair it over Bluetooth. Browsers only reveal a controller after a button press, so press A or ✕ if nothing appears. Nothing is sent anywhere.

No controller yet

The diagram lights up as soon as your controller sends input.

Report interval test

Connect a DualSense, DualSense Edge or DualShock 4 directly to time its reports by its own clock and by arrival. Your browser asks which device to allow, and the permission lasts until you close the tab. This page only reads the controller and sends effect commands (trigger effects, light bar, player lights), never calibration or firmware, and it resets them when you leave.

Decoded from published formats (the Linux hid-playstation driver and SDL); not yet tested on a real controller. Over Bluetooth, deep mode switches the controller to its full report format until it reconnects, and asks first: if another app or game stops seeing it, turn the controller off and on.

Not connected.

Report interval

How often the controller sends a report, from the controller's own clock and from the time each report reached this page. This is the report interval, not end-to-end input lag: it leaves out the time a press takes inside the controller, in the game and on the screen.

Motion sensors

Tilt and turn the controller: the model follows it, and the graphs show the gyroscope (turn rate, degrees per second) and the accelerometer (g) on each axis. Put it down flat and run the rest check to measure gyro drift.

Gyro – · Accel –

Touchpad

Draw on the touchpad with one or two fingers. Each finger gets its own colour and the ID the controller gives it; a dead strip shows up as a gap in the lines. Press the pad to test its click.

No touch yet.

Adaptive triggers (DualSense only)

Pick an effect, then press L2 or R2. Resistance pushes back from the start point; click is a section of resistance that gives way, like a trigger pull; vibration buzzes the trigger from the start point. The bars show where each trigger is.

L2
–
R2
–

Light bar and player lights

Battery

The level the controller reports, in 10% steps, and whether it is charging. It updates live, so plug in a cable to check the charging port.

–

Live controller diagram: buttons light up when pressed, triggers fill as you squeeze themLTLBRTRBSelectStartHomeABXYLSRS
Left stick–
Right stick–
Left trigger
0%
Right trigger
0%
All buttons and axes · 0 buttons pressed

Press every button once: each one gets a tick when it registers. Values show analog pressure from 0.00 to 1.00.

Health tests

1. Stick drift

Measures where each stick settles when nobody touches it, and checks for buttons or triggers that read as pressed. Pass: under 5% of full travel. Warning: 5–10%. Fail: 10% or more.

Not run yet.

2. Circularity

Rotate each stick slowly around its outer edge. Measures how far the edge strays from a perfect circle. Pass: up to 10% average error. Warning: up to 20%. Fail: above 20% or a direction that can't reach 75% of full travel.

Left
Right

Not run yet.

3. Vibration

Plays a rumble. The strong motor is the heavy, low rumble in the left grip; the weak motor is the finer buzz on the right.

Connect a controller to test vibration.

4. Input update rate

Estimates how often the browser receives new data from the controller while you move a stick.

Not measured yet.

Controller health report

Selling or buying a used controller? Run the four tests, press every button, then share the report link in your listing or message.

Connect a controller to start the report.

How to measure the report interval

  1. Connect the DualSense, DualSense Edge or DualShock 4 with a USB data cable, click Connect for more tests, and pick it in the browser’s list.
  2. Click Measure for 5 seconds. You don’t need to touch anything: these controllers send reports continuously, because every report carries the motion sensor readings.
  3. Disconnect, pair the controller over Bluetooth, connect again and repeat, then compare.

What the numbers mean

  • Controller clock is the report rate measured with the timestamp the controller writes into each report. It shows how often the controller actually sends, free of any delay on the way.
  • Interval is the median gap between those reports, in milliseconds, and clock jitter how much it varies.
  • Arrival rate and arrival jitter come from the time each report reached this page. The gap between the two sets of figures is what the connection and the computer add.
  • Late arrivals counts gaps more than three times the usual interval: dropped or delayed reports, typical of a congested Bluetooth link.

What this doesn’t measure

This is the report interval, not end-to-end input lag. A button press also waits inside the controller until the next report, then in the operating system and the game, and then for the screen to show the next frame. Those parts are usually much larger than the report interval and can only be measured from outside, with a high-speed camera filming the button and the screen together. Treat a short, steady interval as a good sign, not as your total input lag.

The timestamps are decoded from published formats (the Linux hid-playstation driver and SDL); not yet tested on a real controller. Over Bluetooth, deep mode switches the controller to its full report format until it reconnects, and it asks before doing so: if another app or game stops seeing the controller afterwards, turn the controller off and on. For other controllers, the polling rate test measures what the browser’s standard gamepad connection delivers, and the reaction time test measures you.

Controller TesterSomeone shared their result

Suggested