Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BMA400 Step Counter Application

    BMA400 Step Counter Application



    I am trying to use BMA400 for step counter and activity tracker features in my demo application,
    I get faced some problems,
    I need help about solving and understanding these problems.

    Sensor connected to mcu with I2C interface,

    ==> i2c_read(BMA400_I2C_ADDRESS,0x00,&regval,1); // Ask Chip ID

    regval = 0x90, It is OK

    ==> tmp = 0xB6;

    i2c_write(BMA400_I2C_ADDRESS ,0x7E, &tmp, 0x01); //Soft Reset


    regval = 0x00, It is OK

    ==> tmp = 0x02;

    i2c_write(BMA400_I2C_ADDRESS ,0x19, &tmp, 0x01); //Set Power mode = Normal Mode
    regval = 0x02, It is OK

    ==> tmp = 0x11;

    i2c_write(BMA400_I2C_ADDRESS ,0x20, &tmp, 0x01); //Set step interrupt


    regval = 0x11, It is OK

    When i am doing below settings,
    I get faced these problems,

    1) When i taking step <10, it is not give response. For example when i taking 8 steps. It still says No step, When i taking 10 or more than 10 steps. It will start to counting correct steps.

    Why it is ignore steps less than 10 ? How i can solve,

    2) When i change my activity from one to another, activity status is not updated real time, it wiil comeafter 5-8 sec.

    3) When i compare steps resolution with some of smart band ( Just like a Xiaomi, Vestel …) our resolution is worst according to them.

    There is many selectable options (ODR, OSR, acc_filter1, acc_filter2 etc…) These options can effect my accuracy ?

    Power consumption is not important i just want to get real time Step count and real time Activity.

    4) Placing sensor any of Axis is important ? It can effect step accuracy to place x axis or y axis or z axis ?

    5) There is STEP_COUNTER_CONFIG register (0x59 – 0x70) there is no explanition about it. How we can configure it ?

    I need help and example about it.

    I just want to get real time step counter and real time activity

    I need help about it,

    10 REPLIES 10

    Community Moderator
    Community Moderator

    In current sensor design, we only export activity event.  All design are fixed in ASIC which means we don't have chance to change the behavior now.

    But in system level, you can start a timer when interrupt received to calcualte the still, walking time.