Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 : calibration time

    BME680 : calibration time

    New Poster


    I'm trying to work with the BME680 in a really fast and punctual way.

    Use case : the user powers-on the device, may wait for 5 minutes (e.g. the time to go from an IAQ accuracy of 0 to 1), but then when can they expect to have relevant values (e.g. passing from an IAQ accuracy of 1 to 2, and then 3)?

    1. The calibration is quicker when agitating a COV source (whiteboard marker, essential oils...) near the sensor, but it may last up to 20 minutes...
    Is there any protocol that could guarantee to the user a quick calibration in a fixed time, in order to obtain a measure quickly after power-up?

    2. Moreover, after powering-off the device, in the same working environnement, would it be possible at the next power-up (use case : only few minutes after power-off) to by pass these 5 minutes of "boot" (e.g. the time to go from an IAQ accuracy of 0 to 1), and load the previous calibration data?


    3 REPLIES 3

    Community Moderator
    Community Moderator

    Let me try to answer your question in following:

    1.  After sensor is fully calibrated,  you can save the calibration parameters on system memory.    then next time when system boot up,   you can load these parameters then set back to BSEC lib.  this way can definatedly improve / reduce the calibration time.

    2. Make sure you can save the parameters when calibration level goes to 3

    3. If the environment is not changing at all,  then after power on,  the systm can go directly to  calibration level 3.

    3. There is no protocol to guarantee user to calibrate sensor in fixed time.    Best way is always to save / load the calibration parameters. 

    Thank you for your reply.

    1. How can I collect the calibration parameters from the sensor, and once I boot my device back how can I write them back in the BSEC library?

    2. Moreover, this process to save / load the calibration parameters improves the calibration time, but will this given calibration still correct if I change my environment?

    For example : I calibrate the sensor in an office first, then I store the calibration parameters (once at IAQ acc = 3), I power off my device, and at the next boot in another environment (for example : outside) I load the previous calibration parameters to improve the calibration time. Will these calibration parameters still good? I mean, is it ok to make an initial calibration only once, then store it, and at each new boot load it into the BSEC library  whatever the environment? Or does the BME680 need to re-calibrate itself according to this new environment if the give, calibration parameters are too different than the actual environment?

    Community Moderator
    Community Moderator

    You can find example of save / load calibration parameters with BSEC interface from the lib package you download from our website. 

    If you switching the environment,  the calibration parameters are definately no meaning.  then you will see the calibration level jump to 3 after load the parameters,  then quickly drop to 0 because the sensor report a totally different value. Then a new calibration procedure will be start from 0 again.  in this case,  the calibration parameters are not able to speed up the calibration time. 

    After SMT,   sensor needs more time to return to normal working situation.  so a fully calibraion of sensor is recommended just after SMT in factory.  then store the calibration parameters. 

    When device is re power on at field,  a new full calibration procedure will run in background and help to speed it up with load parameters.