Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    Precision of BME680

    Precision of BME680

    New Poster


    i'm working with the sensor BME 680. I'm interested in reading the VOC, IAQ and Co2eq.

    I have created the algorithm on STM32F100 to read the data from the BME680. I've integrated even the BSEC library. I don't use the floating point compensation.

    But about the breath VOC read from the sensor seems very different from the measurement instrument reference that I'm using which read the TVOC.

    The reference instrument is a Trotec BQ16.

    While warming up the BME680 sensor give this values  

    IAQ - 25

    Precision IAQ - 0

    CO2 - 500 ppm

    VOC - 499 ppb

    but since it's warming up it's not a problem.

    But after some minutes time the BME sensor report:

    IAQ - 104

    IAQ accurency - 1

    CO2 - 638 ppm

    VOC - 843 ppb

    While the reference instruments (BQ16) give me a TVOC of 0,22 ppm which is between a third and a quarter of the value read from the BME 680.

    Why? Have I made any mistake integrating your code? If you need I can give even the gas resistance. I'm reading data every 3 seconds.

    The temperature, umidity and pressure seems correct, the CO2 seems quaite similar to the value read from another instrument. But the VOC seems always between 2 and 4 time bigger than the reading from the reference instrument.

    We note even that if the sensor has been turned on for long time, the value of VOC is much bigger. Shutting down and turning on again, the value read of the VOC seems to read a smaller value

    Thanks in advance,


    21 REPLIES 21

    Thank you,

    The sensor acquires every about 3 seconds (is working in low power mode). I have modified only the logger that now registers data only every 1 minute in order to avoid too many data to be manged by excel, above all while since I've been working for many days. 

    So should I consider the data acquired as correct? 




    I'm asking this because a value of 4000 for the VOC is very big, and I see that if I put different sensors one near the other they give different values sometime. Is this connected to a mistake in the way I use the library? 


    Community Moderator
    Community Moderator

    the output accuracy level from your data log towards your final result is not consistent. 

    So i will not say the data accqusition is correct.

    Also where did you get 4000 for the VOC value?  the bVOC?  In my simulation result,  i don't see such big value with your input data. 


    The VOC Value is the BVOCeq multiplied by 1000.

    This is because I want to report an integer value(the ppb is in part per billion) not ppm (part per milion) reported by the VOC



    I found one error, that is the BME680 is actually supplied with 3.3V while from the BSEC integration Guide it appears that by default the configuration of the BME680 is set to "generic_18V_300s_4d". Now I have set the configuration to "generic_33v_3s_4d". Now I have correct the mistake. Let's see if the behaviour now is better... I'll give a new plot once I have registered it.