Measurement values for the AirGradient One TVOC readings?

I recently got the AirGradient One and I am trying to interpret the TVOC readings. Are these readings in a particular measurement like ppm or ppb? On the product information, it says that the sensor has a range of 0-1,000 ppm of ethanol equivalents; but are those the units given?

And, is there some way to make the unit upload in real time to the web interface? Or to correct the timezone? I’m trying to look at my current readings, and it’s 10:33 PM in my EST time zone; but the unit says that the most recent readings were from 23:08:10, which I’m assuming is 10:08 EST but the unit seems to think we are one hour ahead. Any way to fix the time that the unit thinks it is?

1 Like

From what I can tell, with the SGP41 module the TVOC readings are some kind of index. A previous thread that linked to a video that Achim did looking at variability between sensors of the same make showed the TVOC sensor had a wide variability in the same conditions… so my understanding is the TVOC sensor is mostly useful for detecting peaks (and if you can figure out the source— the sensor can’t tell us what specific VOC it is).

If this is inaccurate I’d love to know also!

Yes that’s spot on.

Here is more information about the index from Sensirion who is the manufacturer.

Following up on this - so… maybe, simply put, how do folks here use the TVOC readout?

If the number goes up over 150, I see if I can crack a window or turn on a circulation fan. Otherwise, I ignore it.

1 Like

We are planning to make a webinar around the topic TVOCs. To discuss the following:

  • What are TVOCs
  • How do TVOC sensors work
  • What are the use cases to use low cost TVOC sensors for
  • What are the limitations

Let me know if there are specific questions that we should address.

1 Like

Great! Specific info around “how to interpret the actual displayed value” would be good too!

Yes good point. (Probably the most challenging one. So you are right on the mark ;).

1 Like

Speaking of… my TVOC has been reading super high without much basis for the past couple hours. 300+.

I was running a 3D print, but I’ve run equivalent prints in the room before without any noticeable TVOC increase. This makes me feel like something is off with the TVOC sensor. Either it wasn’t detecting TVOC before or it’s spuriously high now. The print has been done for several hours now and an air filter has been running and TVOC reading is still super high.

Between CO2 being a bit of an uncalibrated “black box” and TVOC being… well, all over the place, I’m having trouble really trusting this sensor :-/

1 Like

Many things can increase the TVOC readings. Cooking in the house, using hand sanitizer near the sensor. I haven’t noticed a regular spike when I 3d print, so can’t say if that should always register, especially with PLA.

CO2 isn’t necessarily uncalibrated, but it is calibrating once a week to the lowest level. If you know, or suspect, that you may not get that low in a week, then you can take it outside for 5 minutes, run the process to do a manual calibration, wait 3 minutes, and then disable the automatic calibration, and you should be mostly set.

I did read that moving the sensors around, such as shipping them, can throw off the calibration and is part of why the automatic is running. I don’t move mine much, so once I calibrate outside, I gently move it inside and let it sit.

To be clear, this isn’t something specific to AirGradient or even the SenseAir S8 module being used, but I’ve seen other CO2 sensors do automatic calibrations like this, so being aware and choosing how to handle it is part of the open nature

(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 , 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 , 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.


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

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.


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