Question: Does anyone have experience assembling low-cost VOC kits using Adafruit’s VOC sensor?

stevie is asking a question about air-quality
Follow this topic

by stevie | February 28, 2020 17:23 | #22967


Bringing this question in from @sarasage

"I know a bit of Arduino and electronics and am looking to prototype low-cost, low-power VOC detectors over the summer for our community.

A link to the adafruit sensor: https://store.digilentinc.com/pmod-aqs-digital-gas-sensor-for-air-quality/ "



8 Comments

More specifically, does anyone have experience with VOC breakout boards for Arduino?

Do you prefer a different manufacturer?

Do you have experience using AQ Arduino devices in the field?

Thanks! Sara

Is this a question? Click here to post it to the Questions page.

Reply to this comment...


interested in this for sure

Same!


Reply to this comment...


The Adafruit VOC sensor module uses a CCS-811 VOC sensor. Modules with these sensors cost about half as much when purchased on eBay from sellers in Asia.

These modules seem to produce meaningful results. My experience with them is limited (only two research notes: https://publiclab.org/tag/ccs811-gas-sensor/author/cfastie).

Chris

Reply to this comment...


Here is some new data from a gas sensor. This is a module with a CCS-811 sensor (provides an estimate of total volatile organic compounds [VOC]). These modules cost about $10 on eBay. I had two of these running for four weeks in my office on separate data loggers. Both sensors recorded similar variation in total VOC (Figure 1). This suggests that whatever is being measured is being measured somewhat consistently.

2CCS811.PNG Figure 1. Four weeks of data from two CCS-811 VOC sensors in my office. The two sensors were a few inches apart. Each dot is the mean of 60 sensor measurements taken once per second and saved once per minute.

Both of the data loggers also recorded data from a Plantower PMS7003 particulate matter sensor (similar to the sensor in a PurpleAir sensor). Having results from these two sensors together helps immensely when interpreting the results of either. Although I recorded what was happening everyday in the room where the sensors were, it was not always obvious what the sensors were responding to. Lots of activities in the room produced particulates and gases including soldering, 3D printing, room heater with a fan, and human body stuff. Some of these activities produced only particulates, some only gas, and some both (Figure 2).

VOC_PMS25.PNG Figure 2. Four weeks of data from a CCS-811 VOC sensor and a Plantower PMS7003 particulate sensor. The two sensors were two inches apart. Each dot is the mean of 60 sensor measurements taken once per second and saved once per minute.

If I really wanted to have the best chance of interpreting what type of air pollution was being recorded, I would also add a temperature and humidity sensor. I would also keep a detailed log of what was happening near the sensors.

Is this a question? Click here to post it to the Questions page.

Ooh interesting. Yeah could imagine interesting things related to, say, cleaning products, gas stoves, even paints or dry but treated surfaces... plywood, carpets, all possibly producing VOCs. I guess this calls for some kind of complex but repeatable dance routine to sequence a bunch of interactions with these materials.


Thank you so much for posting this! I purchased a couple of VOC detectors over the last week and wanted to know how the off-brand VOC detectors fare in accuracy and your response is so very helpful.

When I have used portable, industrial VOC meters (ppb) in the past, I doubled up instruments because since there is a loss of accuracy the further one goes without calibration (using gas canisters). It seems that 2-monthly calibration worked best when those instruments were in regular use. Is it correct to assume that the Adafruit and other CCS-811 VOC sensors do not need regular calibration or initial calibration, as they use a different technique and not laser-scattering?

Is this a question? Click here to post it to the Questions page.


`>> CCS-811 VOC sensors do not need regular calibration or initial calibration, as they use a different technique and not laser-scattering?

The CCS-811 sensor uses a very clever but crude technique to estimate the concentration of VOCs in air. A tiny heated metal plate is exposed to the air. The resistance of the plate changes when certain types of molecules contact (or are near?) the plate. The resistance is monitored and translated into a ballpark value for the concentration of VOCs.

There is no provision made for calibrating these sensors. However, if you have simultaneous data from a CCS-811 and more reliable sensor, you can adjust the results of the CCS-811 (in the Arduino sketch or afterwards). In general, these sensors will allow you to see how VOC is changing over time or in response to events. The absolute values for VOC will not have much meaning (i.e., they won't stand up in court).

More important than calibration might be adjustment for changing temperature and humidity. The standard libraries for some CCS-811 products allow the temperature and humidity to be automatically entered into the calculation of the VOC result. A $2.00 sensor (e.g. BME280) can be added and temperature and humidity data can be used in real time to get better VOC results. Some CCS-811 modules incorporate a BME280 and do this compensation by default. There are also single sensors which measure VOC, temperature, and humidity (e.g., BME680).

There are some good resources about VOC sensors including:

  1. https://www.jaredwolff.com/finding-the-best-tvoc-sensor-ccs811-vs-bme680-vs-sgp30/
  2. https://www.sparkfun.com/news/2369
  3. https://esphome.io/components/sensor/ccs811.html (has information on calibrating a baseline)
  4. https://github.com/maarten-pennings/CCS811 (a library for the CCS-811 sensor with example sketches especially for advanced projects)

A few things to consider:

  1. The CCS-811 is intended for indoor use. I don't know how it will work outside, but you would certainly want to adjust the VOC results for temperature and humidity.
  2. Indoors or outdoors, interpreting the results will be easier if you also have data from a particle sensor like the Plantower.
  3. Many of the CCS-811 modules run on 3.3 volts (or less) and require special attention when connected to 5 volt Arduino boards. Adafruit's sensors typically have added electronics so you can power them with either 3.3 v or 5 v. The Plantower particle sensors require 5 volts, so it is easier to use them with 5 volt Arduinos. Building a device which includes an Arduino, a VOC sensor, a temperature/humidity sensor, and a dust sensor entails paying attention to the voltage requirements of each component.
  4. Building a device which includes an Arduino, a VOC sensor, a temperature/humidity sensor, and a dust sensor also requires paying attention to memory limits of the Arduino. The code for those three sensors (plus RTC and microSD card) could max out the memory of a standard 328p Arduino.
  5. The CCS-811 sensor must heat up its little metal plate before it gives good results. So you must wait 20 minutes after turning it on before you start collecting data. That means you might want to leave it running continuously which will probably require house power (not batteries).

Chris

Is this a question? Click here to post it to the Questions page.


Reply to this comment...


Log in to comment