About DualShock Calibration GUI

The origin, technical foundation, and legal transparency of this tool.

🏭 Origin: Built for Repair Shops

DualShock Calibration GUI began as a command-line Python script distributed to controller repair shops. The developer — known as "Al" on the internet — spent over one year reverse-engineering DualShock 4 firmware to discover undocumented USB HID commands that Sony uses during factory assembly to calibrate analog sticks before shipping.

In April 2024, Al published a browser-based version of the tool using the WebHID API, allowing anyone to recalibrate their controller without installing Python or running command-line scripts. The announcement was posted to Hacker News as "Show HN: DualShock calibration in the browser using WebHID" and received significant community attention, with commenters noting the impressive depth of reverse-engineering work.

The tool was subsequently covered by Gigazine (Japanese technology media), picked up by controller modification shops including Battle Beaver Customs, AimControllers, and Nova Controllers as their recommended post-installation calibration resource, and has been used by tens of thousands of PS4 and PS5 players globally.

🔬 Technical Foundation

📡 WebHID API

The browser-based tool uses the WebHID API — a web standard that allows browser pages to communicate directly with USB HID devices. WebHID is available in Chrome 89+, Edge, and Opera on desktop. It is not available in Firefox (declined on security grounds) or any mobile browser.

🔑 HID Feature Report Commands

The calibration system uses Sony's undocumented HID Feature Report commands:

SET 0x90 → SET_CALIBRATION_COMMAND (initiates calibration)
GET 0x91 → GET_CALIBRATION_STATE (polls wizard progress)
GET 0x92 → GET_CALIBRATION_RESULT (reads sampled values)
GET 0x93 → GET_CALIBRATION_DATA (reads stored calibration)
GET 0x10 → GET_CALIB_FLAG (checks calibration completion flags)

💾 NVS Storage Architecture

Calibration data is stored in the controller's NVS (Non-Volatile Storage) flash at addresses 0x11a–0x122 (9 bytes). On startup, the controller copies this to a RAM "flash-mirror." All calibration changes first modify only the RAM copy (volatile, reversible). "Save Permanently" triggers an NVSUnlock command followed by a flash write, replacing the stored values.

📄 Open Source — MIT License

The original DualShock Calibration GUI project is released under the MIT License by its author Al. The MIT License permits free use, modification, distribution, and commercial use, with the sole requirement of preserving the original copyright notice.

MIT License

Copyright (c) dualshock-tools contributors


Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software...


THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED... IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY...

Source code: github.com/dualshock-tools/dualshock-tools.github.io

🔒 Safety & Privacy

📂
Fully open source
Every line of code is publicly auditable on GitHub. No hidden functionality.
🌐
Runs in your browser
Nothing is installed on your system. The tool runs entirely in the browser sandbox.
🚫
Zero data collection
No analytics, no telemetry, no user accounts, no cookies. Nothing is sent to any server.
🔍
Clone detection
Third-party and clone controllers are detected and blocked from write operations to prevent damage.
Volatile default
All calibration is volatile by default — recoverable by restarting the controller.
🏭
Professional origin
Originally built for repair shops, where controller safety is paramount.

⚖️ Legal Notice

Trademark Notice: DualShock®, DualSense®, PlayStation®, PS4®, and PS5® are registered trademarks of Sony Interactive Entertainment LLC. This website is not affiliated with, endorsed by, or sponsored by Sony Interactive Entertainment LLC or any of its subsidiaries. These trademarks are used solely for descriptive purposes to identify the compatible hardware that this open-source tool works with (nominative fair use).

MIT License Compliance: This site is built on the open-source DualShock Calibration GUI project by Al, released under the MIT License. The original copyright notice and MIT License text are preserved in accordance with the license terms. The original project is available at dualshock-tools.github.io.

Disclaimer: This software is provided "as is" without warranty of any kind. The authors are not responsible for any damage to controllers resulting from use of this tool. Always test in volatile mode before saving permanently. Ensure your controller battery is sufficiently charged before any save operation.

Reverse Engineering: The calibration commands used by this tool were discovered through reverse engineering of DualShock 4 firmware for the purpose of achieving interoperability. This is permitted under DMCA Section 103(f) (reverse engineering for interoperability) and does not involve circumvention of access control measures.