Hi,
When I upload the example test sketch for the Adafruit ccs811 CO2 sensor the readout starts at 400 ppm and keeps gradually increasing without change in the actual CO2 level (to about 1000 in one hour). When I upload the sketch again it starts again at 400 ppm. The sensor does work. When I breathe over it I get an immediate response. Is this the ‘nature’ of this sensor or is there a solution to this?
Stan
Did you "burn in" the sensor by running it for 48 hours before use, as instructed?
From the Adafruit product page:
Please note, this sensor, like all VOC/gas sensors, has variability and to get precise measurements you will want to calibrate it against known sources!
...
AMS recommends that you run this sensor for 48 hours when you first receive it to "burn it in", and then 20 minutes in the desired mode every time the sensor is in use. This is because the sensitivity levels of the sensor will change during early use.
Yes, it's running for a few days now.
I have similar problem. I know the sensor should run for 20 minutes before getting correct values from it but mine runs for ~10 hours (I use this sketch: https://github.com/sparkfun/SparkFun_CCS811_Arduino_Library/blob/master/examples/BasicReadings/BasicReadings.ino) and it reports ~5000ppm CO2 in a small room where a windows is permanently opened. This can't be true.
I know it was not ran for 48 hours as advised as a burn in period. But it is not clear to me what should be considered as burn in process. Should I kept running above sketch for 2 days? Or is it necessary to leave it just powered on (without any sketch)?
I read it has some auto baseline correction which will be applied after 24 hours ("The air quality is expected to vary in a typical environment so the minimum time over which a baseline correction is applied is 24 hours." - https://cdn.sparkfun.com/assets/learn_tutorials/1/4/3/CCS811_Datasheet-DS000459.pdf)
Will it stabilize in time? Anyone got reliable accuracy from that sensor?
fyi, it seems this sensor has to use actual temperature and humidity to compensate the calculation of CO2 and TVOC. I did 48 burn in in a small room (2 square meter) with slightly opened window. I occasionally checked the reading (had lcd display there). It went crazy - sometimes CO2 ~1500ppm, then jumped to 2500, then to 5000ppm and so. Absolutely crazy values.
Then after the 48hrs burn in I put the sensor outside and it went the same crazy way, but this time it did not jump so much, but stabilized around 4000ppm CO2 which is also crazy for outside.
Then I checked actual temperature and humidity outside and set this via mySensor.setEnvironmentalData(humidityVariable, temperatureVariable); (Sparkfun ccs811 library). Interesting is the CO2 reading stood around 400-409 ppm what could be considered quite OK for outside. Now, after 11 minutes since power on, there is 465 ppm - quite much, but the temperature slightly changed and I do not have temp/humidity connected to the arduino, so I can't dynamically apply the compensation. I will try that when I have time.
I still do not know whether this sensor is usable for monitoring indoor air quality, but at least now, with the temp/humi compensation it does not throw so crazy values.
These sensors are useful for detecting changes in CO2 concentrations when all other variables are held constant.
If you want to have any confidence at all in the readings, you need to calibrate the sensor against dry air with a known concentration of CO2.
I strongly recommend the following tutorial, showing how to use several different types of these sensors to make an electronic nose: http://www.maskau.dk/projects/electronic-nose
do I have to use a little fan that blows air to the sensor?
Not specific to CO2 !