Bosch Sensortec Community

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

    BNO055 MAG_ID & GYP_ID both read 0x00

    Digisolve
    Established Member

    BNO055 MAG_ID & GYP_ID both read 0x00

    I'm just starting to use the BNO055 & setting up the I2C I found that my ID's do not all match the data sheet

    0 CHIP_ID = 0xA0. This matches the data sheet

    1. ACC_ID = 0xFB. This matches the data sheet
    2. MAG_ID = 0x00. This does NOT match the data sheet value of 0x32
    3. GYP_ID = 0x00. This does NOT match the data sheet value of 0x0F
    4. SW_REV_ID_LSB = 0x11. This matches the data sheet
    5. SW_REV_ID_LSB = 0x03. This matches the data sheet
    6. SW_REV_ID_LSB = 0x15. This matches the data sheet

    These are read out in this order so I don't beleive it's an I2C comms issue

    5 REPLIES 5
    FAE_CA1
    Community Moderator

    Re: BNO055 MAG_ID & GYP_ID both read 0x00

    Hi,

    Thanks for your inquiry.

    Please use logic analyzer to monitor I2C bus when you read those chip ID values. Here is the register dump after BNO055 is powered on. AS it can be seen, those chip ID values match the datasheet. Please also google "Arduino BNO055". You will find a lot of sample codes there.

    FAE_CA1_0-1652720603337.png

    Thanks.

    Digisolve
    Established Member

    Re: BNO055 MAG_ID & GYP_ID both read 0x00

    Thank you for your update. I am using a logic analyser & I can see the ID respsonses

    The ID's are read one after the other in the other shown in my post. The first 2 are ok & the last 3 are ok. It's just the MAG & GYRO that are worng (both read 0x00). Could this be a POR issue on my unit where the MAG & GYRO engines are not resetting correctly.

    Also when I read the ST_RESULT (0x36) register I get 0x09 instead of 0x0F again implying the MAG & GYRO are not working correctly

    Digisolve_0-1652788555165.png

    Could these units have different code programmed with only the Acceleromoter enabled?

    FAE_CA1
    Community Moderator

    Re: BNO055 MAG_ID & GYP_ID both read 0x00

    Hi,

    Thanks for the verification. If you don't get the default values from BNO055 registers after power on like the register dump in my previous message, then there must be something wrong with the BNO055 chip. Maybe you can check the following:

    (1) Are you using BNO055 breakout board or eval. board for testing? Or you have soldered BNO055 chip on your own PCB?

    (2) Did you test other BNO055 chips and did they all show the same issue of wrong mag and gyro ID values?

    (3) What is the laser marking of the BNO055 chip that you are testing? There should be three rows on the surface of BNO055 chip, for example the laser marking could be 701 A5 194 or 701 A8 1DP, etc.

    (4) Where and when did you get the BNO055 chip(s)?

    Thanks.

    Digisolve
    Established Member

    Re: BNO055 MAG_ID & GYP_ID both read 0x00

    I have the BNO055 mounted on my own board & I've found one of them is faulty. Using my 2nd board & get better results. But I have to slow my I2C bus down. It' quite slow now as I'm only bit banging it with an 8-bit CPU using the GPIO pins. I also only noticed the 600mS POR delay!! so I'm now up & running 🙂

    One other thing I found. When selecting the external crystal & found I needed to wait a period of time (I'm waiting 10mS) before checking the clock stats bit otherwise I get a false positive & then reading the system trigger reg reports the external crysal is not test

        // use external clock //
        BNO055_I2C_Write(BNO055_SYS_TRIGGER_ADDR, 0x80); 
        Delay(TICK_10MS); // required to avoid false +ve in CLK_STAT
        
        while(BNO055_I2C_Read(BNO055_SYS_CLK_STAT_ADDR) & 1)
        {
            Delay(TICK_10MS);
        }
        
        if((BNO055_I2C_Read(BNO055_SYS_TRIGGER_ADDR) & 0x80) == 0)
            while(1);   // !!! EXTERNAL CLOCK SELECTION FAILED

     

    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