Skip to content

Releases: StuckAtPrototype/AirCube

Release_V1.5.2

Choose a tag to compare

@StuckAtPrototype StuckAtPrototype released this 02 Jun 16:18

First release since v1.4.3. New absolute AQI, AQI-driven LED, and Zigbee brightness control.

Highlights

  • Canonical AQI (0–500): new absolute, TVOC-derived air-quality score (replaces reliance on the relative AQI-S).
  • AQI-driven LED: smooth green → yellow → red gradient tied to fixed indoor-air thresholds.
  • Zigbee brightness control: set/read LED brightness from Home Assistant; reports on startup and button press.
  • Updated HA integrations: refreshed ZHA quirk and Zigbee2MQTT converters (1.x .js + 2.x .mjs), backward compatible.

Improvements

  • Zigbee stability: rejoin flap watchdog, exponential backoff, relaxed keep-alive (3 s → 7 s), bounded locks.
  • Documentation: new AQI/TVOC/color reference tables and updated setup guides.

Breaking changes

  • Serial: aqi is now the TVOC-derived AQI (0–500); the old relative value moved to aqi_s.
  • Zigbee: custom cluster 0xFC01 attr 0x0002 now carries the TVOC-derived AQI (0–500). Use the updated ZHA/Z2M converter.

Bug fixes

  • Fixed Zigbee rejoin/lockup edge cases and merge artifacts (reboot handler, init-fail watchdog, pairing lock).

Flashing

Download AirCube_firmware_v1.5.2.bin, flash at 0x0 via ESP Launchpad (DIY mode). See FIRMWARE_UPDATE.md. Settings are preserved.

AirCube Firmware v1.4.3

Choose a tag to compare

@StuckAtPrototype StuckAtPrototype released this 11 May 16:23

Zigbee stability fixes.

What's new

  • Rejoin flap watchdog. After 10 rejoins in 5 minutes, AirCube reboots itself cleanly instead of letting the Zigbee MAC assert.
  • Smarter rejoin backoff. The 1 s → 5 min backoff only resets after 60 s of stable uptime, so a flapping parent no longer pins us to NETWORK_STEERING every second.
  • Keep-alive 3 s → 7 s. Two missed polls used to trip PARENT_LINK_FAILURE on marginal RF.
  • Default TX power 10 → 20 dBm (ESP32-H2 max). Configurable in menuconfig.
  • Overflow-safe history readout over USB serial; the reply reports slots actually emitted so the desktop app's cursor stays correct.

AirCube Firmware v1.4.2

Choose a tag to compare

@StuckAtPrototype StuckAtPrototype released this 16 Apr 15:19
3df3946

