Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Banner image of aqo next to a monitor and keyboard

standard-readme compliant

Air Quality Object which beautifully and passively displays the level of CO2 in the air

Table of Contents


Too much CO2 in the air affects how well brains function. The Air Quality Object changes color depending on air CO2 content. It's meant to be a beautiful object which also passively displays information about the surroundings. It makes a normally invisible flow visible, so you can open a window when your air is getting stale.

Chart displaying 5 levels of air quality. Each level has three data points: CO2 (ppm), Color, and Color on wheel. Ideal: 400–450 ppm, blue, 210; Acceptable: 450–600 ppm, green, 0; Intermediate: 600–1300 ppm, yellow/orange, 55–74; Bad: 1300–2500, red, 85; Dangerous: 2500–5000, maroon/purple, 95–120

aqo alongside parts required to build it

Gif showing an aqo displaying various colors being touched by a hand wearing a watch


Install the code on an Adafruit Feather M0 Express by dragging the contents of the code folder (lib, and onto the Feather's CIRCUITPY drive.

aqo next to a laptop showing code


Parts that are used to create aqo

Circuit diagram for the aqo, showing how to connect the Feather M0, SPG30, NeoPixel Bar, and battery together


The aqo will start displaying the color based on what CO2 readings it's getting. At first, this won't be accurate. Bring it outside for like 10 minutes so that the sensor can get a baseline reading of clean air. Then after a while it should display the colors accurately to the CO2 levels in the air.*

Touch the touchwire on the back of the aqo to change which brightness mode you're in. The brightest one is good for daytime, middle is good for nighttime, and lowest is good for sleeping.

The aqo should stay plugged in, but it has a battery and can be unplugged for periods of time. This is useful so you can transport it or take it outside without it rebooting and losing its calibration.

To remove the bottom cover for maintenance, twist it and the magnets will disengage. Then it should pop free. You can also lever it free using the power cable or maybe even shake it free.

* I'm not 100% sure about all this stuff. I'll try and figure it out later.

Gif showing an aqo displaying various colors sitting on a table




PRs accepted.

Note: If editing the README, please conform to the standard-readme specification.


MIT © 2019 Will

Banner image of aqo showing orange next to a Prusa i3 Mk2 3D printer


Air Quality Object that beautifully and passively displays the level of CO2 in the air





No releases published


No packages published