Case study
QuestPad: a USB gamepad from the Quest Touch radio protocol
QuestPad implements the Quest Touch controllers' private 2.4 GHz radio protocol on nRF52840 firmware so a computer can use them as a USB gamepad. Its protocol reference documents pairing, AES-CCM encrypted controller packets, 2 ms link frames and input data; the firmware exposes generic gamepad, DS4 and XInput modes.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: A Nordic nRF52840 Dongle or nice!nano v2 and Quest Touch controllers are required.
- Prerequisites: Python 3 is required for the control panel.
- Testing evidence: Quest 3/3S controllers and Linux support are listed as untested.
- License: The repository provides MIT and Apache-2.0 licence files.
About this entry
The description was reviewed against primary sources.
Primary sources
- PROTOCOL.md GitHub · Jakey-Jakey/questpad · Revision 0a96a24
- README.md GitHub · Jakey-Jakey/questpad · Revision 0a96a24
- LICENSE-APACHE GitHub · Jakey-Jakey/questpad · Revision 0a96a24
More in Protocols
- Stadiacast: reconstructing the Stadia Controller's Wi-Fi service · Case study
- os-xgs-npu: reconstructing Sophos XGS coprocessor interfaces · Case study
- LibreMP: an Epson EasyMP screen caster from packet-capture research · Case study
- Sony CDX-A250: reconstructing the LCD panel interface · Case study
- MacroPad: reconstructing a USB macropad configuration protocol · Case study
- Monix: reconstructing Audient iD USB mixer control on Linux · Case study