AirGradient Forum

Model number for CO2 calibration?

Hiya folks. I’m trying to force a CO2 calibration per this guide.

It seems like I need to select a model number in order to request this. How do I determine my model number? I’ve got a ONE presoldered kit. I think it’s a I-9PSL but I’m not sure… Thanks!

I don’t think that functionality is enabled yet, even though there is a KB article for it

Hm - it definitely is possible to click the box to request calibration! Are you saying that even if I can do it from the dashboard, nothing is actually happening?

Regardless, how do I determine what model I have? Thanks!

Correct, even though the dashboard has the box for CO Calibration, that functionality isn’t working at this time on the open source models. It apparently works on their closed-source models and the functionality is coming to open source.

I have an AirGradient ONE with a V9 board and the model is I-9PSL

Ah. Cool, thanks.

How do you determine the model number besides just knowing it? :slight_smile:

In my original box, there was a cardboard card signed by Achim and it also had all of the models listed with a checkbox next to which one I had.

Do you remember if anything like that came with yours?

There was a signed card with QR code, but that had no information about model numbers.

Also, I’m confused about CO2 calibration. If the sensor is left in a high CO2 room for the 1 week sampling period, how will it develop a good reference?

The sensor is expecting 400ppm once in a while and so it will calibrate to the lowest value it has seen during that period. If the room never reaches that level your sensor will be off after a week or so. But you can take it outside if you cannot get that space to lower levels to calibrate.

As you mentioned, if the sensor never gets exposed to 400 ppm, it will eventually get skewed if the Automatic Background Calibration continues to run every 7 days.

For my basement devices, I took them outside and did a ABC to get them accurate, and then I disabled the automatic part so it keeps what it had calibrated when I knew it was outside. ESPhome made this easier to see and configure and seems to be working well for me.

Whoa. Huh, I would assume that it would lock in the lowest value during first calibration and then not… udpate it again. I’ll do something similar with ESPHome once I set that up, thanks @MallocArray .

1 Like

By the way, we are in the last stretches of writing a complete new firmware version for the AirGradient ONE that would include the CO2 calibration into the main firmware. So no more seperate flashing required.

That’s exciting! I’m pretty new to AirGradient, so can you tell me more about what that means?

My use case will be “leave the sensor in my office 24/7”. I’m not sure if I’m supposed to force an auto calibration outdoors before hand, if I should disable the auto calibration once it’s indoors… etc. I imagine my use case is pretty typical, so any guidance on how to best achieve “reliable CO2 monitoring indoors” would be appreciate :slight_smile:

I think in your case I would just let it run non stop. The automatic baseline calibration should work well provided you ventilate the office once a week.

My unit just arrived yesterday, fully assembled, so it may differ from yours - but I noticed there was a sticker on the pack with the model number (I-9PSL and some other stuff). Maybe check and see if yours has something on the back of the housing as well? Good luck :slight_smile:

Didn’t see anything on my housing… maybe there’s been a rev in kitting!

Hm… I think I follow, but I don’t really love the proposed solution. The reason I bought an AirGradient sensor was to know the quality of my air in my office, where I spend a lot of time. Let’s focus on CO2 for this discussion.

  • I want to know the CO2 levels in my office - not relative to the 1 week trailing low, but the absolute.
  • I understand the need for calibration of some kind between when a sensor is assembled into the unit and when it arrives at my home.
  • I am comfortable running an outdoor calibration upon receipt of the sensor in order to make sure the baseline is correct.
  • After establishing this baseline, it makes no sense to me that the baseline should periodically get updated with a 1 week trailing low.
  • You mention that the ABC should work well “provided I ventilate the office once a week”. This implies that if I don’t ventilate the office adequately, the calibration will be off. But how will I know if the calibration is off? If the sensor is happily reporting low values, I’ll assume that the air is good. It doesn’t make sense to have the source of truth get overwritten periodically.
  • @MallocArray mentioned that forcing a calibration isn’t supported on the ONE? So what’s my solution? It kinda sounds like right now my best option is “leave it outside for one week then disable ABC”. If this is the case, please confirm. If not, please advise on how to achieve my desired functionality - which I don’t think is that out of the norm.
  • By the way, I really hope the best solution isn’t “leave the sensor outside for a week”. Hoping there’s a way to force a calibration per this help guide.
  • Is the linked guide actually accurate? If not, maybe it should have a note saying as much.

Thanks in advance.

2 Likes

The 1 week automatic baseline calibration is a default feature of the Sensair S8 sensor, who is the manufacturer, so they think this is best. Not a decision started by AirGradient, but since they use this sensor, it is a fact of life.

The ABC can be disabled, as well as triggering a manual calibration. At this time, the functionality is not included in the AirGradient Arduino code that comes with it, but a rewrite of the firmware is being done now and will be available “soon”

The linked guide for using the AirGradient Dashboard to do a manual CO2 calibration is not functioning for the ONE devices at this time. They used to sell a closed-source model this worked with, but the functionality has not been made available to the ONE which is open-source (even though there is a checkbox on the dashboard, which I agree is a poor user experience, along with the misleading Blog post)

There is a separate Arduino sketch you can upload to your device to do a manual CO2 calibration, but it does take several steps and then you have to flash back to the standard firmware, but a doable process:
arduino/examples/C02_CALIBRATION/C02_CALIBRATION.ino at master · airgradienthq/arduino (github.com)

If you want to try out the ESPHome firmware that I maintain, it has buttons in HomeAssistant to kick off a manual calibration when you choose (or can use the hardware button to do the same) and has a switch to enable/disable the ABC. No need to leave outside for a week. I just brought all of mine outside for 5 min and did a manual calibration earlier this week because it is getting cold where I am and wanted to get them all calibrated together.

Nothing is calibrated for life. When you buy a sensor it needs a climatize to your environment, you acknowledge that but after a while it ‘can’ be off. Temperature and humidity are reasons the sensor changes its readings slightly but also other reasons hence why moving and shipping can offset it for first use. The nice thing of this ABC calibration is that it tries its internal value to calibrate to 400ppm, a value generally accepted around the world at this point of time. So you always have a quite accurate measurement even when the sensor has been far off what it should be at some point. (Even a simple temperature sensor needs to be calibrated btw and so its value is always relative to the absolute.)

That said, for co2 measurments in a room you dont need 1ppm resolution to know if the environment is still healthy. So when you reach 1000ppm even with a variation of 50ppm(or 5%) for example you know you should ventilate the room. If you think you need better measurements and more accuracy you need to look into much more expensive metrology equipment which the airgradient is not.

It is pretty late here and these are really important issues. I will respond tomorrow with more details.