Best CO2 sensor

What CO2 sensors that integrate with Home Assistant would you recommend? Ideally off the shelf, but if you have any links to resources where I could build my own (this would be my first time) I would greatly appreciate it!

off the shelf would be the Awair Element
build your own would involve an ESP device and a scd30 by Sensirion


Are you trying to measure carbon dioxide CO2 (used for carbonating beverages) or carbon monoxide CO which can kill you. There’s a BIG difference…

1 Like

I want to measure carbon dioxide, more specifically if there’s proper ventilation in an area.

I don’t know what is the correct or meaningful measurement. However, I’ve seen mostly TVOC sensors for measuring air quality. Having one at home it seems to be following what I can identify myself as well. CO2 and particle matter could be measured as well but they are more rare options.

I’m quite happy with my MHZ19 attached to a Wemos D1 Mini. I’m using Tasmota but going with ESP-Home sounds much easier.

If you have a soldering iron this is an easy project.

I use MH-Z14 with ESPhome and it also works well.

1 Like

That’s new to me. Is it typical to monitor CO2 levels in residential environments? Seems like the kind of thing they’d do on a submarine or something like that. Obviously monitoring home CO is a life safety issue, and that’s a legal requirement in many jurisdictions. I’m just wondering what conditions might lead to elevated CO2 levels, and how that might be of interest.

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 | 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:

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:



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 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.


1 Like

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.

1 Like

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:

1 Like

@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!

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:

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).

1 Like

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.

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.