I tried to improve the readings of the CCS811 sensor, namely CO2, by some conditions I read from the datasheet:
- Do not set baseline before 20min since start
- Save baseline regularly every week
- Update the arduino driver from Sparkfun
- Update the ccs811 FW APP version
I’m not happy with the CO2 reads yet, but I’m trying.
The fw changes I have are in these branches:
ccs811_update: new arduino driver (irrelevant I think), more control on ccs811 in serial line, baseline respecting times. It shows the fwapp version and more in “control eCO status”.
ccs811_flash: add control command to flash fwapp 2.0.1 to ccs811. Due to a problem in my tests I flashed this without knowing what did I get from factory. Maybe it was 2.0.1 already.
esp_reads: adds /read URL in setup mode to read the sensors in json.
I’m very new to this world of platformio devices but I’m trying to make small things work and learn in the process.
I might update the /read to work in other modes.
I don’t know if anyone else has tried these things and how far they got. So far I have seen that everyone complains about the CO2 measurements and I have not seen anyone succeed (as for google results). But the datasheet describes as it should work.
I will try more but I might eventually give up.
I don’t know if any of what I’ve done can be integrated. If so, I’d be glad to submit PRs.
UPDATE after 24h: I polished the changes and run many tests. eCO2 readings look too bad still (way too high for a regularly ventilated room). I compare to a sensing device I have and one says 1000ppm while this CCS811 says 1700ppm. The sensor seems to me completely unreliable for CO2. As for the TVOC, I didn’t try to make any sense of it.