We live in amazing times. We use smartwatches to count steps and monitor heart rates. We scan barcodes at the grocery store to check calories. We filter our water. But why do we completely ignore the air?
We take about 20, 000 breaths a day. Air is the "fuel" that enters our bodies 24/7.
Why It Matters (Especially if you have kids)We are used to blaming fatigue on stress, and poor sleep on the weather. But often, the cause is literally floating in the air of your living room.
- 🧟 The "Zombie" Effect (CO2): Have you noticed how your head gets heavy by midday? At CO2 levels above 1000-1200 ppm, our brains start to "suffocate." At concentrations above 1400 ppm, cognitive capacity drops by 50%. This is confirmed by Harvard studies.
- 🌫️ The Invisible Threat (PM2.5): This isn't the dust under the sofa. These are micro-particles—smoke, combustion products, vehicle exhaust. They are so small they pass through the body's protective barriers directly into the bloodstream.
- 🌸 Allergies (PM10): The sensor detects larger particles too. This is critical for allergy sufferers: pollen, mold spores, and common household dust.
- 🚗 Gas Stoves & Traffic (NOx): Nitrogen oxides irritate the respiratory tract and can trigger asthma. Aura will tell you when it's time to turn the range hood to max.
- 🧪 The Silent Poison (Formaldehyde / HCHO): That "new car smell" or fresh renovation scent isn't always good. Budget furniture, laminate flooring, and glues can release formaldehyde (a carcinogen) for years. Aura sees these invisible fumes using the SFA30 sensor.
- 🤕 Weather Sensitivity (Pressure Delta): Aura doesn't just show pressure; it calculates the Delta (change) over the last 3 and 24 hours. A sharp drop is a sure sign of worsening well-being.
- 🌵 Immunity (Absolute Humidity): In winter, heaters dry the air to desert levels (<20%). Aura calculates Absolute Humidity (g/m³), giving you a more accurate risk assessment for mucous membranes than relative humidity alone.
Project Aura is a professional air quality monitor that anyone can build, designed to look and function like a high-end commercial product while remaining completely open source.
No "spaghetti wiring" - just clean design, a vibrant IPS touchscreen, and precision Sensirion sensors. The project is available as Open Source Firmware, while the complete build kit (3D printable enclosure files + build guide + web installer) is available via crowdfunding on MakerWorld.
The device supports professional metrics, including PM1/2.5/4/10, CO₂, VOC, NOx, Temperature, Humidity, Absolute Humidity (AH), Pressure trends, and Formaldehyde (HCHO).
- Waveshare ESP32-S3-Touch-LCD-4.3 (800x480, IPS, Capacitive Touch) x 1
- Sensirion SEN66 (Main Sensor) x 1
- Adafruit SEN6x Breakout (Adapter for SEN66) x 1
- Sensirion SFA30 by Seeed Studio (Grove Interface, Optional, for HCHO) x 1
- Adafruit BMP580 / DPS310 / BMP581 (Pressure Sensor) x 1
- Adafruit PCF8523 (RTC Time Module) x 1
- Adafruit Qwiic / Stemma QT 5 Port Hub (I2C Hub) x 1
- Seeed Grove - Screw Terminal (For power) x 1
- Electrolytic Capacitor 10V 470uF (For power stabilization) x 1
- CR1220 Battery (For RTC) x 1
- Cables:
- Grove to STEMMA QT / Qwiic (100mm) x 3
- Qwiic/STEMMA QT JST-SH 4-Pin (50mm) x 3
- JST GH 1.25mm 6 Pin (100mm) x 1
- PlatformIO (VSCode Extension)
- LVGL (Graphics Library)
- Home Assistant (Optional, for integration)
DIY monitors often use a "zoo" of cheap sensors (DHT11, MQ-135). For Aura, I chose the professional Sensirion SEN66 module, and here is why:
- All-in-One: A single module measures everything: PM1/2.5/4/10, CO₂, VOC, NOx, Temperature, and Humidity.
- Reliability: The Sheath flow technology protects the sensor from dust contamination, ensuring long-term stability.
- VOC & NOx Indices: These are algorithmically processed data points that correlate with real human perception of air quality, not just raw resistance values.
Although this project is distributed as Open Source Firmware, I paid huge attention to the physical design. The case is designed to be assembled like a construction kit, with no soldering required.
This project features several engineering solutions not typically found in standard DIY builds.
1. Embedded Theme StudioCustomizing colors in firmware is usually a pain. I created a Theme Studio directly inside the device's web interface.
- All HTML/JS/CSS is packed into
PROGMEMto save RAM. - Color transformation logic is offloaded to the client's browser.
- When you click "Apply, " styles update on-the-fly without a reboot.
- 12 ready-made presets are available out of the box.
Smart devices often turn into "bricks" due to bad configs.
- Boot Policy: If the device crashes during boot multiple times, the system automatically rolls back to the last known good configuration (
last_good). - Factory Reset: If you mess up settings completely, a software factory reset is available to restore the device to its original state.
The interface is built on the LVGL library and optimized for touch control.
Main Screens:
- Dashboard: A summary panel with all metrics.
- Settings & MQTT: Full device configuration without a PC.
- Theme Presets: 12 professional themes.
- Auto Night Mode: Automatically dims or turns off the screen on a schedule.
- Auto Screen Timeout: Saves display life (30s, 1m, 5m timeouts). Wake on touch.
Features:
- Multi-language Support: English, German, Spanish, French, Italian, Portuguese (Brazil), Dutch, Simplified Chinese.
- Adaptive UI: Elements redraw instantly when changing themes with zero lag.
Soldering: 0% (Not required). All components connect via ready-made ribbon cables.
Important: The display and touch panel are integrated into the Waveshare board; you only need to connect the sensors via the I2C Hub.
⚠️ Important Note on Power (Capacitor):For stable Wi-Fi and sensor operation, you MUST install an electrolytic capacitor (e.g., 10V 470uF or larger) in the power circuit. No soldering needed: Simply insert the capacitor legs into the Seeed Grove Screw Terminal along with the power wires. Observe polarity!
⚠️ Important Note on Cables:If you are using off-the-shelf Grove/StemmaQT cables, be aware that the pinout on the Waveshare board may require swapping wires in the connector. Always verify polarity before powering on!Instruction: How to Flash the Firmware
I use a powerful tech stack: ESP32-S3 + LVGL + PlatformIO.
Step 1: Prepare EnvironmentInstall VS Code and the PlatformIO extension. Then clone the repository:
git clone https://github.com/21cncstudio/project_aura.git
cd project_auraStep 2: Build and UploadThe project is configured for the Waveshare board. Run these commands in the PlatformIO terminal:
pio run -e project_aura -t upload
pio run -e project_aura -t uploadfsNote: uploadfs is required — it contains fonts and UI assets.
Step 3: SetupOn first boot, the device creates a Wi‑Fi access point named ProjectAura-Setup.Connect and open http://192.168.4.1 to configure Wi‑Fi.Wi‑Fi is optional for basic operation; it is only needed for time sync and Home Assistant/MQTT.
Smart Home Integration (Home Assistant)One of Project Aura's killer features is native Home Assistant support via MQTT and Auto Discovery.
- Sensors: PM2.5, PM10, CO₂, VOC, NOx, T/H, Pressure, HCHO.
- Controls: Night Mode, Backlight Brightness, Restart.
You don't need to write YAML configuration. Just enable "Enable Home Assistant Discovery" in the device's MQTT settings, and it will automatically appear in your Smart Home dashboard.
ConclusionProject Aura proves that a DIY device can be beautiful, reliable, and user-friendly
- If you want to support the project and get the perfect enclosure files + detailed PDF build guide: 👉 Support me on MakerWorld
- To explore the source code and contribute: 👉 GitHub Repository













Comments