Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    BNO055 Calibration

    BNO055 Calibration

    FelixSteimle
    New Poster

    Hi everyone 🙂

    I have a question regarding the calibration of the BNO055 9DoF sensor. How exactly do I calibrate my BNO055? I want to use it in NDOF mode and read out the Euler angles. I have already written a part in my code so that it checks if the system (i.e. all three sensors) are calibrated. However, I am not sure if that is everything that I need to do to ensure that the BNO055 is fully calibrated, because in the datasheet it says something about reading out and writing the offsets in the corresponding registers. Do I need to do that for calibration?

     

    Also, if I read out the Euler angles, in the pitch and roll "direction" it gives me values up to 4000 degrees which can't be right!? I am confused :$

    I would really appreciate if someone could explain this to me 🙂

    2 REPLIES 2

    kgoveas
    Community Moderator
    Community Moderator

    Hi FelixSteimle,

    Once you receive the calibration status 3 on all 3 sensors, the device is fully calibrated. The calibration procedure is documented in this video.

    The offsets are updated once the calibration procedure is complete. These offsets can be saved on the hosts non-volatile memory like an EEPROM or Flash and during the next boot, loaded into the BNO055 so as to already be calibrated without needing to perform the complete calibration procedure. Note that these offsets will be continously updated as the BNO055 adapts the offsets based on the environment.

    The procedure that is used to convert raw register values to angles may be incorrect. Table 3-13 Rotation angle conventions in the datasheet documents the limits for the various Euler angles.

    Regards,

    kgoveas

     

    lbag
    Occasional Visitor

    After calibration I read the sensor offsets from the BNO055 and store them. Next time when I want to use the sensor without calibrating it first, I write the read offsets into the appropriate registers. But how does the status of the BNO055 behaves? Is the status set to 3 directly, when I write to the resgisters?

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist