AirTo monitors air quality entirely on your local WiFi network. No cloud. No subscription. No data leaving your home — unless you choose to share it with the world.
Everything runs on your ESP32. Your data never touches the internet — unless you decide to contribute to the global community map.
📡
Offline first
Works entirely on your local WiFi. Access data from any browser at airto.local — no app install, no account, no internet needed.
🔋
Rechargeable
Built-in 400mAh LiPo with XIAO's onboard charging circuit. Move it room to room. Charges via USB-C.
🌡️
Dual sensors
ENS161 for AQI, eCO₂ and TVOC. BME680 for temperature, humidity, pressure and gas resistance. Cross-validated readings.
💡
LED diffuser
RGB LED bleeds through a 0.6mm white PETG wall printed on a Bambu A1 Mini. Color shifts as air quality changes.
📱
Multi-device
Every AirTo gets a unique mDNS address. The app discovers all devices automatically. No IP addresses to manage.
🌍
Community map
Opt-in sharing. Hourly averages contributed anonymously to a free global air quality dataset visible to anyone worldwide.
Sensors
Five readings. One glance.
ENS161 + BME680 on a single I²C bus. All signal processing on-chip. Readings every 5 seconds, stored locally for months.
🌿
AQI
Air Quality Index · 0–500 · relative to 24h baseline
28
index
💨
eCO₂
VOC-derived equivalent · 400–65,000 ppm
682
ppm
🧪
eTVOC
Total volatile organics · 0–65,000 ppb
138
ppb
🌡️
Temperature
Compensated for ESP32 self-heating
24.2
°C
💧
Humidity
Relative humidity · 0–100%RH
57
%RH
📊
Pressure
Barometric pressure · hPa
1013
hPa
Hardware StackXIAO ESP32-S3
XIAO ESP32-S3
WiFi · BLE · MCU · 8MB Flash
LIVE
ENS161
MOX Gas Sensor · I²C 0x52
I²C
BME680
Env. Sensor · I²C 0x76
I²C
WS2812B
RGB LED · 0.6mm PETG diffuser
GPIO
LiPo 603035
400mAh · 3.7V · JST 1.25mm
BAT
USB-C
Power · Firmware flash
PORT
LED Language
One color. All the context.
No app needed. The LED bleeds through a 0.6mm PETG diffuser printed on a Bambu A1 Mini and morphs as conditions change.
Good
AQI 0 – 10
Clean, fresh air. No action needed.
Moderate
AQI 10 – 50
Acceptable. Sensitive groups may notice.
Poor
AQI 50 – 100
Consider opening a window soon.
Bad
AQI 100+
Ventilate now. Air quality is poor.
Community
Opt in. Build the map.
Toggle one switch and your hourly averages join a free, open air quality dataset — anonymously, at city-level precision. Every reading visible on a live world map anyone can access.
Electronics maker and open source hardware creator with 178 published projects on Hackster.io. Building AirTo to make indoor air quality monitoring accessible, private, and open to everyone.