Bosch Sensortec Community

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

    BNO055 heading varies by 8 degrees at rest

    BNO055 heading varies by 8 degrees at rest

    rbauman
    New Poster

    Hi.  I'm currently testing an Adafruit BNO055 on a Raspberry Pi for use as a heading sensor on a sailboat.  Using the BNO055_driver software, I'm capturing the Euler angles at one-second intervals.  I'm seeing heading indications vary by 8 degrees when the device is at rest on my tabletop.  On occasion I have also seen the pitch vary by 8 degrees.  Is this expected behavior for an at rest device? 

    Here's a sample captured output:

    **** Adafruit BNO055 utility program ****
    chip id: 160, Software version: 0x311
    selftest: 0xF, cal status: 0xFF, oper mode: 0xC
    Heading: 169 deg, roll: 9 deg, pitch: 2 deg, cal: 0xFF
    Heading: 161.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 161.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 161.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 161.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 161.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 161.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 161.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 161.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF
    Heading: 169.1 deg, roll: 2 deg, pitch: 2 deg, cal: 0xFF

    2 REPLIES 2

    Vincent
    Community Moderator
    Community Moderator

    No, if device on table with no motion,  the heading and pitch value should keeps under noise level.  8 degrees are too big and no expected here.  

    From the data log you put in ticket,  i didn't see the deviation and sensor is fully calibrated.  

    So want to check again the result.  Maybe you can take a picture of test environment and log with errors.  

    Thanks for the reply, Vincent.  I changed the Raspberry Pi's I2C bus speed from 100 KHz, its default, to 400 KHz and the problem has disappeared.   Headings appear stable.  According to the BNO055 datasheet there is no minimum fSCL clock speed.  I suspect there is some timing/sampling issue during the multi-byte data read.  The variation is always 8 degrees which, since 1 degree is 16 LSB, would mean the MSB of the low data byte is decoded incorrectly on occasion.  That would result in a difference of 0xF minus 0x7 or 8 degrees.  Just a theory and moot since 400 KHz works fine.

    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