Read the equivalent CO2 and VOC gases in the air to evaluate the air quality with the CCS811
Breathe more quietly in the town with this VOC/eCO2 sensor. Made available by Adafruit, this I2C air quality allows your project to monutor the Air Quality with the help of CCS811 sensor. The CCS811 from AMS is a gas sensor deisgned to detect a wide range of Volatile Organic Compounds (VOCs / COVs). It is intended for indoor air quality checks.
Once wired on the I2C bus of your microcontroller and running the Adafruit's library, it will provide the reading for "Total Volatile Organic Compound" (TVOC) and reading for "equivalent carbon dioxide" (eCO2). The breakout also include a thermistor that can be used to calculate the local ambient temperature.
The CCS811 has a standard MOX sensor (hot-plate) and a small microcontroller controling the hot-plate power, reads the analog internal sensor voltage and provides I2C interface for your microcontroler.
This component will measure:
- eCO2 (equivalent calculated carbon-dioxide) concentration and returns parts per million (ppm from 400 to 8192),
- TVOC (Total Volatile Organic Compound) concentration and returns parts per billion (ppb from 0 to 1187).
According to the datasheet, it can also detect Alcohols, Aldehydes, Ketones, Organic Acids, Amines, Aliphatic and Aromatic Hydrocarbons.
Adafruit included a NTC thermistor (10K) with matching balancing resistor to the CCS811. The value can then be readed throught the CCS811 (so via I2C) to calculate approximate temperature on the microcontroler :-)
The CCS811 has a configurable interrupt pin. The interrupt can be fired when a conversion is ready and/or when a reading crosses over a user threshold. Finally, the CCS811 offers multiple driving modes to take a measure every 1 second, 10 seconds, 60 seconds or 250 milliseconds.
The sensor is placed on a breakout board together with a 3.3V regulator end level-shifter. The adafruit breakout is ready to used with 3.3V and 5V microcontroller.
Variability and calibration
Like all VOC/gas sensors, has variability and to get precise measurements you will want to calibrate it against known sources! That said, for general environmental sensors, it will give you a good idea of trends and comparisons.Also, 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. Finally, this chip uses I2C clock stretching, and some microcontrollers/computers don't support that (e.g. Raspberry Pi)
Adafruit prepared software libraries to get you up and running in Arduino IDE or CircuitPython with just a few lines of code!