Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BNO055 - Re-Calibration after reset.

    BNO055 - Re-Calibration after reset.

    New Poster

    Hi, I am going to use the bno055 sensor in my RC boat. Is calibration required each time it is turned on? Can't save previous calibration or provide parameters from outside? If this sensor is not suitable, which Bosch Sensortec offer would be suitable with heel compensation for my boat? I would like to add that the calibration would be rotated by 360 degrees. Thanks.

    5 REPLIES 5

    Community Moderator
    Community Moderator

    After the sensor achived calibration level 3,  you can read out the calibration parameters via sensor register then stored on the host MCU side.

    Then next time when sensor is powering on,  you can restore those parameters to sensor register. 

    Then BNO055 sensor will use those parameters as start point.

    But actually, because of changing magnetic environment,  we are always recommend user to do calibration after re power on.  Only exception is that there is no position changing and no distorting applied to sensor environment during power off and re-power on. 

    Thanks for reply. When writing x, y, z (LSB) offsets in CONFIG mode, sometimes it's ok and starts at x degrees (heading), sometimes it starts at 0.0 anyway, what's the cause? Of course, it only gives the magnetometer offsets, maybe there is a problem here? what to do when i don't know acc and gyr offsets?

    Community Moderator
    Community Moderator

    Yes, it is better to save and load all offset parameters from previous calibration which helps to restore to previous heading output after loading. 

    But if internal algorithm see a big deviation from magnetic sensor compared to restored offset value,   the algorithm will output as 0 which is the default fresh heading value. then calculate /estimate offset from beginning. 

    Both accel and gyro offset can be read out from BNO055 when sensor is fully calibrated. 

    How can I detect that there has been too much deviation and that my offsets have not been accepted? Of course, except for reading 0 degrees, because this can also be the case when it loads the offset correctly.