Skip to content

StuckAtPrototype/AirCube

Repository files navigation

AirCube

Know your air. AirCube is a desktop air quality monitor with built-in Home Assistant support. It tracks temperature, humidity, CO2, TVOC, and AQI -- showing air quality as a single, glanceable LED color and reporting every reading to your smart home over Zigbee.

Works standalone out of the box. Pairs with Home Assistant in minutes.

Watch the demo (early build -- Home Assistant integration came after this video)


Getting Started

1. Plug it in -- Connect the USB-C cable to any USB port or charger. AirCube powers on automatically.

2. Wait for warm-up -- The air quality sensor needs about 3 minutes to stabilize after power-on. During this time, the LED may not reflect accurate readings.

3. Read the color -- Once warmed up, the LED tells you everything:

LED Color Air Quality
Green Good
Yellow Moderate
Orange Poor
Red Bad -- consider ventilating

The color shifts smoothly as conditions change. No app needed -- just glance at it.

4. Adjust brightness -- Press the button to cycle through brightness levels.

That's it. AirCube works out of the box with no setup, no accounts, and no Wi-Fi.


What AirCube Measures

Measurement What It Tells You
AQI (Air Quality Index) Overall air quality score, reflected by the LED color
eCO2 Estimated CO2 in ppm -- rises in stuffy or crowded rooms
eTVOC Volatile organic compounds in ppb -- cleaning products, paint, off-gassing
Temperature Room temperature in Celsius
Humidity Relative humidity percentage

The LED color is based on the AQI value. To see the individual numbers, connect to a computer or to Home Assistant.


Home Assistant Integration

AirCube was designed for Home Assistant. It connects over Zigbee -- no USB cable to your server, no cloud, no Wi-Fi credentials to configure. Plug it in, pair it, and all five sensors show up on your dashboard automatically.

Once connected you can:

  • Track air quality over time with built-in history graphs
  • Set up automations -- turn on a fan when CO2 gets too high, send a notification when AQI spikes
  • Monitor every room -- each AirCube pairs independently, name them however you like

You'll need: a Zigbee coordinator dongle (we recommend the SONOFF ZBDongle-E, ~$13) plugged into your Home Assistant machine.

Works with ZHA (built-in) and Zigbee2MQTT.

Full setup guide: Connecting AirCube to Home Assistant


Connect to Your Computer

Plug the AirCube into your computer with a data-capable USB-C cable to see live readings, charts, and history.

Download the app

Check the Releases page for a ready-to-run Windows .exe -- no install required.

Or run from source

git clone https://github.com/StuckAtPrototype/AirCube.git
cd AirCube/scripts
pip install -r requirements.txt
python aircube_app.py

Select your serial port, click Connect, and you'll see live data.

Tip: There's also a lightweight system tray app (aircube_tray.py) that shows AQI directly in your Windows taskbar. Right-click the tray icon for options.


Firmware Updates

New firmware releases add features and fix bugs. Updating takes a couple of minutes with just a browser -- no tools to install.

Firmware Update Guide -- step-by-step instructions.

Latest release: GitHub Releases


LED Reference

LED Meaning
Steady green Good air quality (AQI 0--10)
Yellow through red Degrading to poor air quality (AQI 10--200)
Flashing blue Zigbee pairing mode

Button

Action What It Does
Short press Cycle brightness (off, 10%, 30%, 60%, 100%)
Hold 3 seconds Enter Zigbee pairing mode

Troubleshooting

LED doesn't turn on

  • Make sure the USB-C cable is firmly connected and the power source is active.
  • Try a different USB port or charger.

Readings seem wrong right after power-on

  • Normal. The air quality sensor needs about 3 minutes to warm up. Readings will stabilize.

Computer doesn't detect AirCube

  • Some USB cables are charge-only. Use a cable that supports data.
  • Windows users may need to install USB drivers.
  • Linux users: add yourself to the dialout group and re-login.

Home Assistant: CO2, TVOC, or AQI sensors are missing

  • The custom quirk or converter isn't loaded yet. See the Home Assistant guide for step-by-step instructions.

Home Assistant: AirCube won't pair

  • Make sure permit join is enabled in ZHA or Zigbee2MQTT.
  • Hold the button for 3 seconds to enter pairing mode (LED flashes blue).
  • Move AirCube closer to the coordinator during pairing.

Open Source

AirCube is fully open source -- firmware, PCB design, enclosure, desktop software, and Home Assistant integration. Everything is in this repository under the Apache 2.0 license.

Developers and makers: See the Contributing Guide for build instructions, architecture docs, serial protocol reference, and how to submit changes.

Contributing Guide Build from source, firmware architecture, serial protocol, how to contribute
Firmware Update Guide Update your AirCube firmware from a browser
Home Assistant Guide ZHA and Zigbee2MQTT setup
GitHub Issues Bug reports and feature requests
License Apache 2.0