I'm working on a project here to give information about the exhaust from an outdoor propane burning 'appliance'. My purpose is to make an adjustment to the air/fuel mixture such that the CO2 level is approximately 1500ppm. I have a reference appliance, so I don't require absolute accuracy, but only the ability to measure relative to that. So I sourced a couple of sensors to measure the CO2 levels of the exhaust. The two that I am using now are the AMS CCS811, and the MH-Z19B. I know the CCS811 is not a true CO2 sensor, but I felt that the two sensors should at least track even if the absolute values reported are different. Unfortunately, that does not seem to be the case. For a while after first startup, the two track fairly well although the CCS811 is a bit 'noisier'. Then the CCS811 will *always* take off on excursions away from baseline. (See image below - MH-Z sensor upper left, CCS sensor upper right, reading delta lower left.)

The CCS811 will track the MH-Z19B for sometime before wandering off. This occurs well after warmup time, so its not initial power on drift. Both sensors are located together, driven from the same power supply, driven from the same microprocessor, and in the same air stream (currently just ambient air). I have used different measurement modes for the CCS811, and it seem to make no difference. I am not using the Wake pin at the moment, it is grounded. I know that there were no sudden Temp/Humidity/Pressure changes when the CCS811 values changed.
The next things I am going to try are:
- add temperature/humidity/pressure and see if any of that tracks
- set environmental data in the CCS811
- see if the change is related to # of readings taken
- see if the change is related to elapsed time
Are there any special tricks to getting reliable readings from this sensor? I am using Maarten-Pennings CCS811 library (
https://github.com/maarten-pennings/CCS811) - I don't see anything there that goes against what's listed in the datasheets.