AirGradient Forum

Measurement values for the AirGradient One TVOC readings?

(Disclaimer: I’m fairly frustrated with AirGradient’s VOC implementation as I understand it. I may be wrong and I really hope I am. I share @ichiban’s concern.)

If I read https://sensirion.com/media/documents/02232963/6294E043/Info_Note_VOC_Index.pdf , apparently:

  • The readings from the VOC sensor range from 0-500, BUT THOSE VALUES ARE NOT MEASURING VOCs.
  • Instead, the 0-500 is a relative value compared to the past 24 hours’ readings, which is treated as a baseline of 100. From the Sensiron PDF: “Note that every indoor air environment contains a certain VOC background stemming from constantly off-gassing sources. On the VOC Index scale, this offset is always mapped to the value of 100, making the readout as easy as possible: a VOC Index above 100 means that there are more VOCs compared to the average (e.g., induced by a VOC event from cooking, cleaning, breathing, etc.) while a VOC Index below 100 means that there are fewer VOCs compared to the average (e.g., induced by fresh air from an open window, using an air purifier, etc.).”
  • The PDF does not say whether the ranges from 0-100 and/or 100-500 are linear, logarithmic, or something else.

I’m frustrated because, if it really is an index of 0-500 where 100 is the average of the last 24 hours:

  • Literally zero users are interpreting this reading correctly. We can see this from the comments here, where one person - an experienced user who has written integrations - mentioned opening a window at 150. If 150 just means 50% more than the last 24h baseline, then a reading of 150 (or 250 or 500…) is inconclusive. Without knowing the absolute value of the baseline (is my 24 hour average high or almost none?), the relative readings are meaningless.
  • The PDF that @Achim_AirGradient linked to in this thread should be linked to from every mention of VOC on AirGradient’s site, alongwith a layperson’s explanation like the one I gave above. If the sensor works the way I described here, it’s not a VOC meter, it’s a VOC change meter (and without knowing what the baseline value is, not even useful for that). The other units on the display, PM2.5 and CO2, are both absolute values and VOCs should be too, but at a minimum, if it’s not, the explanation should be broadcasted everywhere.
  • I bought this product primarily to be a VOC meter, and I still don’t know the VOC content of my air. I know when it increases relative to an undefined baseline, which is completely different (and without knowing the baseline, useless to me). Most of us want to measure “VOC background stemming from constantly off-gassing sources,” not just newly-appearing VOCs.

As a new owner, my AirGradient VOC meter spiked to 300+ when I was making toast, which is what led me to this thread. If not for this thread, I’d probably have ordered an $800 carbon VOC purifier an hour ago. Because I stumbled across this thread and then the Sensiron PDF, I now think those readings are useless without knowing the baseline - and when misinterpreted like many of us are, they’re worse than no readings at all.

I wouldn’t have purchased this product if I’d known it was only going to tell me changes relative to an undefined baseline.

I want to emphasize that, if I’m misinterpreting https://sensirion.com/media/documents/02232963/6294E043/Info_Note_VOC_Index.pdf , that my comments are misguided. I look forward to @Achim_AirGradient’s thoughts and potentially his corrections. I look forward to being wrong about everything I’ve written here.

2 Likes

I’m new here, and just got my AirGradient in the mail yesterday. I’m glad I found this thread, though, as I was trying to understand the VOC readings!

I’ve got less than 24 hours of data so far, but something I noticed this morning after waking up is that the VOC and CO2 both spiked massively this morning, and I was surprised how high VOC went because I thought it was supposed to be a 1 to 500 scale… But mine spiked to over 700 a few minutes ago, and it’s sitting in the 600s now. I’m unclear how that is possible with the sensor scale as described in the PDF y’all linked to earlier :confused:

I’m also really wondering about some sort of calibration, though. I thought it was supposed to come calibrated from the factory and tested, but this morning alongside the VOC spike the CO2 reading also went up to over 1400ppm. That seems crazy high, but we do have a pretty well sealed house I think and my main reason for getting this was to check and see if we were exposing ourselves to dangerously high CO2 levels. Now, though, I don’t know if I can trust these readings :confused:

1 Like

Well written, @troy. I share your feelings.

I wouldn’t have purchased this product if I’d known it was only going to tell me changes relative to an undefined baseline.

Couldn’t have said it better myself. I’m feeling the same way about CO2, for what it’s worth. That discussion is happening on this thread.

I’ve seen CO2 levels over 2500 in my basement when we had 6 people watching a movie. I also see pretty consistent 1000-1400 with just me in the basement working. My house is also pretty well sealed, so not sure if I need a ERV or something to introduce fresh air.

