Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    What's the difference between bsec2 and bme68x_lib ?

    What's the difference between bsec2 and bme68x_lib ?

    Tru
    New Poster

    Hi,

    I have a quick question on which library to use for BME688 on arduino.

    I see on github there are 2 libraries associated with BME688, one is Bosch_BME68x_Library, another is  Bosch_BSEC2_Library.

    I see that bme68x lib is a dependency of bsec2, I just want to know what does bsec2 offers that bme68x doesn't? And is it possible for me to use the bme68x lib to interact with the sensor, or do I have to use the bsec2 lib?

    Thanks.

    5 REPLIES 5

    BSTRobin
    Community Moderator
    Community Moderator

    Hi Tru,

    Bosch_BME68x_Library wraps the BME68x Sensor API to provide a simpler experience to use the BME680 or BME688 Sensors under Arduino environment. With this library, host under Arduino could get sensor data.

    The BSEC fusion library has been conceptualized to provide a higher-level signal processing and fusion for the BME688. The library receives compensated sensor values from the sensor API. It processes the BME688 signals to provide the requested sensor outputs.

    Key features

    • Selectivity to target gas classes
    • Calculation of index for air quality (IAQ) level outside of the device
    • Calculation of ambient air temperature outside of the device (e.g. phone)
    • Calculation of ambient relative humidity outside of the device

    S_Brohl
    Established Member

    Hi Robin,

    Does "The library receives compensated sensor values from the sensor API" mean that the raw gas data values coming from BSEC2 are not actually raw from the BME68x driver itself? Does BSEC2 do any additional compensation on the raw gas resistance values to account for drift prior to returning a result? Does an algorithm created from the AI studio also modify how BSEC2 compensates these values, and if so does this also affect the raw gas resistance values?

    Essentially, I am using the BME688 8 sensor devkit board with BSEC2 and the supplied sample program that's included with it so I can control the different heater profiles. However, besides using BSEC2 for the heater profiles, I am not using it for anything else as I am only interested in the raw temperature, pressure, humidity, and gas resistance values coming from the sensor. Although, now I am concerned that if I am using BSEC2 the "raw" data I am receiving for temperature, pressure, humidity, and gas resistance is not actually raw from the driver, but compensated via some calculations done in the library. Is this true? If it is, and the algoritms I output from the AI studio also affect the "raw" data, then this is not the desired behavior I expected from this sensor.

    BSTRobin
    Community Moderator
    Community Moderator

    Hi S_Brohl,

    "Bosch_BME68x_Library wraps the BME68x Sensor API to provide a simpler experience to use the BME680 or BME688 Sensors under Arduino environment. With this library, host under Arduino could get sensor data." Bosch_BME68x_Library will get sensor RAW data, the raw data is passed to the BSEC algorithm, which compensates the gas resistance value based on the temperature and humidity value. If you look at the example code, you will see that the application program can get the sensor raw data through the Bosch_BME68x_Library interface, or can run or not run the BSEC algorithm.

    S_Brohl
    Established Member

    @BSTRobin Thank you for answering that! This is really helpful info as we noticed the data seemed like it was compensating for drift or something, but now this solves that puzzle. Thanks again!

    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