I didn't think it was possible to reliably sort out the absolute orientation from this kind of sensor data, but somehow these guys have managed it. I'm using two of these for the wrist rotation of a wired glove. Both attached to the forearm, one toward the elbow and the other toward the wrist. Inverse transform the wrist by the elbow, and you get a quaternion that only changes with wrist rotation, and not with arm/body movement. I was worried they might be too wishy washy for it to work, but from initial tests with them taped to my arm, the resulting wrist angle seems to be quite stable. Amazing! A few tips: 1. Give it a few ms to boot up before you try to communicate with it. I'm using a bare ATMega168 (same family of microcontroller as Arduino), and the TWI hardware makes communication very simple with just a few register reads and writes, but there's no indication that the sensor is present until it finishes booting up. 2. Make sure it gets itself fully calibrated. The calibration process runs continuously while in NDOF mode, but you need to do a certain series of movements for it to work (explained in the manual). 3. Be sure to treat the values it returns as signed 16 bit rather than unsigned (d'oh!)