Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BME688 wrong temperatura and humidty

    BME688 wrong temperatura and humidty

    josemartinez
    Member

    Hi,

    I'm are using a BME688 in a project to read ambiental data with an ESP32. The problem is that temperature that is reading, the compensated one, is over 3 degrees up than the real and humidity is like a 60% lower. CO2 levels seems to be unrealistic too.

    To try this sensor, I'm using the example "basic_config_state.ino" of arduino library available in GitHub, "BSEC-Arduino-library". With "config/generic_33v_3s_4d/bsec_iaq.txt" configuration.

    I tried to use an offset of 3 degrees to try to compensate it and it seems to improve something. But still exits some error:

    BME688AQMDateTime
    H%CO2H%CO2  
    24,845,71334264670413/09/202214:41
    28,451,1642314761713/09/20228:13
    25,739,42180274194113/09/202211:02
    25,238,721592742134213/09/202213:55
    27,853,1654305355014/09/20229:04
    25,447,11754274872514/09/202211:00
    24,738,419232643121915/08/20229:33

     

    I'm going to capture more data and update this post with it.

    Do you now what is going on? There is a problem with the current configutation? Could you provide me some example to configurate it correctly?

    Thanks.

    10 REPLIES 10

    BSTRobin
    Community Moderator
    Community Moderator

    Hi josemartinez,

    Hardware: The heat source will affect the temperature and humidity. What about your hardware layout?

    Software: 1. If you use BME680, you can use BSEC Orduino library(https://github.com/BoschSensortec/BSEC-Arduino-library ). If you use BME688, we suggest you use Bosch BSEC2 Library( https://github.com/BoschSensortec/Bosch-BSEC2-Library/blob/master/examples/generic_examples/basic_co...)

    2. For your feedback "The problem is that temperature that is reading, the compensated one, is over 3 degrees up than the real and humidity is like a 60% lower. CO2 levels seems to be unrealistic too.", is your temperature and humidity value RAW data of BME688 or the temperature and humidity value output by BSEC?

    ilcnet
    Long-established Member
    the problem has been solved now after many tries and weeks, i used bsec2 library, with bsec library the sensor works reverse, thank you so much BSTRobin.

    So after this, with sample bsec2 code the sensor after ever reboot tries to go to accuracy from 0 to 3 and the values not works until the sensor accuracy stable on the 1 level accuracy, so how i can fix this that the sensor works in stable mode after reboot, thanks

    I have same issue on Nicla sense me. can i use this solution? should I program my board one time with  BSEC2 Library?
    Sorry, i am new to arduino.

    The hardware is a custom board that we have developed. I can't share you the whole design but sensor circuit is:

    josemartinez_0-1663767280417.png

    I'm testing BSEC2 library. After a few hours IAQ, VOC and CO2 values doesn't change and accuracy is still 0. How long it takes to calibrate? the temperature is still a little high and humidity lower.

    I'm using compensated temperature and humidity not RAW.

    15:39:36.326 -> BSEC outputs:
    15:39:36.326 -> timestamp = 8409838
    15:39:36.326 -> IAQ = 25.00
    15:39:36.326 -> iaq accuracy = 0
    15:39:36.361 -> CO2 = 500.00
    15:39:36.361 -> bVOC = 0.50
    15:39:36.361 -> temperature = 30.11
    15:39:36.361 -> pressure = 101221.24
    15:39:36.361 -> humidity = 31.55
    15:39:36.361 -> gas resistance = 716835.81
    15:39:36.361 -> compensated temperature = 27.11
    15:39:36.361 -> compensated humidity = 37.38
    15:39:36.361 -> Field Air probability : 99.87%
    15:39:36.361 -> Hand sanitizer probability : 0.13%
    15:39:36.361 -> gas index = 9.00
    15:39:37.021 -> BSEC outputs:
    15:39:37.056 -> timestamp = 8410538
    15:39:37.056 -> temperature = 30.17
    15:39:37.056 -> pressure = 101220.84
    15:39:37.056 -> humidity = 31.42
    15:39:37.056 -> gas resistance = 738550.31
    15:39:37.056 -> gas index = 0.00
    15:39:37.333 -> BSEC outputs:
    15:39:37.333 -> timestamp = 8410818
    15:39:37.333 -> temperature = 29.74
    15:39:37.333 -> pressure = 101221.53
    15:39:37.333 -> humidity = 31.30
    15:39:37.333 -> gas resistance = 102400000.00
    15:39:37.333 -> gas index = 1.00
    15:39:38.726 -> BSEC outputs:
    15:39:38.726 -> timestamp = 8412218
    15:39:38.726 -> temperature = 28.95
    15:39:38.726 -> pressure = 101213.50
    15:39:38.726 -> humidity = 31.07
    15:39:38.726 -> gas resistance = 102400000.00
    15:39:38.726 -> gas index = 2.00
    15:39:42.859 -> BSEC outputs:
    15:39:42.859 -> timestamp = 8416348
    15:39:42.859 -> temperature = 28.82
    15:39:42.859 -> pressure = 101215.27
    15:39:42.859 -> humidity = 31.19
    15:39:42.859 -> gas resistance = 102400000.00
    15:39:42.859 -> gas index = 3.00
    15:39:43.556 -> BSEC outputs:
    15:39:43.556 -> timestamp = 8417048
    15:39:43.556 -> temperature = 29.41
    15:39:43.556 -> pressure = 101217.29
    15:39:43.556 -> humidity = 31.29
    15:39:43.556 -> gas resistance = 7562428.00
    15:39:43.556 -> gas index = 4.00
    15:39:44.252 -> BSEC outputs:
    15:39:44.252 -> timestamp = 8417748
    15:39:44.252 -> temperature = 29.59
    15:39:44.252 -> pressure = 101217.84
    15:39:44.252 -> humidity = 31.31
    15:39:44.252 -> gas resistance = 7423652.00
    15:39:44.252 -> gas index = 5.00
    15:39:44.915 -> BSEC outputs:
    15:39:44.915 -> timestamp = 8418413
    15:39:44.915 -> temperature = 29.66
    15:39:44.915 -> pressure = 101217.39
    15:39:44.915 -> humidity = 31.25
    15:39:44.915 -> gas resistance = 7265632.00
    15:39:44.915 -> gas index = 6.00
    15:39:45.608 -> BSEC outputs:
    15:39:45.608 -> timestamp = 8419113
    15:39:45.608 -> temperature = 30.03
    15:39:45.608 -> pressure = 101219.94
    15:39:45.608 -> humidity = 31.21
    15:39:45.608 -> gas resistance = 690725.13
    15:39:45.608 -> gas index = 7.00
    15:39:46.302 -> BSEC outputs:
    15:39:46.302 -> timestamp = 8419813
    15:39:46.302 -> temperature = 30.18
    15:39:46.302 -> pressure = 101222.09
    15:39:46.337 -> humidity = 31.15
    15:39:46.337 -> gas resistance = 719859.38
    15:39:46.337 -> gas index = 8.00
    15:39:46.999 -> BSEC outputs:
    15:39:46.999 -> timestamp = 8420513
    15:39:46.999 -> IAQ = 25.00
    15:39:47.034 -> iaq accuracy = 0
    15:39:47.034 -> CO2 = 500.00
    15:39:47.034 -> bVOC = 0.50
    15:39:47.034 -> temperature = 30.26
    15:39:47.034 -> pressure = 101218.89
    15:39:47.034 -> humidity = 31.02
    15:39:47.034 -> gas resistance = 739350.19
    15:39:47.034 -> compensated temperature = 27.26
    15:39:47.034 -> compensated humidity = 36.77
    15:39:47.034 -> Field Air probability : 99.92%
    15:39:47.034 -> Hand sanitizer probability : 0.08%
    15:39:47.034 -> gas index = 9.00

    I'm going to leave the sensor working a few days to test it. I'll update this post with the results.

    Thank you for the answer.

    ilcnet
    Long-established Member
    I used adafruit Bme688 dev kit and with this code after 5 minutes the accuracy changed from 0 to 1 and values working well, but for real using in a product i need to use sensor with 1 accuracy and i don't want to stay 5 minutes to calibration after any reboot.
    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