Fixed

  • Zigbee silent disconnect after 48–72 h runtime (#27). After a parent link failure triggered a rejoin, the internal s_rejoining flag was never cleared on the subsequent DEVICE_REBOOT success path. The device would stay "rejoining" forever, skip further rejoin scheduling, and appear offline in Home Assistant / ZHA with the red LED on. The flag and backoff timer are now properly reset whenever the stack reports a successful reboot into an already-commissioned network.
  • Sensor task could block forever on a stuck Zigbee stack. zigbee_update_sensors() and zigbee_start_pairing() now acquire the Zigbee lock with a bounded timeout (2 s / 5 s). On timeout the cycle is skipped or pairing is aborted instead of deadlocking the sensor pipeline.

Added

  • Task watchdog on the sensor task. sensor_task is now registered with the ESP-IDF Task Watchdog Timer and feeds it each loop, so any future hang is caught and recovered automatically via reset.
  • Auto-recovery from stale radio state. If Zigbee stack initialization fails 5 times in a row (e.g. after a soft reset leaves the 802.15.4 radio in a bad state), the device now calls esp_restart() to force a clean hardware reset instead of retrying forever.

AirCube Firmware v1.4.0

Choose a tag to compare

@StuckAtPrototype StuckAtPrototype released this 14 Apr 01:27

Added

  • Remote brightness control — LED brightness (0–100%) now controllable from Home Assistant, Zigbee2MQTT, and SmartThings via Zigbee Analog Output cluster (0x000D)
  • SmartThings Edge driver — Full Lua driver with setup guide (SMARTTHINGS.md)
  • Configurable Zigbee TX power — New Kconfig option, default 10 dBm
  • Firmware update guide — Browser-based flashing via ESP Launchpad (FIRMWARE_UPDATE.md)
  • Partition table tracked in git — Deterministic 2 MB flash builds

Changed

  • Zigbee attribute updates throttled to every 10 seconds (was every sensor cycle)
  • Button task stack doubled to 4096 words to prevent overflow during pairing
  • ZHA quirk updated to v2 imports for Home Assistant 2026 compatibility
  • Explicit attribute reports now sent for temperature and humidity clusters, not just custom cluster

Fixed

  • HA 2026 configuration path trailing slash
  • AQI-to-LED color mapping correction

Docs

  • README expanded with sensor measurement details and official vs. community extension distinction
  • HOME_ASSISTANT.md rewritten for 2025/2026 differences and brightness control

Release_V1.3_HA Home Assistant Integration

Choose a tag to compare

@StuckAtPrototype StuckAtPrototype released this 04 Mar 17:41
4be391e

This is a huge one! I have added a lot of functionality into the AirCubes, the biggest one being Home Assistant integration via Zigbee!

AirCube Firmware v1.3.0

Sensors: ENS210 (temperature, humidity) + ENS16X (eCO2, eTVOC, AQI) over I2C.
3-minute warm-up for stable air quality readings.

LED: Smooth green-to-red gradient based on AQI. Blue flash during pairing.
5 brightness levels (button cycles through them), saved across reboots.

Zigbee: Home Assistant integration over 802.15.4 (ESP32-H2 native radio).

  • Standard temp/humidity clusters + custom cluster (0xFC01) for eCO2, eTVOC, AQI
  • Works with ZHA and Zigbee2MQTT (custom quirk/converter included)
  • Pairing is on-demand only -- hold button 3s to start, times out after 60s
  • Previously paired devices auto-reconnect on reboot

Serial: JSON sensor output over USB at 1 Hz (configurable).
Commands for config, history retrieval, and CSV export.

History: 7-day ring buffer on flash, 5-minute intervals, min/avg/max.

Platform: ESP-IDF v5.5.1, 4 MB flash, custom partition table.

AirCube Tray v1.0.2

Windows system tray app -- puts your AQI right in the taskbar.

  • Tray icon changes color with AQI (green → red, gray when disconnected)
  • Click to open dashboard: live readings, charts, and device history
  • Charts for AQI, temp, humidity, eCO2, eTVOC with selectable time ranges
  • Device history viewer -- browse 7 days of data stored on the device, export to CSV
  • Alerts when AQI exceeds your threshold (configurable, default 100)
  • Settings: serial port, °F/°C, alert threshold, autostart with Windows
  • No install required -- single .exe, runs from anywhere

Built with Python, PyQt6, Matplotlib, pyserial.

Windows_App_v1.0

Choose a tag to compare

@StuckAtPrototype StuckAtPrototype released this 02 Feb 04:52
a83e27b

AirCube v1.0

Desktop app for real-time air quality monitoring from your AirCube sensor.

Features

  • Live display of Temperature, Humidity, AQI, eCO2, and eTVOC
  • Color-coded AQI (green → yellow → orange → red)
  • Historical charts with adjustable history length
  • Optional CSV logging for data export

Usage

  1. Connect AirCube via USB
  2. Run AirCube.exe
  3. Select COM port → Click Connect

Debug

If the device is not listed, flip the physical USB C cable and plug it in again.

Notes

  • Windows 10+ required
  • Close other serial monitors before connecting
  • First run may trigger SmartScreen warning - click "Run anyway"