Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BNO055 Sensor Calibration reuse - magnetometer not calibrated

    BNO055 Sensor Calibration reuse - magnetometer not calibrated


    Der Bosch Sensortec Team

    I'm testing a BNO055 shuttle board and I'm trying to reuse my calibration values after a Reset/Power-on.
    To obtain the calibration values I run the BNO55 in NDOF mode and perform the calibration as described in this video.
    I poll the calibration status registers with the corresponding function from the bno055.c driver:


    and wait until all status register report status == 3.
    To read out the calibration values, I set the BNO055 in CONFIG mode and call the function:


     (same for gyro and mag) from the driver file. The calibration offsets are stored in non-volatile memory.

    After a reset/power-on of the sensor I reconfigure the BNO055 using the previously obtained offsets by setting the operation mode to CONFIG mode, and write the offset values with:


    (same for gyro and mag). No error is reported from the driver.
    Howerver, when putting the BNO055 into NDOF mode and then checking the calibration status registers with bno055_get_accel_calib_stat(...) (same for gyro, mag and system) I obtain these values:

    • Accel calib status = 3
    • Gyro calib status = 3
    • Mag calib status = 0
    • System calib status = 3

    How can it be that the magnetometer is not configured after writing the corresponding offset values with the driver function? How is the system calibrated (system calib status = 3) but the the magnetometer remains uncalibrated?


    Thank you for your support.

    4 REPLIES 4

    Community Moderator
    Community Moderator

    the system calibration status is 3 means the save and load of offset values are proceed correctly.

    The saved parameters are only the estimated offset value. 

    So the default magnetic calibration status is still starts as 0 which means we need to recalculate the magnetic calibration status. 

    The sensor calibration module are always running in background,   so it will not affect the sensor output after loading the offset parameters. 

    Thanks for the reply


    This means, after writing all offset/radius registers and the system calibration status reports a value of 3, the sensor is ready to use?

    Community Moderator
    Community Moderator

    Yes, if the system calibration level is 3,  then sensor is ready to use