Information on the HID protocol as used by the Razer Hydra controller
Switch branches/tags
Nothing to show
Clone or download
Latest commit b9b5f54 May 2, 2012
Failed to load latest commit information.


Razer Hydra HID Protocol Investigation


Understand how the Razer Hydra communicates over USB HID to allow drivers/applications to interact with it on any platform, including those not supported by the Sixense SDK. One particular concrete goal is the creation of a tracker driver for VRPN to make use of the Hydra.


Gain this knowledge only by interacting with the device and recording data, not through disassembly of Sixense code. A proprietary, Windows-only SDK is available through Steam but we will not be using that in this project, so that we can create "clean" information.


The Razer Hydra is a 6DoF wired magnetic tracker with two sensors, each with gamepad-type controls, designed for use with computer games. The motion sensing technology was developed by Sixense (forum), and was formerly referred to as Sixense TrueMotion.

Known so far

  • Vendor ID: 0x1532 hex aka 5426 decimal

  • Product ID: 0x0300 hex aka 768 decimal

  • Appears as a composite USB device with two interfaces:

    • Interface 0 appears as a generic USB HID device - this is the one with the motion data.
    • Interface 1 appears as a standard HID gamepad, allowing access to the buttons.
  • Seems to have two "modes" - gamepad mode and motion control mode. They are set by the Hydra Configurator on Windows, and enables/disabled the "gamepad" device.

    • When in gamepad mode, smaller input reports are sent. (12 bytes?)
    • When in motion mode, input reports of 52 bytes are sent.
    • Seems to default to gamepad mode when plugged into a machine without the Hydra software.
    • There are some 90-byte feature reports being exchanged (set/get) that are not yet understood.
  • Connecting the Hydra to a Windows virtual machine running the Hydra software, then disconnecting it from the VM (leaving it connected to the Linux host) leaves it in the "52-byte report" mode.

Other links

Tools and Resources


This GitHub project, with its canonical homepage at , is intended to collect materials to study and the findings that result from them. You are welcome and encouraged to fork this repository, add your findings, and send pull requests.

Investigation started by:

Ryan Pavlik and
Iowa State University Virtual Reality Applications Center
Human-Computer Interaction Graduate Program