I have built two air quality monitors which use a bme680 for temperature and humidity, sps30 for particulate matter and the Senseair s8 co2 sensor. Both use a esp32 for communication and are exactly identical except for the co2 sensor itself. I have unfortunately ordered the S8-4B 004-0-0024 Version for the first monitor. This sensor is not ideal since it doesn’t offer a very high resolution and should only be used for alarm. So for the second one i used the S8 004-0-0053 Version. I’ve wired both sensors the same, except of course for the different pin locations. The first monitor is powered by a 12v to 5v dc converter, since i connected a small 5v fan to both units in order to guarantee a better airflow, i noticed that the fan of the first monitor (the one with the 12v to 5v) was a bit louder than the one of the second monitor, which is powered by a USB cable which I’ve cut and. The wires are soldered directly on the esp-32.
Now the problem is that the second monitor with the S8 004-0-0053 randomly shows high spikes in the readings. When i reset the device (cutting power for 3 seconds) the spikes go away and the readings are accurate again. I tried to turn the baseline calibration on or off, define manual baseline points, and rewire the whole thing, but nothing so far worked. I am unsure if this is a software or hardware fault. One more thing. The last 3-4 times i updated esphome and subsequently the esp-32. The readings were stable for 1-2 weeks straight.
This is the part of the code for the co2 sensor.
- platform: senseair
co2:
name: "name Zimmer CO2"
update_interval: 60s
id: name_zimmer_co2
This is how it looks in the history tab of homeassistant.
Does anyone know why this happens or how to fix it. I found nothing so far except for a few people with different periodic spikes, but not as random and high as these.