A complete air quality monitoring and HVAC control system using PurpleAir sensors, Arduino relay control, and web-based data visualization.
This project monitors indoor air quality using PurpleAir sensors and automatically controls ventilation through Arduino-based relays. Data is logged to Google Sheets and visualized through an interactive web dashboard.
- Monitors PurpleAir sensor data (local sensor or API access)
- Indoor and outdoor station support
- Controls ventilation based on configurable air quality thresholds
- Logs data to Google Sheets
- Manual override capability
- Interactive visualization of air quality trends
- Identifies spike times and trends
- Real-time updates from Google Sheets
Live Demo: https://jcdoll.github.io/purpleAirRelayControl
- Configure WiFi credentials and PurpleAir sensor IDs
- Upload sketch to Arduino using Arduino IDE
### Dashboard Setup
```bash
cd dashboard
npm install
npm start # Run locally
npm run deploy # Deploy to GitHub Pages
- PurpleAir Sensor → Measures PM2.5 levels
- Arduino → Reads sensor data and controls relay
- Google Sheets → Logs all measurements
- Web Dashboard → Visualizes patterns and trends
- Set WiFi credentials in the sketch
- Configure PurpleAir sensor IDs
- Adjust relay control thresholds
- Update Google Sheets CSV URL in
dashboard/src/App.js - Customize visualization preferences
- Arduino (ESP32 future work) - see detailed Arduino README
- Relay module
- PurpleAir sensor
- Ventilation system connection know how
- Arduino IDE
- Google account for spreadsheet logging
- Node.js and npm (for dashboard)
This project is licensed under the MIT License - see the LICENSE file for details.