Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    bme680 - questions regarding BSEC

    bme680 - questions regarding BSEC

    New Poster

       Hello, community! Working on a project with BME680, will notify user on bad AQI values. Successfully run the example from "bsec_iot_example" folder from BSEC "example" folder, on STM32L0xx. Follow the steps in the BME680 BSEC Integration Guide document. Now I need additional information and advices about BME680 as well as BSEC operation.

       1. Can I rely on real AQI values only during its status accuracy has value of 3? I see that periodically BME680 goes from accuracy level 3 to 2 and than goes back. During this periods, shall I discard the AQI values?

       2. If I don't help the device calibrating by changing the room condition, will it be able to self-calibrate? I try it and it was not able to calibrate for more than 2 days. What can I do for the device to self-calibrate fast without external intervention?

       3. If I understand correctly, the described device configurations in chapter 1.2.2 from the integration guide are loaded during device initialization with bsec_iot_init function, state_load parameter? ... and the data to load is located at BSEC "config" subfolders (uint8_t bsec_config_iaq[454])?

       4. The device will be battery powered (3V initially and down to 2V with the battery discharging). I searched this community and found that only raw temperature must be used in this case, it's OK. I want to read the BME680 outputs at 5 min. period, so is "generic_33v_300s_4d" the right configuration for me?

       5. In the integration guide read that float and integer software versions are available, but in the example only float is used. Where I can find more information about that? Will be good to use temperature values like: t, [Celsius] = (t, [raw] - X) / Y.

       6. If I have new question, shall I post it in this topic or shall I start a new one?

       Thanks in advance,

       Martin Peevski

    5 REPLIES 5

    Occasional Contributor

    Hi Sir:

         Please see the follow comments:

         1.  Accurcay 2 means medium accuracy, sensor calibration may improve performance, but it can be used as well. Accuracy 3 means high accuracy, it is better than accurcay  2.

        2.  If sensor is in a stable environment, the device will be able to self-calibrate in a short term. Ambient changeis extremely important for sensor calibration. So it was acceptable and reasonable to calibrate for more than 2 days if no external intervention.

       3. state_load load history baseline data, it is from state_save() store. The config data is loaded is located at config_load() function (uint8_t bsec_config_iaq[454]) .

      4. Yes, "generic_33v_300s_4d" is the right configuration for me

      5. BESC algorithm is auto-fit different platform, if you want get integer data, maybe you should change output format. So in the example only float is used.

      6. It is better to post it in new topic if you have new question.

      Thank you for choosing BST BME680 and look forward to serving you again.


       Hi Sir,

    Thank you for the responses, but I still need clarification about point 2:

    Am I doing something wrong in order for the BME680 to not calibrate such long time (e.g. 2 days)?

    What can be unstable at the environment in order to not calibrate such long time?

    Are the steps described in the attached picture the only thing to help calibrating faster, assuming no old calibration values are restored during initialization.

    BSEC integr. snipper.png


    Occasional Contributor

    Hi Sir:

        Yes, you are right. It is necessary for a new sensor to expose to clean and pollated air in order to get accuracy  3.

        Your senser is in a room and the air flow and exchang slowly, so calibartion time is more than two days.

    So, its normal to doesn't calibrate for more than 2 days...

    I'll try to save the calibration parameters and hope this speeds up at least next calibrations.