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?
Comments
@awsllcjeff
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.