I am migrating our design from the BMI090L to the BMI088. Both part datasheets state an accelerometer noise performance of 160 ug/sqrt(Hz) for X/Y, and 190 ug/sqrt(Hz) for Z. I am observing significantly higher accelerometer noise for the BMI088 as shown in the plots below.
The parts are mounted on identical host boards and use the same configuration: GYRO_RANGE_2000_DPS, ACCEL_RANGE_24G, and ACCEL_DATA_SYNC_MODE_400HZ. I am using the latest drivers for both parts.
If i remove the line bmi08a_load_config_file(&dev) from the BMI088 set up code then the accelerometer noise performance is improved significantly as shown in the plot below.
I suspect there is an issue with the BMI088 driver.
Solved! Go to Solution.
Thanks for your inquiry.
You are using BMI088 accel and gyro sync feature. So you need to short BMI088 INT1 pin to INT3 pin as shown at https://github.com/BoschSensortec/BMI08x-Sensor-API/tree/master/examples/read_synchronized_data_mcu. If you did not do this, then you can follow regular example at https://github.com/BoschSensortec/BMI08x-Sensor-API/tree/master/examples/read_sensor_data to get BMI088 accel data. The accel noise level is not related to the config file download.
I do not have an issue getting synchronization working. The problem is the accelerometer noise.
The problem can be demonstrated with a simple configuration (no synchronization). The following configurations uses the SPI interface and read data at 400 Hz using bmi08a_get_data. The only change is the omission of bmi08a_load_config_file. You should be able to replicate this.
Configuration A - No issue
Configuration B - Noise very poor
Thanks for more info. We will try to reproduce the issue on BMI088 eval. board.
In the mean time you may purchase the APP3.0 base board at https://www.mouser.com/ProductDetail/Bosch-Sensortec/Application-Board-3.0?qs=sGAEpiMZZMuqBwn8WqcFUi... and BMI088 shuttle board at https://www.mouser.com/ProductDetail/Bosch-Sensortec/BMI088-Shuttle-Board-3.0?qs=sGAEpiMZZMuqBwn8Wqc... to verify the noise level of BMI088 accel.
We are able to reproduce the high BMI088 accel noise issue by following your code. And we found the root cause in your code.
Basically you should place "bmi08a_load_config_file(&bmi088);" right after the "bmi08a_soft_reset(&bmi088);" and then configure the accel. Now you place "bmi08a_load_config_file(&bmi088);" at the end so that the accel configurations above will be lost or get reset. Therefore, the accel noise level is high. We have verified that once the load config file line of code is below the soft-reset line of code and above those accel configurations, the accel noise level is low.