Something very odd is going on with the linear accel x LSB and accel x LSB, which I don't really know what to make of. When my device rests on a table, the readouts of linear acceleration are off. Y and Z perform as expected, but X would occasionally spike to around 1.3 m/s^2. Looking into the X values further, I notice that this is due to the first bit of LSB in both linear accel and accel memory getting flipped on (and adding 1.28). I'll add a printout of me reading these values in a loop approx 150Hz.
This is the second BNO055 sensor I've bought which behaves this way. I've tried toying around with delays, since this is the first bit which gets read, but no luck. I'd really appreciate any help here, as I don't have much more of a clue what I should be looking into. Overall, I2C is working well, and this one bit usually behaves.
BTW, I'm using the BNO055 with a RPi 3B+ over I2C in NDOF_FMC_OFF mode. I'm using the official C lib here on github: https://github.com/BoschSensortec/BNO055_driver , with added read, write and delay functions attached. I'm using the provided bno055_convert_double_accel_x_msq() and bno055_convert_double_linear_accel_x_msq() functions.
Solved! Go to Solution.