Best CO2 sensor

There are MANY sensors for measuring quantity of specific kinds of things in the atmosphere (MQ sensors, for example) but they are the Boolean inversion of what your asking for. These measure things like alcohol content, carbon monoxide content, hydrogen, etc. I have one of these MQ sensors in my garage for monitoring the concentration of carbon monoxide:


This was yesterday when I started one of my cars and let it idle (WAAAY too rich) for like half an hour.

Alternatively, as @La-te mentioned, if you’re worried about Air Quality (like the weather channel’s AQI measurement) you’ll need a PM2.5 sensor like this PMS7003 from AliExpress. One of these on its way to me right now so I can build an AQI meter… Apparently, the official weather AQI units that publish the PM2.5 values have three of these PMS3003, PMS5003, or PMS7003 sensors in one box so they can make sure the value is consistent and it isn’t an outlier/bad reading. More information here: Sensing the Air Quality: Research on Air Quality Sensors

Maybe what you really want is something like this Gravity: I2C Oxygen Sensor — Arduino Online Shop. I haven’t tried one of these before but with that sensor you can detect O2 content in the atmosphere. I just found these too: Oxygen Sensors Products | CO2Meter.com but they seem very expensive… I try to look for things that are compatible with ESPHome because it makes integration so very nice.

I guess the gist is that “proper ventilation” is subjective – you really need to decide on what you want to try to detect and go for that. That’s why in homes they install smoke detectors and you can opt into having carbon monoxide detectors because it’s a silent and invisible killer, like radon! I have detectors for all of those in my house. :stuck_out_tongue:

2 Likes

Thank you for the resources! I work from home and am typically in my apartment > 90% of the time. I recently made the dive into Home Assistant, and have (~15) light bulbs, (2) televisions, (3) speakers, (2) motion sensors, (2) air purifiers, (1) humidifier, (1) temperature and humidity sensor, all connected to Home Assistant in some way or another.

My concern is that I don’t open the windows often enough, allowing for the right supply of oxygen and would like to passively monitor this. Ideally I would get a notification on my phone if the ratio of oxygen/co2 becomes too lopsided reminding me to open a window or something similar :slight_smile:

I hadn’t heard of an oxygen sensor, but have heard of a CO2 sensor, and felt like they would perform a similar function.

I know it seems lazy, but I work really hard so that I’m able to be lazy :slight_smile:

9 Likes

Hello,

I have Netatmo weather station and indoor air quality monitor. These request weekly calibration by exposing them to well ventilated space. The issue is they are not temperature compensated so after being exposed to 15C and below will yield to high CO2 reading when back to 22C and above. So the automation controlling the exhaust fan is jeopardized. Refer to https://backend.orbit.dtu.dk/ws/portalfiles/portal/146097852/Untitled.pdf for a study demonstrating the temperature issue.

I’m looking to replace them with preferably a z-wave device but wifi still okay as long of course it can be integrated in HA and accurate. I’ll look at above suggestions closely.

Thanks

5 Likes

There is rarely a problem with oxygen concentration in general situation. Unless presence of contaminant, the first issue encountered is high CO2 concentration and it can occur in matter of hours if the room is not well ventilated. You could just keep the window slightly open where your desk is located, do the same where you sleep.

5 Likes

I live in a very old building and the windows are single-paned. Things are drafty to say the least :slight_smile: I’m also in one room most of the time (my work desk is in my bedroom) I have trouble keeping the temperature level in both the summer and the winter. I keep the windows closed so that the air conditioner/space heater are able to be the most effective. I’m concerned that either the lack of oxygen, or the concentration of CO2 are detrimental to the overall air quality and would like to have a sensor that is able to measure this. If only to remind me to crack the window because like I said, I’m extremely lazy and the more I can delegate to a passive sensor the better :slight_smile:

Totally understand. It is becoming quite common here in the Netherlands, to use CO2 measurements for controlling ventilation systems.

You can build one yourself if you want:

2 Likes

@Emphyrio, have you built one of these with ESPHome? I’m wondering what the default units are for the CO2 output. Pretty cool! I had no idea that was available.

EDIT: Wow, those are pretty expensive. They are like $60 from Sparkfun and like $30+ from Aliexpress!

1 Like

I built one of these, cheaper but less quality of measurements. MH-Z19 CO_2 and Temperature Sensor — ESPHome

I’m leaning towards building my own sensor :slight_smile:

This would be my first experience not using an off the shelf solution (Philips Hue, Aqara etc.) and using ESP. Any tips for beginners? Is it just a matter of buying an ESP32 development board and SCD30 and connecting the right pins?

