I am reading the BMI088 with I2C, I've tested that the communication is working well with checking chip id.
I have set the gyro 1000dps, and request 6 bytes. On reading I bitshift the first byte and use bitwise or with the second received byte. After this I convert my raw data into degree/second. I would expect, without moving the gyroscope at all, that the data readings would not change by much. In the image you can see that the ouput in degree/second changes alot without moving the BMI088.
Does anyone has any idea what could be the problem?
Thank you in advance
Solved! Go to Solution.
Did you use BMI088 sensor API on github? https://github.com/BoschSensortec/BMI08x-Sensor-API/tree/master/examples/read_sensor_data
In addition to the range, what else have you configured? Such as power mode, ODR, bandwidth, etc.
After rereading the datasheet multiple times I've found the problem. I was bitshifting the first incoming byte to the MSB. After reading the datasheet more carefully I found out that the first incoming byte is the LSB. After applying this solution the error was +-4 dps in rest, which is not such big difference.
Thank you for the reply.