BOSCH BMI160 & BMM150 Orientation on the MetaMotionR and RL Sensors
The orientation of the BMI160 (accel, gyro) and BMM150 (magnetometer) on the BMI160 shuttle board
are depicted by BOSCH in Figure 1 above. Furthermore, BOSCH states that:
For BMI160 ACC part,
Xacc = BMI160_ACC_X;
Yacc = BMI160_ACC_Y;
Zacc = BMI160_ACC_Z;
Where, BMI160_ACC_X, Y, Z are the raw data in the unit of m/s2 from the BMI160 accelerometer part
and Xacc/Yacc/Zacc are the axis remapped data to feed the BSX library.
For BMI160 GYR part,
Xgyr = BMI160_GYR_X;
Ygyr = BMI160_GYR_Y;
Zgyr = BMI160_GYR_Z;
However, the orientation of BMM150 axes is not aligned to the BMI160 shuttle board reference
coordinate. Users can do the axis remapping as below.
Xmag = BMM150_X;
Ymag = -1 * BMM150_Y;
Zmag = -1 * BMM150_Z;
Where are these two chips and how are they oriented on the mbient sensor PC board shown below?
The sensors are in the same orientation on the MetaMotionR sensors as the shuttle board you are showing.
The magnetometer raw outputs for Y and Z are inverted in firmware to align them with the IMU axes and the orientation shown in the data sheets. All magnetometer data received from the device has this correction.