Cyrill Künzi's "Cute CO₂ Gauge" Puts a Smile on Home Assistant Ventilation Monitoring

Powered by an Espressif ESP32-S2 and a servo, this grinning gauge lets you know when it's time to crack a window.

Electrical engineer and self-described "maker of things" Cyrill Künzi has built a "cute" carbon dioxide gauge, designed to provide an at-a-glance indicator of air quality and therefore whether a window should be cracked or not.

"A good smart home is one where I don’t have to fiddle around with my phone all the time," Künzi writes of the inspiration behind the proeject. "This philosophy has manifested as several physical switches spread across the apartment, controlling most essential functions. But especially in the winter when all windows stay shut, I found myself monitoring the room's CO₂ levels quite frequently."

When humans breath, they take in oxygen and exhale carbon dioxide. In a poorly-ventilated room, the concentration of carbon dioxide can easily rise to the level where it can have a negative effect on health — resulting a feeling of being short of breath, drowsiness, headaches, mental confusion, and an increase in blood pressure and heart rate. Having to constantly look at your phone to figure out if it's time to increase ventilation, though, gets old — hence the need for an at-a-glance display.

Driven by a WEMOS S2 Mini Espressif ESP32-S2 microcontroller board and a DS3225 servo — both "chosen by the very scientific process of already being in my drawer," Künzi notes — the gauge is made of press-fit and threaded 3D-printed parts, with a 2D-printed bar and smiling face giving both context to the needle's movements and a happy little friend in home automation.

"As you might have guessed, this device doesn’t come with its own CO₂ sensor onboard," Künzi says. "Instead, the values are relayed from another ESP32-based sensor through Home Assistant. But it would, of course, also be possible to integrate such a sensor into the same device. All Home Assistant has to do is monitor changes in CO2 concentration and map/transmit the updated values to the gauge."

Künzi's full write-up is available on his blog, while the source code, 3D print file, and graphics have been published to GitHub under the permissive Unlicense license.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire:
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles