Skip to content

Controller tester

Check that your board works as a DS4 controller, right from your browser: plug it in, then press any of its buttons. Open this page on the host you want to use the controller with (a computer, a phone...) to check that this host recognizes it.

Gamepad API unavailable

This browser doesn't support the Gamepad API, so it can't read the controller. Try another browser, such as an up-to-date version of Chrome, Edge, Firefox or Safari.

Waiting for a controller

Plug your board in, then press any of its buttons. Browsers only show a controller to a page once one of its buttons is pressed.

Mapping: buttons, axes

Non-standard mapping

This browser doesn't map the controller to the standard layout of the Gamepad API, so its buttons and axes can't be shown on the controller below. Check them in the raw data instead. Chromium-based browsers (Chrome, Edge...) map a DS4 to the standard layout.

L2 L2 R2 R2 L1 L1 R1 R1 Touchpad Touchpad Share Options D-pad up D-pad down D-pad left D-pad right Triangle Circle Cross Square Left stick (L3) L3 Right stick (R3) R3 PS PS
ControlValue
Left stick X
Left stick Y
Right stick X
Right stick Y
L2
R2
Rumble

This browser can't make the controller rumble. Try a Chromium-based browser (Chrome, Edge...).

Sends a rumble to the board, which receives it like from a game: see the RumbleAndLightbar example to print it to the Serial Monitor.

Raw data

Every button and axis of the controller, as the browser gives them. The Y axes go from up (-1) to down (1), the opposite of CtrlDS4::StickAxis.

Buttons

Axes

If the controller isn't detected

  • Press a button: browsers only show a controller to a page once one of its buttons is pressed, even if it was plugged in before the page was opened.
  • Check the board: if the host doesn't see the board at all, see the troubleshooting section.

What this page can't test

The Gamepad API only gives the buttons and the axes of a controller, and its rumble in some browsers. So these parts of the DS4 can't be checked here:

  • Lightbar: browsers can't change its color.
  • Touchpad fingers and motion sensors: browsers don't give them (and the library doesn't emulate them yet, see the known limitations). The touchpad click is shown, as a button.