AirGradient Forum

Measurement values for the AirGradient One TVOC readings?

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

We use the official Sensirion library in our fw code that calculates the index.

This is the recommended application of the sensor by Sensirion.

However, I will also discuss with them to what extent the raw value makes sense. It might then be something that we can report in parallel.
I will update here once I hear back.

2 Likes