Abstract
Project Aura is an open-source Internet of Things (IoT) project. ESP32‑S3 air‑quality station with LVGL UI, MQTT, Home Assistant. Cheap closed monitors can be useful, but Project Aura AQ is a different kind of device. It is for people who want control, transparency, repairability, local integration, open-source firmware, and the experience of building a real device themselves. It is built using C, ESP32, MQTT. Key capabilities include: Particulate: PM0.5 / PM1 / PM2.5 / PM4 / PM10; Gases: CO, CO2, VOC, NOx, HCHO, plus one optional electrochemical gas (NH3, SO2, NO2, H2S, O3, or O2); Climate: temperature, humidity, absolute humidity (AH), pressure. The complete source code is publicly available on GitHub under the GNU General Public License v3.0, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.
1. Introduction
Cheap closed monitors can be useful, but Project Aura AQ is a different kind of device. It is for people who want control, transparency, repairability, local integration, open-source firmware, and the experience of building a real device themselves.
Project Aura AQ is an open-source ESP32-S3 air-quality station built for makers who want a polished, finished device rather than a temporary sensor prototype. You print the enclosure, install top-tier sensors, flash the firmware from a browser, and get a touchscreen air-quality monitor with a local web dashboard, OTA updates, MQTT/Home Assistant integration, optional 0-10V ventilation control, and no cloud dependency.
Project Aura AQ was created and is maintained by Volodymyr Papush (21CNCStudio).
2. Objective
ESP32‑S3 air‑quality station with LVGL UI, MQTT, Home Assistant
This project demonstrates how C, ESP32, MQTT can be applied to a real-world Internet of Things (IoT) problem.
3. Key Features / Modules
- Particulate: PM0.5 / PM1 / PM2.5 / PM4 / PM10
- Gases: CO, CO2, VOC, NOx, HCHO, plus one optional electrochemical gas (NH3, SO2, NO2, H2S, O3, or O2)
- Climate: temperature, humidity, absolute humidity (AH), pressure
- Smooth LVGL UI with night mode, custom themes, and status indicators
- Integrated web dashboard at /dashboard: live state, charts, events, settings sync, DAC page, OTA firmware update
- Easy setup: Wi-Fi AP onboarding + mDNS access (http://.local)
- Home Assistant ready: automatic MQTT discovery and ready-to-use dashboard YAML
- 4.3" and 7" Waveshare ESP32-S3 touchscreen builds are supported
- Recommended custom Aura PCB path plus classic module-based path
- No soldering required for the recommended PCB build
4. Technology Stack
- Use only Waveshare boards with 16 MB flash. 8 MB flash variants will not work with Project Aura firmware and filesystem.
- SEN66 VOC/NOx require about 5 minutes of warmup for reliable readings; the UI shows WARMUP during this period.
- If the CO sensor (SEN0466) is not detected at boot, CO is marked unavailable and the rest of the telemetry stays active.
- Aura auto-detects which DFR gas variant is installed on the optional slot and exposes the matching local UI and MQTT/Home Assistant entities.
- SEN0465 ships at I2C address 0x74, which conflicts with the dedicated SEN0466 CO sensor. Set SEN0465 to 0x75 before connecting it to Aura.
- Affiliate disclosure: the Waveshare and DFRobot links above are affiliate links and help support Project Aura at no extra cost.
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Arduino IDE / PlatformIO or a C compiler (gcc)
- Target board where applicable
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/21cncstudio/project_aura.git
cd project_auraFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a mobile dashboard using Blynk or Firebase
- Store readings in a cloud database for history charts
- Add alerts via SMS / Telegram when thresholds are crossed
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which microcontroller / board and sensors are used and why?
- How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
- Where is the sensor data stored and visualised?
- How is power consumption managed?
- How would you secure the device and its communication?
9. Source Code & License
This project is developed by 21cncstudio and published on GitHub under the GNU General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Internet of Things (IoT) Internship