Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BME680 CO2 in ULP not changing

    BME680 CO2 in ULP not changing


    Hi there,

    Perhaps this is a trivial question and I am just being impatient with getting data but hopefully someone can clarify.

    The bottom line is that when I start the sensor the reading for CO2 en TVOC keep at 500 and 0 respecitevely (if I do not initialize the state). 


    • bsec_config_iaq -> generic_33v_300s_28d
    • sensorList({
    • I am ussing a Feather M0

    The sequence of the program is as follows: 

    • iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire);
    • iaqSensor.setConfig(bsec_config_iaq);
    • iaqSensor.updateSubscription(sensorList, 3BSEC_SAMPLE_RATE_ULP);
    • (this returns the time in millis of an external real time clock)
    • if run returns true do read: 
      • iaqSensor.co2Equivalent;
      • iaqSensor.breathVocEquivalent;
    • When read done: device goes to sleep for 5 minutes (more precisely the interval is 5 minutes + 6 seconds
    • Wake up (go back to top of loop)

    This keeps giving the initial values of 500 and 0 for co2Equivalent and breathVocEquivalent

    When I add upon initialization the setState step:  iaqSensor.setState(state); then I get a Co2 value of 562 all the time which is probably the value I stored previously but this does not change. 

    question 1: when will the sensor (or bsec library) start to actually return out Co2 values?

    question 2: how important is it to store the state and set it when the sensor is woken up? 

    question 3: how long is that state valid?

    question 4: would it be matter to let the sensor run outside on a normal power mode for let's say 15 minutes or so? or does it not matter at all?

    Many thanks for the help!




    5 REPLIES 5

    Occasional Contributor

    Hi Goof:

         You are a nice guy, very appreciate you to share your experience.