With being able to trigger a manual CO2 calibration while I have it outside and then disabling the automatic weekly calibration, I’ve had consistent results that I trust.

I do share some of the concerns around the VOC index, but honestly, I have a SGP30 sensor that does give a true number for concentration of VOC, but it is so erratic and the numbers seem to unrelatable that I don’t really give it any credibility.
Note, this sensor also needs a 12 hour calibration outside anytime firmware is updated and 1 hour any time it is powered up after that. Calibrations are just part of the game
SGP30 CO₂ and Volatile Organic Compound Sensor — ESPHome
image

This is an extremely important discussion and something I can relate very well to as we went through similar thoughts when we developed the monitor.

It’s very late here in Thailand now but I will respond to this in detail tomorrow.

2 Likes

Interesting - thank you for sharing your experience!

I saw some other mentions on this forum of running an outdoor calibration and then turning off weekly automatic adjustments, but I didn’t see anything about that in the online setup guide (which I followed to configure the unit upon arrival). From your comment on another thread, though, it sounds like I need to wait for a new firmware before this will be available on my unit?

I went ahead and ordered another CO2 monitor from Amazon (the best-rated one I could find there for under $200 - similar in cost to this AirGradient) so I should soon be able to compare the results from these two units and see what is going on. One of the reviews of that unit, though, suggested putting HEPA filters over the air intakes in order to get accurate CO2 readings - so I have those on order as well :confused:

For the ability to manually calibrate and disable automatic calibration, you will need to wait if you are using the Arduino code firmware>

The ESPHome option integration has both features currently

I’m honestly not sure what software / firmware this unit is running. I purchased the fully-assembled One, since it said that it included test certification. Is there a way to identify the firmware type from the web-based dashboard? This is what I show in “Sensor Information” - which includes a firmware version, but no other details I can see:

Sensor ID: ###########
Sensor Maker: AirGradient
Linked Location: Living Room
Firmware Version: 1.0.0
Model: I-9PSL-DE
Sensor Commissioning Date: Jan 11, 2024

Test Report:
Status: passed

That is the Arduino based one direct from AirGradient

1 Like

Good to know - thank you! I will await that updated firmware so I can try calibrating it, but also compare to the other brand of CO2 monitor that I ordered.

For what it’s worth, I’m now running a 3D printer for a styrene-based print next to my sensor and the TVOC levels are happily staying around 50. They don’t seem to be responding to 1 hour of styrene gas being emitted… 30 cm away from the sensor.

You are printing ABS?

I haven’t seen considerable increases while I’m 3d printing, but I’m mostly using PLA. Just about ready to do some ABS though

ASA, but similar family.

@ichiban @MallocArray @William @troy

I just wrote a detailed blog post about TVOCs and our opinion on how it should be used.

TVOC - When it's useful and when it's useless

I hope that this explains some of the issues raised here.

I also added more infomation on our product pages explaining and linking to the Sensirion VOC index.

Happy to discuss it more here in case there are any questions or thoughts. One of the reasons we want to discuss this topic in one of our planned webinar is just the complexity of it.

4 Likes

Thanks for thinking through this, @Achim_AirGradient. The 2 examples in your new blog post are the types of things that I’d like to use my AirGradient for, but I don’t understand how the AirGradient/SGP-41 readings would allow for those examples. Can you edit the blog post to add some detail? Here’s the specifics I’d like to understand:

  1. In the art class example, if someone opened a can of paint and the TVOC reading spiked, the reading would only spike until those new VOCs got incorporated into the rolling 24 hour baseline. That is, it might jump from 125 to 400 (just examples), but over the next 24 hours, the readings would drop back down to 100 as the rolling 24 hour baseline gradually increased. How would they know that the paint can (or any other source) is still affecting the air?

    This is the best example of what I’d like to use AG for, but I don’t understand how relative readings against a short-duration rolling baseline (24 hours) could “[show] high VOC levels that stayed up for quite some time”. If the VOC levels stay up for more than a few hours, the baseline (100) value will start to factor that in. If the VOCs in the air stay constant (ie, a paint can that is open), then the meaning of 100 will gradually rise until it’s the same as the current readings; given constant VOCs, it seems impossible for the readings to stay elevated for long enough to identify an issue like this.

    (This wouldn’t be true if the rolling baseline was the average over a far longer duration, such as a month, or if the baseline wasn’t rolling and was only updated when the user requested it.)

    I hope I’m explaining this clearly. There may well be some part of the Sensiron’s or AirGradient’s implementation that I don’t understand, if so, and that’s what I think should be added to the blog.

  2. In the office building example where “the VOC levels increased dramatically,” can you add some guidance about what readings users should consider “dramatic” and how you arrived at that guidance? Like if a reading jumps from 75 to 400, how do they know that’s a dramatic increase? I assume it’s big in relative terms, but how would they know it’s big in absolute terms (or whatever you consider worth investigating)?

    I like your constraint that “to only put sensor modules into the AirGradient where we can clearly know what causes the measurements and clear actions can be derived from the values.” In that example, can you add some guidance how to know whether 400 (or 300 or 495 or…) is a big enough increase to warrant investigation? (I’m just talking about quantity here, not the specific compound. Obviously these are total VOC sensors, so they can’t say whether the specific compound is actually a health problem. That is up to the user. I’m just wondering how this office example would know when they should investigate.)

  3. What is the scale? I mean that in 3 ways:

  • Is the range from 100-500 linear, logarithmic, or something else?

  • Same question for the range from 0-100, and is 0 really 0 in absolute terms too?

  • @William reported readings in the 700+ range (ie, outside of 0-500). Is that possible, and if so, what is the range of possible values?

