See stale air before you feel it
Rising CO₂ often means exhaled air is building up. That's when rooms get stuffy, focus drops, and the "I need fresh air" feeling kicks in. KnowCO₂ makes that visible.
KnowCO₂™ is a pocketable, open-source CO₂ monitor built on ESP32-S3. Ships with a high-precision SCD41 on a swappable sensor architecture — SCD4x and SCD30 supported today, more sensors in testing, and an open driver API that lets anyone add support for new CO₂ sensors. Designed for makers, educators, and anyone who wants to understand indoor air quality in real time.
CO₂ is more than a number. It's a proxy for ventilation, crowding, and how awake your brain feels in a room.
Rising CO₂ often means exhaled air is building up. That's when rooms get stuffy, focus drops, and the "I need fresh air" feeling kicks in. KnowCO₂ makes that visible.
Tunable thresholds map directly onto the TFT display and rolling chart. Three display modes — text summary, big number, and live graph — so you pick what fits your space.
Built using the ESP32-S3 Feather with a pluggable CO₂ sensor layer — SCD41 by default, SCD4x and SCD30 supported, Senseair Sunrise and Sensirion STCC4 in testing. Adding a new sensor is one driver file. All firmware, PCB files, and 3D enclosure models are open so you can inspect, modify, and improve them.
Native Home Assistant integration (HACS) plus MQTT auto-discovery — sensors appear in HA with zero YAML. Or push to any MQTT broker, post JSON to a custom HTTP endpoint, or stream to Adafruit IO — all from the built-in Wi-Fi portal.
Runs on USB-C or an optional Li-Po battery with live fuel-gauge display. Update the firmware wirelessly over Wi-Fi — no cables, no reflashing tools needed.
The web configuration portal is fully translated into 22 languages. Built with ARIA roles, keyboard navigation, and reduced-motion support throughout.
From sensor readings to graphs and Wi-Fi telemetry in a few simple layers.
The CO₂ sensor on I²C captures CO₂, temperature, and humidity every few seconds using high-accuracy NDIR technology. Ships with SCD41; the firmware's pluggable driver layer auto-detects SCD4x and SCD30, with more sensors in testing.
The ESP32-S3 updates the TFT display with a smooth rolling chart, color-coded by your configured thresholds.
Built-in Wi-Fi lets you spin up an access point for configuration, or join your local network and push JSON to a cloud endpoint or local server.
Log readings, pipe them into dashboards, or contribute anonymized data to collaborative air-quality projects. Your device, your data pipeline.
KnowCO₂ is a kit-friendly platform that's simple enough for a first hardware project, but extensible enough for serious telemetry.
The default build uses off-the-shelf parts so anyone can assemble and flash the device without special tools.
Point the device at your API or MQTT bridge. Each reading arrives as a small JSON payload you can drop into any stack.
A few quick answers. You can always dive deeper in the docs and GitHub issues.
Yes — KnowCO₂ is a complete, ready-to-use device. What makes it different is that it's also fully repairable, extensible, and open. Every part can be replaced or 3D-printed, the firmware updates over Wi-Fi, and it integrates out of the box with Home Assistant, MQTT brokers, Adafruit IO, and any custom API. You own it completely — including the right to modify, repair, and extend it however you like.
KnowCO₂ ships with an SCD41 — a professional-grade NDIR CO₂ sensor. The firmware's sensor driver registry also supports the full SCD4x family and the SCD30, with the Senseair Sunrise and Sensirion STCC4 in testing — and adding a new sensor takes one driver file, so supported hardware keeps growing. Calibration docs are in the repo.
Yes. Thresholds, chart scale, alert modes, and more are configurable via the Wi-Fi settings page and in firmware. The JSON configuration is stored on the device so you can tweak and re-deploy.
The device can create its own access point for first-time setup. From there, you can scan for networks, set the password, and configure your API endpoint or API key. If you skip Wi-Fi, it still works as a fully offline CO₂ display.
Yes. KnowCO₂ is certified by the Open Source Hardware Association (OSHWA) under UID US002828. OSHWA independently verifies that the hardware design files, firmware, and documentation are all openly licensed — hardware under CERN-OHL-S v2, software under MIT, and documentation under CC BY-SA 4.0 — so anyone is free to study, modify, build, and even sell the design.
KnowCO₂ is designed to be fully user-serviceable. Every part is replaceable, every file is published, and you never need a specialist to fix or upgrade it.
All enclosure and sensor bracket files are published on GitHub. Print a replacement or customise the design for your own build.
The sensor uses a STEMMA QT cable over I²C — no soldering needed. SCD30, SCD40, SCD41 and other SCD4x variants are supported today; Senseair Sunrise and Sensirion STCC4 are in testing, and the open driver API means new sensors can be added with a single file.
No USB cable or flashing tool needed. Upload a new firmware file directly from your browser while the device is on your local network.
KnowCO₂ runs on CircuitPython — a free, open-source programming language maintained by Adafruit and a global community. That means the software powering your device is fully auditable, improvable, and never locked to a vendor.
Once connected to Wi-Fi, the device is reachable by name via mDNS — no need to find its IP address. The 4-character ID is shown on the device display.
Three physical buttons control the display. No app or phone needed for day-to-day use.