Thanks for the thorough description. It seems to me that the left image is the correct one. However, I'll make another attempt at explaining the difference between the two: The wiki implementation behaves like the left image like this: 1. Sensor flat on the desk, Roll, Pitch, Yaw = 0 2. Pitch the se...

I am probably not using the correct technical terms. But I am comparing the original firmware Euler calculation with the Wikipedia one. And apart from the * 2 bug for the Y axis, I also see another fundamental difference. Let me explain first with the Wikipedia variant: I orient the sensor physicall...

Hi, this code is working for me. As you mention, you need to work with the calcQuat() values, as they are the Q30 values from the sensor converted to floating point. I can't see directly what went wrong in your code, but remember that the angles are in radians, not degrees. Also, from what I can see...

Thanks for confirming! I suspect that the computeEulerAngles routine is buggy because for me it gives consistently erroneous values, while the new routine gives consistently correct values. One solution is to copy the above mentioned routine into your own code and let it process the quaternions, byp...

I'll answer this myself. With the routine toEulerianAngle at https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles I am getting consistent, correct Roll, Pitch and Yaw values. I still don't know if the imu.computeEulerAngles() routine is correct. Maybe it is, if I just could ...

Having a 9DoF Razor IMU M0 (SEN-14001) with the default firmware, enabling Euler angles with the "e" command, one is supposed to get Pitch, Roll and Yaw as the last 3 values. However, by looking at the Pitch value at the same time as the actual movements of the board, the Pitch value is twice as muc...

On this page https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide or http://sfe.io/t567 or more exactly below this paragraph: https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide#getting-started-with-the-example-firmware under the text "The string can be modified by sen...

Hi, having a 9DoF Razor IMU M0 (SEN-14001), calling imu.update(UPDATE_TEMP); SerialPort.println("Temp:" + String(imu.temperature)); ...shows a temperature of around 2900325. Now I am pretty sure that I haven't 2 million degrees Celsius in my office - so how do I interpret this value correctly? Is it...