Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BNO055 offsets & radius when reusing calibration profile

    BNO055 offsets & radius when reusing calibration profile



    I want to use the BNO055 in NDOF fusion mode, and AMG non-fusion mode. I have saved the calibration profile (offsets and radius) in flash memory, and later I can read that calibration profile and write it into the BNO055 registers. I am aware that the offsets and radius vary depending on each sensor range, and that there is an autocalibration running in the background.

    1. I have understood that autocalibration runs in the background only when using a fusion mode (NDOF). In this case, are all measurements reliable all the time? or the calibration status (sys or all) should be checked periodically?

    2. To read the calibration status from the BNO055 registers, can the BNO055 be in the operating mode it will run in (NDOF / AMG), or it has to be in CONFIG mode?

    3. The datasheet says that the BNO055 has to be in CONFIG mode to read the offsets and radius (I have not seen a different on the values when reading in NDOF mode). Does selecting CONFIG mode to read the calibration profile prevent offsets and radius from varying depending on sensor range? For example: if the BNO055 is running in AMG and the accelerometer is using 16G range, the value of the offsets and radius will not be the same as if it was using the default 4G range (as NDOF mode does).

    4. Considering the procedure to reuse and configure the calibration profile (datasheet 3.11.5), is the following procedure correct?:

    4.1 To save calibration data:

    • Working in any operation mode (NDOF/AMG).
    • Check ST_RESULT for sensor check.
    • Perform the calibration procedure and wait until all calibration status = 3.
    • Set CONFIG mode.
    • Read offsets and radius values.
    • Save values into the flash

    4.2 To reuse calibration profile:

    • Select CONFIG mode.
    • Write calibration profile into the the BNO055 registers (the sensors have to be in the same range as they were when reading the calibration profile?).
    • Check that sys = 3 (Is it necessary to check also the calibration status of the sensors?).
    • Change operation mode to NDOF or AMG (The data sheet only mentions change operation mode to fusion mode).

    *If AMG is selected: Check the calibration status of the accelerometer, gyroscope and magnetometer periodically (Is it necessary to also check the system calibration (sometimes it is = 0)?)

    *If NDOF is selected: the autocalibration will run in the background, so there is no need to check the calibration status.

    Thanks for any guidance you can provide!



    6 REPLIES 6

    Community Moderator
    Community Moderator

    As it didn't have feedback for a long time, we could close it first.

    Hello atto,

    You could update feedback and question in the future if you have.

    Established Member

    I too am using the BNO055 & wanting to reuse the calbration data.

    When calibrating & reusing the calibration data which of the following register sets needs to be saved & restored on a POR?

    • SIC registers: page 0 0x43 thru 0x54
    • OFFSET registers: page 0 0x55 thru 0x66
    • RADUIS registers: page 0 0x67 thru 0x6A

    It’s not clear in the datasheet BST-BNO055-DS000-18 rev 1.8 & not mentioned in apps note BST-BNO044-AN007 version 1.0