Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BMI270 accelerometer configuration not giving correct accelerometer data

    BMI270 accelerometer configuration not giving correct accelerometer data

    New Poster

    Hi all, 

    I am trying to configure BMI270 in low power mode and I followed the steps given in the datasheet under the quick start section. I want to use the average values of the accelerometer data for 32 or 64 samples. And I guess we can only get the average in low-power mode. 

    The problem I am facing is, that after the device is in Low power mode, I am getting the accelerometer data as incorrect values. 

    for +- 2g and +-4g ACC_RANGE, I get the 1g reading as 2047 and 4087 respectively. Sometimes the accelerometer data is OFF by factor 4. According to the datasheet, the values should be 16384 and 8192 respectively. 

    My config settings for low power mode:

    • PWR_CTRL
      • ACC_EN = 1
      • GRY_EN, TEMP_EN & AUX_EN = 0
    • ACC_CONF
      • ACC_BWP = 0x02         // as the  datasheet says to keep it to "2 repetitions" and hope 0x02 is correct
      • ACC_FILTER_PREF = 0
      • ACC_ODR = 50 Hz
    • PWR_CONF
      • ADV_POWER_SAVE = 1
      • FIFO_SELF_WAKEUP = 1
      • FUP_EN = 0

    And then I read the accelerometer data and this puts the device in low power mode.

    Now, I again change the configuration of the accelerometer ACC_CONF  to set ACC_BWP for 32 samples and set ACC_ODR for 100 or 200 Hz, and then when I read the data the accelerometer data is OFF by some factor of 2 or 4. And I am not sure how to resolve this problem.

    I tried changing the ACC_ODR and ACC_BWP and tried all combinations but the data is not correct. i

    for only two cases I got the correct data which was for

    1. ACC_RANGE = 2g,    ACC_CONF ->ACC_BWP =  32 samples,    ACC_CONF->ODR = 100 Hz
    2. ACC_RANGE = 4g,    ACC_CONF ->ACC_BWP =  16 samples,    ACC_CONF->ODR = 200 Hz

    And I do not understand why is this the case. For only two cases I get the data correct and for all others, the data is OFF by some factor. 

    Can someone please help me with that? Thanks  🙂 



    1 REPLY 1

    Community Moderator
    Community Moderator

    Hi kenadams,

    Usually, normal mode and high-performance mode have lower noise compared to low-power consumption. Can we have a more detailed understanding of your application requirements?
    Does your application require polling to read sensor data?