Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 - unrealistic eCO2 Values

    BME680 - unrealistic eCO2 Values

    Hi,

    As described in 

    https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BME680-measurements/m-p/9353#M1359

    we use an example application with a precompiled bsec library for data evaluation (BME680 sensor):

    https://github.com/alexh-name/bsec_bme680_linux 

    This time we test the BME680 sensor with a rasperry pi zero and the SEN-BME680 eval board (Joy-it) - so we can exclude hardware failures on our side (since the raspberry is used in many other I2C-Applications without any problems ....)

    Again, the measured eCO2 trendline contains unrealistic jumps and measurement results (eCO2):

    clipboard_image_0.png

    clipboard_image_1.png


    - Is it possible, that there is a bug in the bsec-library?
    - Is there a physical explanation for such unrealistic jumps in the trendline?
    - Maybe the firmware on the BME680 is buggy? Is an update available?

    Our customers expect somehow realistic eCO2 - values .... I know, it's just an estimation for CO2, and I may expect errors in the range of 100-200 ppm ....
    But jumps in the range of 600ppm for no reason? Or values in the range of 5000 ppm in a normal office room
    (I think I should be dead if the values are correct 😉 )?

    Any help would be great - Thanks in advance!

    Best regards,
    Bernhard Mathias

    7 REPLIES 7

    handytech
    Community Moderator
    Community Moderator

    Such outputs and especially these steps/jumps don't look like expected behavior. A few things I would check in such conditions:

    • Do all timestamps look as expected?
    • Does BSEC return any warning/error message?
    • How does the raw data (esp. gas resistance) look like?
    • If one was previously stored, did you try clearing (or temporarily disabling) your state file?
    • Do you still see the same behavior if you uncomment this line from the sensor API (i.e. enabling floating-point compensation)?

    Monitoring the IAQ accuracy output could also provide further hints on the behavior/status of the library. I would suggest to confirm the points above are all working as expected first, then I would also recommend letting the library run for some time/making sure it had time to calibrate itself before comparing the output to your reference sensor.

    Thanks for the quick response,

    so

    - the timestamps look ok
    - not sure about warning/error messages at the moment since I only logged stdout and not stderr 😕
    - gas values (I will attach data-files too):

    clipboard_image_0.png

    clipboard_image_1.png
    - in this testruns I didn't delete the state files - it's possible that the state files were not empty at time of teststart...

    We will try to do further tests with enabled floating-point compensation, log stderr and also additional some i2c-logging on the raspberry pi

    Thank-you for providing the datalogs as well, this is always helpful 🙂

    A few comments from this extra data:

    • The raw gas data in "bme_rasp_8_peakAtBeginning.xlsx" (bottom plot in your post) looks very smooth, and so does the IAQ output for the same dataset.

      On the other hand even the raw gas signal in "bme_rasp_erroreCO2.xlsx" looks odd (top plot in your post) with jumps to zero and large spikes/noise in the signal. These spikes are also seen in the temperature/humidity and even in the pressure singal. From a raw data perspective, this behavior is not expected from the sensor.

    • For reference I also ran BSEC over your datasets (i.e. both from scratch with no state file/history!):
      • Based on raw data from "bme_rasp_8_peakAtBeginning.xlsx"  I get the following sIAQ output:

        clipboard_image_0.png

      • Based on raw data from "bme_rasp_erroreCO2.xlsx" I get the following sIAQ output:

        clipboard_image_1.png

        Note: For this run I received 16 times the error -2 (BSEC_E_DOSTEPS_VALUELIMITS) corresponding to the 16 samples with zeroed gas resistance values, but no steep steps as in your output.

     

     

    Ok, new testrun and a peak to 1400 ppm in eCO2 occured:

    clipboard_image_0.png

    this time

    - stderr was logged -> no error messages
    - state-file was deleted before the testrun
    - floating point compensation was enabled
    - i2c communication was logged (https://www.saleae.com/de/downloads/ , trigger at peak + 500 seconds pre-buffer)

    Strange here is a break in the gas trendline the same time the eCO2 value jumps:

    clipboard_image_1.png

     

    What can be the reason for the strange gas / eCO2 values?

    I will attach the bsec output as well as the I2C-log.

    Best regards,

    Bernhard

    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