Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BME280 I2C communication not working with small percentage of the boards

    BME280 I2C communication not working with small percentage of the boards

    lin-sapack
    New Poster

    Hi,
    We use BME280 in one of our boards. We use I2C communication scheme. We discovered that there are small percentage of the boards have intermitted I2C communication issues. With those problematic boards, some power cycle the communication is just fine and some power cycle we can not talk to BME280 and receive NACK on I2C SD line. This is power up dependent. If the board power up good. It will stay good. If the board power up bad, it will stay bad until we cycle the power. This seems to happen randomly. In our test setup, we have isolated to only access BME280’s chip ID register. We took our uP out of the picture by keeping it in reset so the I2C bus is free, and connected an external I2C tester to issue chip ID read commands. Once BME280 responses with NACK with some power up, We even tried to read both address 0x76 and 0x77. We still got NACK. This looks like BME280 is lock up. Is there a certain condition BME280 is more accepted to lock up condition? Below is the schematic our BME280 hook up.

    linsapack_0-1695405197954.png

     

    3 REPLIES 3

    BSTRobin
    Community Moderator
    Community Moderator

    Hi lin-sapack,

    According to the hardware connection on your schematic, the BME280 device address is 0x76
    Do you mean that you have disconnected the hardware connection between the host and BME280, and tested it with an external I2C master and BME280?

    Yes. We orginally discovered this problem with our own I2C host which is a STM32 uP. In order to further understand the issue, we were able to reproduce this problem without our host (by keep it in reset state) and use an external I2C master. With external master, we also able to issue different I2C commands (since it's more flexible). We know our BME280 is address 0x76. That's address our own I2C master accesses. We tried 0x77 with external host just to make sure there isnt a chance that BME280 power up as the wrong address. 

    BSTRobin
    Community Moderator
    Community Moderator

    Hi lin-sapack,

    For your description "With those problematic boards, some power cycle the communication is just fine and some power cycle we can not talk to BME280 and receive NACK on I2C SD line." I didn't understand what your power cycle is like. What are the changes in system power supply voltage, VDD, and VDDIO? How about the power ripple?

    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