I’ve been looking at the development boards here: https://www.espressif.com/en/products/devkits

Is there a certain version I should go with (ESP-32, ESP32-S, ESP32-C3)?

I would prefer to spend more money up front and have the device be future proof, or flexible to use in other capacities.

I work from home and sleep in the same room too. I found it better to leave window open a bit all the time even through the night than venting a lot occasionally. I have the AC and electric heating running against the window a bit open but that’s the price to have healthy air. With the sensor I could see that during cold weather I need to crack open the window by just few mm while during the rest of the year I need to open it by a cm or two. The CO2 sensors I have are now mostly used to check CO2 levels elsewhere in the house and control the HVAC as I could confirm CO2 levels are always okay in my bed room (office).

2 Likes

I’ve been in contact with Kaiterra about Laser egg + CO2 sensor and they don’t have data of temperature stability.

So I couldn’t find a “ready to use solution” that can be integrated in HA.

I’m planning to use an Amphenol T6615 with an ESP32 in ESPhome. This dual channel sensor don’t need automatic baseline calibration so it eliminate the frequent calibration at outdoor CO2 concentration (~400PPM)

I’m still curious to know other’s experience with manual ABC, how often you need to do it and temperature impact when doing baseline calibration during winter.

1 Like

If you have too much bucks (in exchange you get a lot more in addition to CO2) I can also recommend Airthings, e.g. View Plus. Nicely integrated into Home Assistant. It e.g. detects the chemicals if someone cleans or if you leave the door open while doing a bbq outside.

2 Likes

Has anyone looked at the products from Temco Controls in the USA? Modbus over Wi-Fi and or RS485. I am interested in their AirLabs unit; an all-in-one indoor air quality wall mount. Part numbers; AL-CO2-TVOC and AL-CO2-TVOC-W

Perhaps the Broadlink A1 sensor, but to use it, you also need one of the Broadlink RMxxx controllers.
The RM controllers can also be used as a remote controller to send or learn RF and IR codes, so you can also use them to control lots of devices like your TV or hifi or smartswitches with either the Broadlink app, or via Home Assistant.

Their product image shows an SCD30 sensor module for CO2 and an SPS30 sensor module for PM2.5, both extremely well made reliable sensors. I cannot see the VOC/T/H module, but it is also made by sensirion, an SGP series, probably SGP30.

Power source is 15 to 24V AC or DC, so you can tap into thermostat wiring if you have R and C available. Very interesting products indeed! Price is not absurd given the feature set, in fact it may be a bargain.

2 Likes

That was what I was thinking. I am going to get a couple. Just looking for an economical RS485 hub for the Modbus. I was thinking with a hub I would not need to daisy chain the Modbus devices. I would prefer to wire everything back to the central location.

1 Like

@Rudertier @pepe59
Can you share how do you manage the calibration of your MH-Z19 sensor ?
It seems to be a challenge especially when the sensor is exposed for higher level of Co2 more then 24h (as I understand it take lowest CO2 value form 24h measurements and “calibrates” this as 410ppm). In my case the measurements does not look reliable as after some time of 2000-3000ppm readings I took the sensor outside and it shows 1600ppm…
So at the end either I will somehow manage how ti easy calibrate it or will move to another one.
SCD30 is tempting but it seems it also need periodical calibration…

1 Like

I think your best bet is to disable its auto calibration mode and to do a manual calibration call when you know it is in a very well ventilated area. It will then set the currenty measured value as a new 400 ppm base line. (The sad thing is that 400 isn’t the normale base line outside anymore :frowning: (or do newer models go to 410?)

At least my MH-Z19 doesn’t have too much drift by itself. Calibrating it once a month or less works good enough for me.

I can show you my ESP Home code for that when I have access to it.

2 Likes

Hi, I tried to find the blog-post I was following when building the sensor, however I can’t find it. I don’t rember anything regarding calibration. Also I do not experience any kind of drift in the values, so maybe some kind of calibration is implemented (I open the window of my office multiple times a day).

1 Like

Thank you.
This is what I have done: disable automatic calibration and using ESPHome info, created service to calibrate manually. Placed the sensor i empty room with opened window for 1 hour and then forced the calibration. Worked well! The readings were reset to 400 ppm and then when I took the sensor to another room with people it shows reasonable values.
This looks like process to go forward! :slight_smile:

BTW, I have noticed that MN-Z19B sensor seem to perform measurements every 5 seconds (at least with this period I can see the “red” light blink) regardless of the period set up in sensor configuration in esphome.

2 Likes