Skip to main content
Up and Coming
May 11, 2013

Tracker DK magnetometer 2-axis, or 3?

UPDATE: I have received a replacement Rift DK, and all three magnetometer axes change as expected.

I am reading Tracker DK raw HID packets with my Raspberry Pi.

Speculation from the i-fixit teardown suggests that the Tracker DK contains a 3-axis magnetometer, and the HID packets sent from the Rift DK contain storage space for three magnetometer axes.
- Invensense MPU-6000 six-axis (gyro + accelerometer) motion tracking controller
- A983 2206—we suspect this is a three-axis magnetometer, used in conjunction with the accelerometer to correct for gyroscope drift

I like how the MPU-6000 (Tracker DK accel/gyro) has built-in sensor fusion. :D
The MPU-6000/6050 devices combine a 3-axis gyroscope and a 3-axis accelerometer on the same silicon die together with an onboard Digital Motion Processor™ (DMP™) capable of processing complex 9-axis MotionFusion algorithms. The parts’ integrated 9-axis MotionFusion algorithms access external magnetometers or other sensors through an auxiliary master I²C bus, allowing the devices to gather a full set of sensor data without intervention from the system processor

My magnetometer values in the Tracker DK HID packets have a fixed value for one axis (roll). The values only change for pitch (elevation) and yaw (heading). I am curious why one magnetometer axis contains a fixed (non-changing) value. Is that normal?

    41 replies

    Inspiring
    May 24, 2013
    "geekmaster" wrote:
    Aha! That blog gave me a way to envison quaternions! Yay! I can think of the quaternion for head rotation as the base of my neck as the origin, then pointing the top of my head in any 3-D direction, then twisting my head about my neck. That gives four coordinates quite nicely, while still letting me visualize it internally...


    The description of a rotation transform as a vector plus a theta of rotation illustrates why a vector alone can't represent rotations, but don't make the mistake of thinking that's what the numbers in a quaternion actually represent. In fact only unit quaterions properly represent rotations, which doesn't apply to the vector + theta model. I've never found a good way of thinking visually about the internals of matrices or quaternions. I just do my best to remember the implications of order of operations when multiplying by other objects. :(
    Brad Davis - Developer for High Fidelity Co-author of Oculus Rift in Action