Case study
DJI RC: reconstructing joystick values from DUML USB messages
DJI RC Joystick Bridge reconstructs the stick-value exchange of a locked DJI RM-series controller over its DUML USB interface. The Python client polls command set 0x06, command 0xf5, decodes four little-endian axes from the payload and exposes them as a Linux uinput gamepad.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 1
- Last commit
- 2026-06-15
- Language
- Lua
- License (GitHub)
- GPL-3.0
GitHub data as of 2026-11-10
Evidence
- Observed
- Code and documentation observed; no download method or demo found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: Linux, Python 3, libusb, uinput access and a powered DJI RM-series controller with USB ID 2ca3:1023 are required.
- Attribution: DUML framing and CRC routines are derived from dji-firmware-tools.
- License: GPL-3.0 license.
Cite
BibTeX
@misc{dji-rc-joystick-case,
title = {{DJI RC: reconstructing joystick values from DUML USB messages}},
howpublished = {\url{https://github.com/gregszero/dji-rc-joystick}},
url = {https://github.com/gregszero/dji-rc-joystick},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/dji-rc-joystick-case/}}
}Plain text
DJI RC: reconstructing joystick values from DUML USB messages. https://github.com/gregszero/dji-rc-joystick (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/dji-rc-joystick-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · gregszero/dji-rc-joystick · Revision fc0dbff
More in Protocols
- Minisforum MS-A1: reconstructing embedded-controller sensor access · Case study
- NFC PM-Pro: reconstructing the FURUI reader's HID protocol · Case study
- RF Power Meter V5 Companion: reconstructing the meter's serial protocol · Case study
- miband-lit: reconstructing Mi Band 5 BLE heart-rate access · Case study
- Zafro AC: replacing the I4season device cloud locally · Case study
- open-apt-flash: reconstructing the APT 860C UART flasher · Case study