Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 Gas Reading Speed

    BME680 Gas Reading Speed

    kevyk
    Established Member

    Hi.

    - What is the fastest update rate for each of the 4 parameters (gas, temp, humidity, pressure) when using the BSEC and the BME680?

    - When NOT using the BSEC, what is the fastest update rate for the 4 sensors?

    - Can this update rate be sustained for long periods if power were not an issue. Page 24 of the datasheet seem to suggest that it is not sustainable (under Continuous).

    Thanks,

    Kevin

    5 REPLIES 5

    handytech
    Community Moderator
    Community Moderator

    @kevyk wrote:

    - What is the fastest update rate for each of the 4 parameters (gas, temp, humidity, pressure) when using the BSEC and the BME680?


    When using BSEC, the fastest update rate is currently the LP mode at 0.33Hz.


    @kevyk wrote:

    - When NOT using the BSEC, what is the fastest update rate for the 4 sensors?


    The update rate then depends on each sensor's settings, including oversampling and heater duration. You can find in the official sensor API a formula to determine the measurement duration of your current settings.


    @kevyk wrote:

    - Can this update rate be sustained for long periods if power were not an issue. Page 24 of the datasheet seem to suggest that it is not sustainable (under Continuous).


    We can only guarantee long operation with profiles that we have successfully tested and qualified (i.e. LP and ULP). If you decide to use different settings, you would need determine and run you own qualification procedure for the intended usage of the sensor.

    kevyk
    Established Member

    - I discovered that when any other update rate is used (non LP & non ULP), an error is returned as expected. However when an update rate of 1 second (and 0.999 too) is used, the BSEC works and returns samples, however it returns samples at a 2 second interval. Is this a bug in that it should report an invalid sample rate when 1.0 is passed in or is there some purpose for a non documented update rate of 1.0 which returns samples at a 2.0 interval?

    - The reason I'm asking is because I need a faster update rate with the IAQ data. Maybe twice a second instead of once every 3 seconds. Is there any way to have BSEC return a IAQ faster than every 3 seconds?

    - Lastly are any other config profiles available (bsec_config_iaq[]) other than the 3s and 300s profiles?

    Thanks!

    handytech
    Community Moderator
    Community Moderator

    @kevyk wrote:

    - I discovered that when any other update rate is used (non LP & non ULP), an error is returned as expected. However when an update rate of 1 second (and 0.999 too) is used, the BSEC works and returns samples, however it returns samples at a 2 second interval. Is this a bug in that it should report an invalid sample rate when 1.0 is passed in or is there some purpose for a non documented update rate of 1.0 which returns samples at a 2.0 interval?


    Your integration of BSEC is not clear to me, but the sensor's settings/profile is provide by BSEC based on the sample rate you provided in bsec_update_subscription(). If the ULP rate was used, then it is expected that each measurement takes about 2 seconds. Having no warning/error when calling BSEC at 1Hz could be a bug.


    @kevyk wrote:

    - The reason I'm asking is because I need a faster update rate with the IAQ data. Maybe twice a second instead of once every 3 seconds. Is there any way to have BSEC return a IAQ faster than every 3 seconds?


    Currently the only modes officially supported are LP and ULP modes. As mentioned in a previous thread, we are considering adding a new mode with a faster data rate, but we have no release date planned yet, and don't support such long-term operations until fully qualified.


    @kevyk wrote:

    - Lastly are any other config profiles available (bsec_config_iaq[]) other than the 3s and 300s profiles?


    No. The full list and description of configurations available can be found the Integration Guide in BSEC's package.

    kevyk
    Established Member

    I am speaking about the second paramter passed in to:

    return_values_init err = bsec_iot_init(BME680_I2C_ADDR, BSEC_SAMPLE_RATE_LP, 0.0, bus_write, bus_read, sleep, state_load, config_load);

    If instead of BSEC_SAMPLE_RATE_LP you pass in 1.0 (or 0.999), no error is ever returned however if you pass in say a 0.5, this error is appropriately returned:

    BSEC_E_SU_SAMPLERATELIMITS = -12,   /*!< The sample_rate of the requested output (virtual) sensor passed to bsec_update_subscription() does not match with the sampling rate allowed for that sensor */

    If 1.0 is not allowed, it should probably also return an error. That said, page 24 of the data sheet does say that a 1Hz update rate is allowed however it seems to return values at a 0.5Hz rate.

    But the important issue for my application is that I need a faster update rate for the IAQ. Since the BSEC does not yet allow for faster sample rates, and since it appears that I am able to get faster data back from the sensor directly without the use of BSEC, is the general code for the BSEC or equations used in the BSEC available so that I could derrive my own pseudo IAQ?

    A related question then is before the BSEC was avilable, how did users derrive anything useful from the gas resistance value (once they've calculated it) that they could use?

    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