Measurement values for the AirGradient One TVOC readings?

I know the ESPHome module for the SGP41 allows you to provide the temp and humidity sensor data for compensation. Does the Arduino code take the same thing into account?

I found this interesting. Last night I had someone try out alcohol inks for an art project in the basement where the top two AirGradient devices with SGP41 devices are located. You can see an immediate spike up to 500 and it is still drifting down 14 hours later.
In the lower graph, I have an Ikea sensor with an added SGP30 that does give values in ppb and also saw a similar spike. This sensor is located upstairs, so the VOCs almost instantly circulated around the entire house. (HVAC fan was running) although it recovered to near baseline levels in under 8 hours.

I am actually currently doing some similar experiments with the raw signal but still figuring out the best setup for the experiment.

1 Like

In regards to the person talking about styrene and ASA printing.

I have an IKEA VINDSTYRKA about 50 feet from my basement office. It uses a Sensirion SEN54 internally which uses a similar VOC index.

When printing ASA, I typically shut my door and have HA turn my air purifier on high. Tonight, I went into the office while printing ASA and forgot to shut the door behind me and this was the result on the sensor.

When in my office, I can smell the styrene and if I stay too long my throat gets scratchy and I get a strange metallic taste on my tongue. I mention this, because in my office the VOC sensors in my Dyson fan barely register anything. Which leads me to believe not all VOC sensors will detect styrene.

My AirGradient is in the process of being delivered to me, and I am bummed to find out about this rolling 24 hours as I mainly bought it to monitor the gas output from my 3D printer.

@Achim_AirGradient, could you give an update about your conversations with Sensirion and experiments? I think the core questions were about measuring absolute values (or something closer to it), and explicitly calibrating the baseline instead of using a short rolling baseline. Thanks.

I purchased the airgradient one to measure tvoc levels with a filtration hood iā€™m designing and stumbled upon this thread with the same issues as others. Fortunately the beta firmware just released exposes the raw data which looks like sensor resistance? 29000-31000? I charted these numbers during prints and they seem to mirror the air quality index (ind40). I would have expectd these numbers to be much more different? The first giant spike is printing ABS in a small enclosure with no filtration, the second large spike is printing abs with a filtration system. the absolute last large spike just before the chart ends is printing with zero filtration again and it reads as if I was using filtration. Iā€™m really not sure what to do with this data.

top is raw data
bottom is ind40

I think it looks like intended. Short term spikes will have similar curves on both the raw signal and the index.

The divergence would come if you for example put the monitor into a box with high VOCs. Then within 24h, the index number should slowly reduce to 100 whereas the raw value would stay on a similar level.

I think the part iā€™m struggling to understand is that ind40 readout is based on the air-gradient being on already for 12 hours. The first and last spike of the raw data is running an unfiltered print with the same material and conditions, but the raw dataā€™s last spike isnā€™t anywhere near the raw dataā€™s first spike and looks more like a reflection of the ind40 data which is a gradual decline due to the rolling 24 hour window. Iā€™ll do some more tests that show what Iā€™m talking about. It could be a fluke, but what Iā€™ve seen so far is that the raw data mirrors the ind40 data no matter what, Iā€™ll verify this on the beta firmware and report back if youā€™re interested.

Iā€™m just learning this stuff, so I may be a bit confused as well.

Okay, reran tests and it looks like a fluke. Itā€™s behaving as you described, thank you so much for the reply. Is there any chance weā€™ll get to see the raw data in the airgradient cloud app in the future?

Yes it will most likely get integrated into the dashboard but will take a bit of time cause we have quite a big backlog of other issue and features to implement.

1 Like

Iā€™ve had the data up in home assistant for a while and noticed that tvoc PPB is only present in the airgradient cloud when you export data and doesnā€™t seem to be published off the device as far as I can tell. Does anyone know where that comes from or how itā€™s calculated?

The ind30 is a conversion to be compliant with building standards that use ppb values.

More information here:

1 Like

Thank you! Sorry to keep poking away at you, but I finally got all the airgradient data into a dashbord in HA. I vaguely recall reading or hearing that the temperature and humidity module are used to correct/adjust the AQI, but I canā€™t find where I read or saw that. I have both an Ikea vindstyrka with sensirion hardware and the airgradient one showing that with rising temperature in a controlled space that the aqi also rises as the temperature rises. Should this be the case?

Depending on what code you are using on your AirGradient to send to HA, it may be using the Temp/Hum for a compensation. My ESPHome configuration does for sure. Iā€™m not sure if the Arduino code does or not:

sensor:
  - platform: sgp4x
    # SGP41 https://esphome.io/components/sensor/sgp4x.html
    voc:
      name: "VOC Index"
      id: voc
    nox:
      name: "NOx Index"
      id: nox
    compensation:  # Remove this block if no temp/humidity sensor present for compensation
      temperature_source: temp
      humidity_source: humidity

The AQI should be based on the PM2.5 value over time and shouldnā€™t have temp/humidity factored in.

The TVOC measurement can take it into consideration, if configured

Ahh, okay. Thanks for that reply. Maybe Iā€™m conflating the terms. So the 0-500 voc index should take into consideration the temperature and humidity?

Correct, this is what can be done, but would have to look at the Arduino code to see if it is configured that way

Looks like there is a function for it in the example code in the sensirion libraries, but i canā€™t find evidence of it in the airgradient side of the code. Iā€™m looking through more of my charts and itā€™s pretty clear that the tvoc index (ind40) rises and falls over a 24 hour period with the ambient temperature. The index will dip under 100 down to 20 around 2-3am in the morning and slowly climb back up to 150+ as afternoon approaches. I have the airgradient one in a third bedroom that doesnā€™t have AC.

I am checking with our firmware developer if we do the temperatur/ humidity correction. If not it will be implemented in the next update.

2 Likes

Does your esphome config for the airgradient one expose raw voc data or just the voc index?

Only the VOC index. It is using the sensor component from the ESPHome project without modification.

The official libraries only report the Indexes as designed.

As far as I know, the raw data is unitles, so only helpful in seeing trends

There are other tuning options available in the ESPHome sensor module to adjust the time of collects data, but out of the box matches the manufacturer default recommendations