In the cold season we tend to keep the windows closed. The air gets "stale": humidity often rises above 60 %, which can harm our wellbeing and promote mould. At the same time the CO₂ level in the air increases, which impacts our ability to concentrate.

So I built a room air monitor that stays unobtrusive as long as everything is in the green zone, but becomes deliberately noticeable once thresholds are exceeded. For my personal love of statistics I also visualise the measurements in a clear dashboard.

There are lots of commercial gadgets like that.

Most of the affordable CO2 meters are relative, not absolute. They set their 400 PPM level based on the lowest value they ever see. That's usually OK, but it's not good enough for places with permanent people occupancy, such as nursing homes. Absolute detectors with NIST calibration are available but around US$500.[1]

[1] https://www.forensicsdetectors.com/products/carbon-dioxide-d...

For my use case — simply getting some statistics about the air quality in our shared flat, improving concentration, and having a reminder to ventilate — the accuracy of the SCD40 is sufficient. It also has a self-calibration feature, which works as long as it is exposed to atmospheric CO₂ levels at least once a week. See the detailed specifications here: https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/d...

I built a meter around a SCD30 six years ago. The self-calibration routine was not very good, for two reasons.

1) It had an unrealistically low default level, something like 380 ppm. The atmospheric concentration keeps going up! The linked pdf says "The automatic selfcalibration algorithm assumes that the sensor is exposed to the atmospheric CO2 concentration of 400 ppm at least once per week." Atmospheric CO2 definitely is not 400 ppm anymore.

2) As far as I could tell it made no effort to choose a local minima. In a regularly ventilated space, if it decided to "calibrate" when a door was closed, it could abruptly declare 600 ppm to be 380. I just hard coded an offset value and disabled ASC.

> as long as it is exposed to atmospheric CO₂ levels at least once a week

That's much less likely than most people would think.

A modern building without active ventilation and windows closed is absolutely not going to see atmospheric CO2 levels.

I measured this once and found it took almost a full week of no human occupancy for such a building to be equal to outside.

Wouldn't this work fine if you ever opened a window or briefly took the sensor outside?

I belive the calibration is lost when power cycled. It may also drift a lot over time.

Ahh I see, thanks.

You gonna take your CO2 sensor for a weekly walk?

> The air gets "stale": humidity often rises above 60 %,

Fun - I have the opposite problem, humidity goes down to almost nothing and we have to use humidifiers to keep it around 40% to avoid horrible nose/throat/skin dryness.

Forced air hvac is probably why.

Slightly off-topic

Home Assistant has been running here for several years, and there are quite a few mammals in a relatively small space (humans and dogs). Air quality plays a significant role in well-being. I spent some time tinkering around to find good sensor solutions (I still use esp32 with bme280/dallas and mhz19 for other rooms), and after some back and forth, I purchased an Awair Element. At first glance, it seems quite expensive, but the sensors alone would cost me 1/3 of the price.

We love it. The little LED that indicates air quality, which I didn't even notice at first, is extremely helpful. The sensors are so accurate that I can see when someone has cooked something, when cleaning products have been used, or when we have a dog visiting. A simple API+web server (which I never needed), as the Home Assistant integration works great.

Great device.

Cool project. I've done something similar using defunct crypto Awair AQI sensors tied into Home Assistant. They have an LED panel in the front that can show overall AQI or any of the pollutants they track: https://www.getawair.com/products/element

The sky is the limit as to what you can do with Home Assistant automations.

It's surprising how quickly a room with a closed door and one person can go from ~ambient CO2 levels to 1000ppm+.

> It's surprising how quickly a room with a closed door and one person can go from ~ambient CO2 levels to 1000ppm+.

Yeah, having seen myself how quickly it happens i've recently been thinking of finding automatic window openers that would respond to CO2 levels reported from either my aranet or on its own.

Maybe just get a heat recovery ventilator.

There is actually one in the house, but I'm not in a situation where I can install one in a specific room or upgrade the in/out flow in that room.

were you able to repurpose your Awair device? Mine has sat bricked since they discontinued supporting it. I'd love to use it for anything if you're able to point to any docs on how to make it useful again?

I lived in one house that initially had hot water baseboard heat. A hot-air furnace was retrofitted into a closet and got its "fresh air" from a hole in the closet door (i.e. there was no incoming air). During the winter the air would get extremely "stale." Bathroom smells would linger for hours. It was oppressive.

I found that the e-ink display on my Aranet4 is, by itself, so distracting on screen updates that I had to move it out of my field of view. It's a full-screen flash. Before buying it, I thought e-ink was a good choice for these types of devices, but now I wish they had gone with a cheap segmented LCD. I wonder if you could actually use this to your advantage here, since you want it to be distracting, and you are in control of the refresh.

Germans sure love their Lüften

You should find a friend's garage, shop or hackerspace with a brake, and metal cutting tools.

I have a similar monitor for equipment metrics, and the cardboard design is similar to the stand I made out of metal. I powder coated the metal light beige and it looks professional.

That sounds like a great-looking stand. Maybe you could send me a picture by email, you can find my address on my website. I’d love some inspiration. I also thought about 3D-printing a stand; I just need someone with experience in 3D design to create (or help me create) one, and someone who can print it.

I was looking for cheap co2 sensors that can be deployed on RPi but I guess they all feel expensive.

> The air gets "stale": humidity often rises above 60 %

Wouldn't it be easier to just turn on the air conditioner?

I live in Switzerland — we normally don’t have air conditioners. At least not yet...

[dead]

Nice blog

This is cool! How does it compare to e.g. an Aranet4? I got one to detect when there is a high risk of COVID-19 aerosols lingering and generally carry it in my bag. That way I can check the reading using my phone.

I can’t really compare it to the Aranet4 because I don’t own one. But from what I can see, it offers similar functionality. In terms of hardware, though, the Aranet4 is more expensive than my setup. Of course, I also had to do some programming, which should probably be factored into the overall “cost” as well.

The accuracy of the Aranet4 is likely a bit better, at least based on the specifications I found (Aranet4: https://www.galaxus.ch/Files/6/6/1/0/2/6/6/2/Aranet4_datashe... , SCD40: https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/d... ).

With my setup, I can also check the readings using my phone — currently only when I’m at home, since I host the stats website locally — but that’s enough for my needs.

The Aranet4 is also interesting to carry on a flight, it logs the Co2, pressure, and temperature. I can see my arrival/departure on trips by looking for the pressure drops in the graphs.

[deleted]