1. Sensor Hardware & Data Collection
We use professional-grade sensors for both our legacy and new DIY weather stations:
- PMS7003: Modern laser scattering sensor used in active DIY stations for PM1.0, PM2.5, and PM10.
- AHT20 / BMP280: High-precision environmental sensors for Temperature, Humidity, and Pressure.
- Sampling Rate: Data collected every 5 minutes and transmitted via MQTT/WiFi.
2. Humidity Correction (Hygroscopic growth)
Optical particle sensors often over-report PM values at high humidity because water vapor condenses on particles, making them appear larger. To ensure accuracy in Bangalore's tropical climate, we apply a sophisticated 3-tier correction based on 10-point moving average smoothed RH:
Case 1: Low Humidity (RH ≤ 40%)
PM_corrected = PM_rawNo correction needed in dry conditions.
Case 2: Moderate Humidity (40% < RH ≤ 75%)
PM_corrected = PM_raw / (1 + 0.020 * (RH - 30))Linear dampening to counteract initial hygroscopic swelling.
Case 3: High Humidity (RH > 75%)
PM_corrected = PM_raw / (1 + 0.002 * (RH² / (100 - RH)))Non-linear correction for exponential growth, hard-clamped at 3.0x to handle monsoon spikes.
3. Robust AQI Calculation
For our DIY stations, we calculate a comprehensive AQI by evaluating multiple pollutants and selecting the most critical reading.
Combined AQI Formula:
AQI_Final = MAX(AQI_PM1.0, AQI_PM2.5, AQI_PM10.0)Reference Breakpoints (US-EPA Standard)
| AQI Category | AQI Range | PM1.0/2.5 (µg/m³) | PM10 (µg/m³) |
|---|---|---|---|
| Good | 0 – 50 | 0.0 – 12.0 | 0 – 54 |
| Moderate | 51 – 100 | 12.1 – 35.4 | 55 – 154 |
| Unhealthy (SG) | 101 – 150 | 35.5 – 55.4 | 155 – 254 |
| Unhealthy | 151 – 200 | 55.5 – 150.4 | 255 – 354 |
| Very Unhealthy | 201 – 300 | 150.5 – 250.4 | 355 – 424 |
| Hazardous | 301 – 500 | 250.5 – 500.0 | 425 – 604 |
Breakpoints Used
We use standard US-EPA breakpoints for all three particle sizes. Since smaller particles (PM1.0) are more harmful, they often drive the final AQI higher even if larger particles like PM10 are within safer limits.
Sample Calculation
Linear Interpolation Formula:
AQI = [ (Ihigh - Ilow) / (Chigh - Clow) ] × (C - Clow) + IlowExample for PM2.5 = 45.0 µg/m³:
AQI = [ (150 - 101) / (55.4 - 35.5) ] × (45.0 - 35.5) + 101
AQI = [ 49 / 19.9 ] × 9.5 + 101
AQI = 2.46 × 9.5 + 101
AQI = 23.37 + 101 ≈ 124
1. Collect Data:
- PM1.0: 20 µg/m³
- PM2.5: 60 µg/m³
- PM10: 80 µg/m³
2. Calculate AQIs:
- AQI (PM1.0): 67
- AQI (PM2.5): 153
- AQI (PM10): 63
3. Result:
*The highest individual AQI becomes the station's reported value.