Skip to content

Reverse-engineered Daydream and GearVR Controller Protocols and Hardware!

Notifications You must be signed in to change notification settings

nullstalgia/daydream-catcher

Repository files navigation

daydream-catcher

Controller_Img1.png

Reverse-engineered Daydream and GearVR Controller Protocols and Hardware!

Index of contents:

Writeups:

  1. Snapping out of a Daydream
    • My account of the journey I went through while reverse-engineering the Daydream Controller's Firmware and Hardware!
  2. A brief peek inside GearVR's Controller
    • A less-thorough but still-fruitful expedition through Samsung's GearVR Controller.

References:

Detailed descriptions of controller hardware, Bluetooth packet types and contents, and other firmware oddities.

Crates:

  • daydream-catcher
    • Parsing Daydream and GearVR controller packets.
    • Parsing and generating Daydream MTP Serial packets.
    • no_std and no_alloc compatible!
  • daydream-airmouse
    • WIP Crate for generating mouse movement commands based on the IMU + touchpad + button inputs of the Daydream/GearVR controllers.
    • no_std and no_alloc compatible!
  • daydream-airmouse-uinput
    • Linux-only uinput-enabled client for controlling the mouse via daydream-airmouse.
    • Primarily a testbed to speed up development, not intended for daily use.
  • daydream-airmouse-esp
    • WIP ESP32-S3 firmware to connect to Daydream/GearVR controllers and output mouse/keyboard events over native USB HID.
    • Very early (non-functional ATM), ironing out BLE connection issues with the still-blossoming esp-rs toolchain.
    • Uses no_std.
  • gamepad-motion-helpers
    • A from-scratch native Rust port of Jibb Smart's original C++ GamepadMotionHelpers.
    • Tests compare against the original library via gamepad_motion!
    • no_std and no_alloc compatible!

Special thanks:

  • MuffinTastic for their encouragment, assistance, and knowledge.
  • deku for making working with bitfields a pleasure rather than a pain.
  • ImHex for being excellent overall, especially with it's support for visualizing patterns.

About

Reverse-engineered Daydream and GearVR Controller Protocols and Hardware!

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Languages