AirGradient Forum

CO2 Calibration Baseline

Just received my Airgradient One and noticed it was reporting an outdoor ambient CO2 level of 320 ppm when my area is at about 440 ppm. I used the “Request CO2 calibration” feature in the dashboard to bring the reading up to 400 ppm.

Is there a way to set the baseline CO2 level to 440 instead of 400? If I have to learn how to do it by modifying source code, that’s fine, I just want to know if it is possible.

Thank you.

The calibration feature is built into the sensor itself.

Best you could do is to add an offset to always add 40 to whatever the sensor report.

But CO2 varies pretty significantly through the day and seasons, so you would have to know exactly when outdoors is 440 according to reference devices to calibrate yours.

I personally would just leave it as factory

2 Likes

Hello @Darknyte , just out of curiosity - what is your current altitude in respect to sea level?

Asking as I’ve observed something similar on both my indoor and outdoor monitors (initial values quite below 400ppm), and in my case the explanation was rather my altitude.

If that’s your case too, I’d just like to mention that the calibration offset would not be enough for correcting the sensors readings - even if you set the target value to be 440 ppm.

We’ve had a specific discussion on this topic here: Altitude compensation for CO2

(But if you’re at or close to sea level, then my comment above doesn’t apply)

1 Like

Thanks for your thoughtful response, I will leave as-is. I have enough information to know when to open a window.

Altitude is about 110m above sea level. Appreciate the response, your comment is helping me explore new areas that I knew nothing about.

Ah ok, I think at 110m the impact should be minimal and wouldn’t explain the initial difference you observed.

In general I think it’s difficult to set any specific CO2 baseline level because CO2 could also drop below the current average levels eg when nearby plants produce a lot of oxygen.

Why is the CO2 calibration baseline still 400 instead of 430, the actual CO2 level?

Because localized CO2 levels are not guaranteed to be the global average?

The sensor itself has an accuracy of +/- 40 ppm or 3% of the reading (whichever is greater) so really it doesn’t matter much anyway. A reading of 430 and a reading of 400 could effectively be the same in terms of the real CO2 level at the time of the reading.
Id argue against increasing the default calibration to 430. Since the sensor is both + and - 40, increasing it to 430 may cause the sensor to drift even further from the real co2 reading, in other words, it would harm precision on the whole of all air gradient units. Some batches may be more precise while others would be less. The way it is now, it doesn’t matter what batch your sensor comes from. If you need better precision you’d need a reference monitor to calibrate to, but that’s not going to make the s8 any more accurate.

The footnote suggests it might even be a wider margin of error at higher readings.

  1. Note 1: ±75ppm Accuracy at 600, 1000 and 2500ppm @ sea level, 77 °F (25 °C) (ANSI/ASHRAE compliance)

The baseline of 400 is built into the S8 sensor itself. To make it calibrate to 430 would require software adding a hard coded offset to whatever the sensor returns internally.

But the level of 430 isn’t constant either. It fluctuates throughout the day and over multiple weeks. Check out the Full Record, 1 Year, and Last Month graphs here:
Trends in CO2 - NOAA Global Monitoring Laboratory

So it won’t ever be fully accurate to actual reading, and by keeping the default of 400, you can compare against all other S8 sensors that are doing the same, where changing the offset on only AirGradients would cause issues with comparison.

This is in addition to all of the accuracy concerns brought up by other contributors.

1 Like