Last but not least, thank you! You’re solving an important problem and these are complicated topics. I appreciate that you’re taking the time to think through them and help users do the same.

3 Likes

This may be that a styrene print doesn’t produce any VOCs that the SGP41 detects. Your experience made me curious, so I Googled does sgp41 detect styrene (not exactly the most optimized query, sorry! :slightly_smiling_face:) and landed here: Evaluating a Novel Gas Sensor for Ambient Monitoring in Automated Life Science Laboratories - PMC

I haven’t read it all yet, but:

The SGP41 sensor was tested with 10 different VOC solvents, namely acetone, acetonitrile, benzene, diethyl ether, ethanol, formic acid, hexane, isopropanol, methanol, and toluene.

The VOC-Index (SGP41 sensor) and IAQ-Index (BME688 sensor) testing revealed that both sensors have a good response to all tested solvent volumes.

Styrene gas is not among the compounds mentioned. That said, Emission Profiles of Volatiles during 3D Printing with ABS, ASA, Nylon, and PETG Polymer Filaments - PMC has a chart of emissions observed during ASA FFF printing. Find in the document for “Temperature-dependent emission profile of the ASA filament”. They did detect some toluene and
benzene, especially at >240 C.

Here’s one idea: use a long enough power cord to put it outside or in a window for 24 hours (assuming your outdoor air is clean). As I understand it, that would reset the baseline 100 reading to be the reading for outdoor air - hopefully quite low. Then, without unplugging it, set it near the 3D printer and do the same type of print. If it registers this time, maybe your indoor air has enough VOCs present that a print doesn’t increase it enough to register. I have no clue here, I’m just guessing :slight_smile:

In case it helps, I am attaching a screenshot of the dashboard showing the high TVOC reading yesterday - and you can see there was a second spike over 500 this morning as well.

You need to look at the ind40 column which will represent the SGP41 voc Index and max out at 500.

(The ind30 is a conversion we do for some building standards. In my opinion not very useful but some customers need it.)

@troy I contacted Sensirion about this and will add some more details into the blog post once I hear back from them.

2 Likes

I was similarly confused as Troy about the point of relative TVOC values. I’ve looked at the spec sheet for the SGP41 sensor.

The sensor does give you absolute values. After measuring the raw values, you are supposed to use them as input to their index algorithm, which calculates the relative value.

The raw signals in ticks are proportional each to the logarithm of the corresponding sensor resistance. These tow signals are used as input for Sensirion’s Gas Index Algorithm to provide processed VOC and NOx Indices.

I expect this algorithm is computed in Airgradient’s firmware. I haven’t checked the code to verify this yet.

In my opinion this is wrong. I want to see the absolute raw values directly. You can always go from absolute values back to relative values, but you cannot do it the other way around. For all the measurements that the monitor shows, I have an estimate in my head about what a normal value is, which allows me to recognize shifts. And if I can’t do this intuitively, then it is obvious from graphing the change over time. But using a relative value only as is the case right now for TVOC is wrong.

Imagine I introduce a constant TVOC pollutant in my home. The measurement would initially spike but then gradually go back to the neutral 100, as the algorithm learns over 24 hours that this is a normal value. I would then think that my TVOC pollutant has disappeared when in fact it is still there.

2 Likes