Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BSEC IAQ software related problem.

    BSEC IAQ software related problem.


    I am using a BME680 sensor with the Raspberry Pi 4 BSCE library (ver. and have successfully started a basic IAQ measurement application using Arduino basic.ino code. However, my IAQ initial value is 50 when the application starts, while most people's initial IAQ value is 25. Is the initial value automatically set by the sensor?

    Every time I start my application, it takes a long time to calibrate IAQ, but I don't want this for power-saving purposes(Currently using LP Smaple Rate). My application scenario involves sampling temperature, pressure, humidity, and IAQ every 30 minutes using Python as the programming language. However, I have failed to build libalgobsec.a into a Python C extension, so I had to build my IAQ application into an executable file using GCC. I start my IAQ application every 30 minutes using a Python subprocess.

    My c code:

    4 REPLIES 4

    Community Moderator
    Community Moderator

    Hi Mark-Walen,

    You need to run the software until the IAQ accuracy is 3, during which the IAQ value is not automatically set.
    You should refer to the configuration in the BSEC2.4.0.0 integration document to call BSEC, instead of setting it to 30 minutes.


    Hi BSTRobin,

    The configuration I'm using is bme680_iaq_33v3s_4d. However, I still cannot understand why my initial IAQ value differs from other people's. Is the initial value random or it does not matter? I want to figure this out because even when the IAQ accuracy is 3, the IAQ value is still higher than normal. I've been running my application for two days now in the office.

    The longer I run the iaq application, the more precise the IAQ value becomes. Is this true?

    I was unable to build libalgobsec.a into a Python C extension because some of the functions in the algobsec library are not compatible with Position Independent Code (PIC). If this issue can be solved, it would be perfect.


    Community Moderator
    Community Moderator

    Hi Mark-Walen,

    As you used bme680_iaq_33v3s_4d config file, BSEC algorithm have to be called every 3 seconds. What is the unit of the timestamp you printed in your log files? See it from your log file, it seems it is not correct.


    Community Moderator
    Community Moderator

    Hello Mark-Walen, 


    After BSEC, default IAQ was changed to 50, not 25. 

    Therefore, your value is correct. 

    Here is release update for BSEC 

    IAQ algorithm improved w/r to interaction and performance by optimized baseline adaptation. Accordingly, the IAQ adaptation points have been updated to 50 & 200 for best user experience (former versions used 25 & 250).

    Thank you.