Does CCS811 has any helpful value as CO2 & TVOC Sensor?

Hello,

I use the CCS811 from Adafruit (NOT from China) and the example program CCS811_test from Adafruit and the Adafruit library.
One change in the software: The sleep time was increased from 1000 ms to 10 000 ms.
Sensor has been used for a week now, so you can assume that it is burned in.
I am not expecting very accurate readings, but I thought if the increase in CO2 is detected in my office, I could be warned when it is time to open the window.
I have had the same experience as other users (e.g. here: CO2 level readout Adafruit ccs811 CO2 sensor gradually increases. - Sensors - Arduino Forum).
When I upload the sample test sketch, the display starts at 400 ppm and gradually increases. This may be right or wrong, but if I reset it, for example by restarting the serial monitor (without touching the sensor or Arduino) ... the display starts again at 400. You might imagine, within the 3 seconds the restart takes, neither the temperature, nor the humidity, nor the CO2 concentration has changed in a way that justifies this change in the measurement.
Let it run again, readings increase up to 2000 and more. Restart the serial monitor again - reset the Arduino+Sensor this way ... the "measured“ values start at 400 again.

Another, I used the Sparkfun library. Same. Co2 level increases with run time and just by reset the "CO2 level" drops to 400.
Assuming that, it looks like either the sensor or the libraries are not ok

And another thing, the TVOC value always follows the CO2 value. One could create a formula.
It is 2 linear relationships – See pic attached.
Between 400 and 1500 TVOC = (C02-400) *0.15 i.e. at co2=700 computes to 45.
Above 1800 TVOC = (C02-1650) *2.1 i.e. at co2=2200 computes to 1155.
One gets the impression that these are not independent measurements of CO2 and TVOC.

Did I hit a faulty sensor?
Something wrong with the software?
What is your experience?

Cheers!

Hi,

In a loop,
I'm doing 12 measurements, discard the first 2, use the later 10 for averaging.
As the sensor seems to go to "normal" after reset, I implemented a reset by putting RST low for 10ms and calling begin() again.
End loop
(Some waits etc. included)

Success: sensor is always close to 400 ppm, no increase by time any more.

2nd test:
I put a tiny amount of Isopropanol close to sensor so the vaporised Isopropanol could reach sensor.
Sensor measures TVOC, but same for CO2: Here how it looks like:

eCO2: 401 tvoc: 0
eCO2: 403 tvoc: 0
eCO2: 1436 tvoc: 1539
eCO2: 2316 tvoc: 1932
eCO2: 1663 tvoc: 1240
eCO2: 473 tvoc: 11
eCO2: 652 tvoc: 40
eCO2: 410 tvoc: 1
eCO2: 401 tvoc: 0

It does not look ideal to my that the increase of tvoc in the air is measured as a CO2 increase in parallel.

Breath to the sensor:

eCO2: 416 tvoc: 2
eCO2: 2204 tvoc: 1283
eCO2: 407 tvoc: 1

In parallel to CO2 , the tvoc is activated. No selectivity, again

Did I hit a faulty sensor?
Did I got something wrong in description?
Something wrong with the software?
What is your experience?

Cheers!

Update:

  1. I used a different CCS811 sensor (For verification, maybe the first one was defective)
  2. I have added a BME680 for comparison purposes (green line in the diagram, y-axis right, inverse)
  3. Instead of 1 second a break between measurements, I gave the sensors a pause of 10 seconds to give the heater or whatever is inside a little more time to relax.

See Pic1.
This second CCS811 (red line) is not worth it either.
According to this, the CO2-ppm values rises at 23:00 like in a volcanic eruption and stays at this value the whole night.
A simple restart, 0800, via serial monitor brings the readings down from volcano atmosphere to clean air.

You can probably trust the values from the BME680 more.
After the restart at 0800, it took some measurements to calm down, but it continues at the point where it was interrupted.
A open window around 1700 leads to lower values. Looks okay to me.
The bad thing is that the BME680 outputs a resistance, higher is better. To get "air quality", you have to use a method from Bosch that doesn't fit into small memories. This "Indoor Air quality - IAQ Index" may represent this air quality, but it is not a clear indicator for eCO2 and tVOC.
From this point of view, both sensors cannot be used for eCO2 and tVOC.

If you have any idea or hint what can be used to reliably measure CO2 and air pollution by organic components (Methan, Butan, Ethan, Ethanol, CO, Acton , ....) please let me now.

Martin