| I think the elephant in the room is calibration of the CO2 detector. When I looked into this a few years ago, I couldn't find any accuracy guaranties for CO2 meters marketed for households / greenhouses. The closest thing I could find were laboratories that could test CO2 meters in chambers with known CO2 concentrations. But IIRC the pricing for those labs was prohibitively expensive. - There were literally no guaranteed accuracy bounds for the meters I looked at. So they could be off by 3x reality for all I know. - Their calibration systems relied on an assumed CO2 concentration for outside air. But even if the calibration system ensured that the meter would report the right number for that CO2 concentration, there was no information about how accurate the calibrated meter would be at other CO2 concentrations. Nor information about how the meter's numbers would be off when the CO2 levels observed during calibration differed from the level assumed by the calibration logic. These limitations might not be a problem for some applications. But they could be an issue when people want to relate their meters' readings to the numbers used in various research publications. |
This works acceptably if the sensor is frequently exposed to outdoor air, but in a residential environment that's not always guaranteed, particularly in winter when it's not uncommon to keep windows closed to retain heat. In these situations the sensor will consider the lowest level to be around ~400ppm, even if it's actually much higher. This, of course, scales all other readings, so a sensor might read between 400-800ppm, leading you to believe everything is fine, when the actual indoor range is 800-1600ppm.
Because the auto-calibration happens over a period of time, it can be quite difficult to determine that your sensor is misreading, and the only way to fix it is to expose it to fresh air to reset the baseline.
The best solution I found to this is a dual-NDIR sensor which measures two different light frequencies, one which is absorbed by CO2 and one that isn't. This allows the sensor to know the absolute CO2 concentration, rather than the relative CO2 concentration, and avoids the need for auto-calibration. (I believe for absolute accuracy it still needs calibration for altitude, but for consumer use this makes such a small difference to be irrelevant).
Unfortunately, when I last looked, I couldn't find any consumer-grade sensors which used dual-NDIR sensors, only more expensive and less aesthetic commercial sensors. In the end I built my own using a CDM7160 sensor connected via I2C to a ESP8266, which reports over MQTT.