Bosch Sensortec Community

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

    BME680: Temperature msmt OK, Pressure & Humidity Not Good

    BME680: Temperature msmt OK, Pressure & Humidity Not Good

    grog57
    Member

    Hello:

    I am using the latest C code provided in the gitHub repository: bme680.c, bme680.h, and bme680_defs.h

    I have built a functional code module to configure and read the BME680. It configures good, I get back a 0x61 for the module type, and no other errors during the initialization or setup as I check the "rslt"  flag each time.

    The controller is a STM32L4 series and the I2C seems to be functioning good. I have an array of 30 bytes in which to contain the return data after a read.

    This is passed back to the BME software via the read and write calls:

    int8_t user_i2c_read(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data, uint16_t cnt)

    int8_t user_i2c_read(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data, uint16_t cnt)

    I am using the exact example code as provided on the page:  https://github.com/BoschSensortec/BME680_driver, in the section "Example for reading all sensor data"

    The read at an interval of 1 second.  below is the first 12 prints from the conversion, along with the status byte.

    [0]T: 21.61 degC, P: 940.05 hPa, H 100.00 %rH
    status = 80
    [1]T: 21.61 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [2]T: 21.61 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [3]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [4]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [5]T: 21.61 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [6]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [7]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [8]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [9]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [10]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [11]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80
    [12]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
    status = 80

    The temperature is very accurate, and it responds perfectly to any changes. However, the RH and Humidity seem to be incorrect. Humidity never moves from 100%, and the pressure (649hPa=65kPa)) should be close to the current value of 100kpA .

    Can anyone provide some help on what the issue might be?

    Thank you,

    Gary

     

     

     

     

     

    5 REPLIES 5

    grog57
    Member

    Hi,

    Can anyone plase provide some feedback or ideas? Would really be appreciated. I have looked and cannot determine what the issue could be.

    Minhwan
    Community Moderator
    Community Moderator

    Hello Gary, 

     

    As far as I know, example code should work. 

    Please check the result value of every function. 

    It could some error. 

    Otherwise, could you please logic analyzer data log with me? 

    Thanks, 

    mayor
    Established Member

    Had something similar. Turned out my i2c write function wasn't working as expected.

    Check the sensor's registers after configuring it to read hum, press and resistance... Do they match what you asked for?

    Minhwan
    Community Moderator
    Community Moderator

    Hello Mayor, 

     

    He found that this issue happened because of his I2C setup configuration. 

    Thanks, 

    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