# 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.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-06
- Original resource: <https://github.com/Jakey-Jakey/questpad>
- Primary source: <https://github.com/Jakey-Jakey/questpad/blob/0a96a24c090062473bf5e2ae12a30301fea792fa/PROTOCOL.md>
- Catalog page: <https://awesomerea.org/resources/questpad-case/>
- Record JSON: <https://awesomerea.org/resources/questpad-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/questpad-case/index.md)

## 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.

## Primary sources

1. <https://github.com/Jakey-Jakey/questpad/blob/0a96a24c090062473bf5e2ae12a30301fea792fa/PROTOCOL.md>
2. <https://github.com/Jakey-Jakey/questpad/blob/0a96a24c090062473bf5e2ae12a30301fea792fa/README.md>
3. <https://github.com/Jakey-Jakey/questpad/blob/0a96a24c090062473bf5e2ae12a30301fea792fa/LICENSE-APACHE>

## More in Protocols

- [Stadiacast: reconstructing the Stadia Controller's Wi-Fi service](https://awesomerea.org/resources/stadiacast-case/index.md) · Case study
- [os-xgs-npu: reconstructing Sophos XGS coprocessor interfaces](https://awesomerea.org/resources/os-xgs-npu-case/index.md) · Case study
- [LibreMP: an Epson EasyMP screen caster from packet-capture research](https://awesomerea.org/resources/libremp-easymp-case/index.md) · Case study
- [Sony CDX-A250: reconstructing the LCD panel interface](https://awesomerea.org/resources/lc75826-sony-cdx-a250-case/index.md) · Case study
- [MacroPad: reconstructing a USB macropad configuration protocol](https://awesomerea.org/resources/macropad-usb-protocol-case/index.md) · Case study
- [Monix: reconstructing Audient iD USB mixer control on Linux](https://awesomerea.org/resources/monix-audient-id-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
