Most of the affordable CO2 meters are relative, not absolute. They set their 400 PPM level based on the lowest value they ever see. That's usually OK, but it's not good enough for places with permanent people occupancy, such as nursing homes.
Absolute detectors with NIST calibration are available but around US$500.[1]
For my use case — simply getting some statistics about the air quality in our shared flat, improving concentration, and having a reminder to ventilate — the accuracy of the SCD40 is sufficient. It also has a self-calibration feature, which works as long as it is exposed to atmospheric CO₂ levels at least once a week. See the detailed specifications here: https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/d...
I built a meter around a SCD30 six years ago. The self-calibration routine was not very good, for two reasons.
1) It had an unrealistically low default level, something like 380 ppm. The atmospheric concentration keeps going up! The linked pdf says "The automatic selfcalibration algorithm assumes that the sensor is exposed to the atmospheric CO2 concentration of 400 ppm at least once per week." Atmospheric CO2 definitely is not 400 ppm anymore.
2) As far as I could tell it made no effort to choose a local minima. In a regularly ventilated space, if it decided to "calibrate" when a door was closed, it could abruptly declare 600 ppm to be 380. I just hard coded an offset value and disabled ASC.
Most of the affordable CO2 meters are relative, not absolute. They set their 400 PPM level based on the lowest value they ever see. That's usually OK, but it's not good enough for places with permanent people occupancy, such as nursing homes. Absolute detectors with NIST calibration are available but around US$500.[1]
[1] https://www.forensicsdetectors.com/products/carbon-dioxide-d...