Dualshock Calibration in the browser
Hi!
I’m excited to officially introduce the Dualshock Calibration GUI.
This website provides a user-friendly interface to recalibrate your DualShock 4 or DualSense controllers, it aims to completely replace the calibration scripts for end-users.
Here’s what you can currently do on the platform:
- Connect to a DualShock 4 (V1, V2) or a DualSense
- Read firmware information
- Wizard to re-center the analog sticks
- Recalibrate the range of the sticks
- Auto-detects if the DS4 is original or clone (still in beta, will improve in future)
Best of all, it’s completely free, open-source and available on its GitHub repo.
It is available only for Google Chrome, Chromium or compatiable browsers (e.g. Edge) because it uses WebHID, a javascript extension that can be used to send commands to a HID device.
Why?
I noticed that many repair technicians were using my scripts to recalibrate controllers, which significantly reduced repair times and costs. However, many of them were also having a tough time setting up the environment to run the scripts: Python, libusb, Windows drivers, and all that complicated stuff: the user experience was completely off.
This led me to the idea of creating a multiplatform web UI that could simplify everything. I developed a prototype and shared the link on a Facebook group for repair technicians, where it was warmly (..really warmly!) received.
Few days later, I noticed that the beta link spread on Reddit, where non-technical users (gamers) were able to solve minor analog stick drifting issues in a matter of seconds thanks to this tool!
Overall, I’m thrilled that this website is helping so many people in repairing their controllers and, at the same time, reducing e-waste from worn-out controllers!
Current challenges
Currently, the primary focus is ensuring a highly reliable platform for all users, without risking any damage on their controllers.
At the moment I tried to handle this by performing many checks before and after each calibration step. If any of these checks fails, the whole process is halted to prevent any potential harm.
Additionally, the platform has a detection mechanism to identify non-original DualShock4. In such case, all functionalities are disabled. This is because these clones only support a fraction of the commands available in the original controllers: they are essentially designed to mimic the original DS4 only to trick the PS4 into believing the controller is authentic.
The calibration wouldn’t work anyway, because those commands (as you may guess) have not been replicated. Probably they would do some random action, with the risk of bricking it.
If any developer of the clones reads this and wants to help me figuring out which commands should be sent to calibrate them, I would be happy to upgrade the web-ui .
Future steps
Currently, there are four major tasks on my to-do list, each of which will require a substantial amount of time to accomplish:
- Add other undocumented commands to the web-ui, so that this website may become a full-fledged repair tool for both DS4 and DS5 controllers.
- Obtain a DS Edge and reverse-engineer it, to add calibration support also for it.
- Reverse engineer the XBox Controller provided by GsmHack4You. This will take lot of time.
- Reverse engineer the PlayStation3 controller to figure out how to calibrate it.
While all these tasks are currently in the ideation phase, I’m open to any other suggestions or ideas that may contribute to the enhancement of the tool!
Conclusion
In closing, I want to express my gratitude to all the readers and people who contributed and are supporting it.
I remain open to ideas, suggestions, and feedback from all of you. If you encounter any issues or have ideas for improvement, please don’t hesitate to contact me!
Thanks
~~~
If you want to get in touch, drop me an email at ds4@the.al
or ping me on IRC
(the_al@freenode|libera|hackint
) or Discord (the_al
).