3-Day Conquest of PS5 Bluetooth Protocol

June 2026 · Langzhou Wanderer + AI Partner Huo Qubing · Three days of intense reverse engineering

Day 1: Scouring the Globe, Assembling the Map

Sony buried the PS5 DualSense Bluetooth protocol deep. No public documentation for HID report formats — USB wired had some scraps, Bluetooth wireless was nearly blank.

My AI partner "Huo Qubing" (DeepSeek-V4-Pro) and I didn't start by writing code. We scoured the global community: Linux kernel hid-playstation driver, nondebug/dualsense reverse notes, controllers.fandom.com bitmask tables, dsremap HID configs, PS5 Dev Wiki fragments — piecing scattered clues into a map. By dawn we had locked onto the key: Bluetooth has 0x01 and 0x31 two different HID report formats, and USB 0x01 and BT 0x01 use different byte layouts.

Day 2: Head-On Assault

First trap: Feature Report 0x05 calibration read returned ERROR_BUSY (error 170). The device handle was unstable right after Bluetooth connection. Huo Qubing didn't skirt around it: "Add retry logic, add delay, reopen the device handle, try again." Three attempts, 200ms apart. Third one passed.

Second trap: BT 0x31 mode. Some buttons were missing in Bluetooth — triggers and D-pad had offsets. We introduced the tri-offset auto-detection system: runtime matching of USB 0x01 / BT 0x01 / BT 0x31, auto-switching.

Huo Qubing sealed Wolf Mountain not by going around — charging straight in was the fastest path.

Day 3: Sheathing the Blade

Tri-offset system running. Over Bluetooth: D-pad, face buttons, triggers, sticks, battery — all parsed. No cable required. The result is YzzPadView.


Future Plans

Touchpad parsing and Bluetooth vibration will roll out as Bilibili UP "朗州浪子" gains followers. Enough followers → work begins.

Follow on Bilibili → 朗州浪子

← Back to Home