Case study
catbus99: reconstructing Epomaker TH99 Pro screen control over USB-HID
catbus99 reconstructs control of the Epomaker TH99 Pro keyboard display from captured driver WebHID traffic. Its Rust client sends USB-HID reports to display images and rendered widgets, while a protocol document maps the configuration and TFT interfaces. A daemon governs writes to the display's flash storage.
- 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-09-30
- Language
- Rust
- License (GitHub)
- MIT
GitHub data as of 2026-11-10
Evidence
- Observed
- Code, documentation and a demo observed; no download method found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: Epomaker TH99 Pro connected by USB cable; macOS or Linux and Rust 1.82+.
- Limits: The display is not reachable over 2.4 GHz or Bluetooth.
- Limits: Screen uploads are subject to a rate limit with a five-minute floor.
- License: MIT License.
Cite
BibTeX
@misc{catbus99-case,
title = {{catbus99: reconstructing Epomaker TH99 Pro screen control over USB-HID}},
howpublished = {\url{https://github.com/terraboops/catbus99}},
url = {https://github.com/terraboops/catbus99},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/catbus99-case/}}
}Plain text
catbus99: reconstructing Epomaker TH99 Pro screen control over USB-HID. https://github.com/terraboops/catbus99 (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/catbus99-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- docs/PROTOCOL.md GitHub · terraboops/catbus99 · Revision 3415745
- README.md GitHub · terraboops/catbus99 · Revision 3415745
More in Protocols
- OpenWatch: reconstructing the LJ736/LY736D smartwatch BLE client · Case study
- Quntis Monitor Light for ESPHome: reconstructing RF control · Case study
- Bosch Smart System: BLE diagnostic and live data protocol map · Case study
- GreenPods: reconstructing AirPods control on Android · Case study
- dualsense-bridge: reconstructing DualSense Bluetooth microphone access · Case study
- FX30 Controller: reconstructing Sony FX30 remote control · Case study