
On the sensor fusion stuff, some random thoughts:
* I currently use this https://github.com/kriswiner/MPU-9250 on the teensy 3.1 - at 2kHz.
* I think having a library, implement in C for performance, that offers sensor fusion would be ideal. Just throw in the 9DOF in and get pitch, yaw and roll back.
* Maybe the Bosch BNO55 is the answer to all problems. It has sensor fusion and it seems like it is actually usable, other than the proprietary garbage of the MPU9150. Bosch also has good data sheets and register maps and everything you love when writing drivers. It seems euler and quaternions can just be read from registers, just like the sensor data.