3.5 KiB
- Which is the one I care about? Like which is the one I would use to know if Southeast Asia's burning season is getting bad?
- Ok, so why would I want to know about 1.0 and 10.0? What would those be useful for? This is for a home sensor project I'm building
- How does AQI work though? Seems like the AQI score is different from the PM 2.5 reading
Which is the one I care about? Like which is the one I would use to know if Southeast Asia's burning season is getting bad?
You want pm2_5_atm
- the PM2.5 concentration under atmospheric environment.
PM2.5 (particles ≤ 2.5 micrometers) is the key metric for air quality and health because these particles are small enough to penetrate deep into your lungs and bloodstream. During Southeast Asia's burning season, this is what gets dangerously high.
The "atmospheric environment" reading (_atm
) is more accurate for real-world conditions compared to the "CF=1 standard particle" (_cf1
) reading, which uses a correction factor.
Reference levels:
- 0-12 μg/m³: Good
- 13-35 μg/m³: Moderate
- 36-55 μg/m³: Unhealthy for sensitive groups
- 56-150 μg/m³: Unhealthy
- 151-250 μg/m³: Very unhealthy
- 251+ μg/m³: Hazardous
During bad haze episodes, you'll see pm2_5_atm
values well into the hundreds or even 300+ μg/m³.
Ok, so why would I want to know about 1.0 and 10.0? What would those be useful for? This is for a home sensor project I'm building
Great question! Here's why you'd want the other PM readings for a home sensor:
PM1.0 (pm1_0_atm
):
- Ultra-fine particles - these penetrate deepest into lungs and bloodstream
- Indoor sources: cooking (especially frying/grilling), candles, incense, vaping
- Early warning: Often spikes before PM2.5 gets bad
- Health: Most concerning for cardiovascular effects
PM10 (pm10_atm
):
- Coarse particles - dust, pollen, mold spores
- Indoor sources: vacuuming, pets, dusty activities, open windows on windy days
- Allergies: Key metric for people with dust/pollen allergies
- HVAC effectiveness: Shows if your air filters are working
For your home sensor project:
- PM1.0: "Is my cooking/candle affecting air quality?"
- PM2.5: "Is the outdoor haze/pollution getting inside?"
- PM10: "Should I run the air purifier due to dust/allergens?"
You could set different alert thresholds:
if (data.pm1_0_atm > 15) printf("Cooking/indoor pollution detected\n");
if (data.pm2_5_atm > 35) printf("Outdoor pollution - close windows!\n");
if (data.pm10_atm > 50) printf("High dust/allergens - run air purifier\n");
All three together give you a complete picture of your indoor air quality!
How does AQI work though? Seems like the AQI score is different from the PM 2.5 reading
Yes! AQI (Air Quality Index) is a calculated score that converts raw PM2.5 readings into a standardized 0-500 scale that's easier for people to understand.
The conversion uses breakpoints:
AQI Range | PM2.5 (μg/m³) | Category |
---|---|---|
0-50 | 0.0-12.0 | Good |
51-100 | 12.1-35.4 | Moderate |
101-150 | 35.5-55.4 | Unhealthy for Sensitive |
151-200 | 55.5-150.4 | Unhealthy |
201-300 | 150.5-250.4 | Very Unhealthy |
301-500 | 250.5-500.4 | Hazardous |
Example:
- PM2.5 = 25 μg/m³ → AQI ≈ 79 (Moderate)
- PM2.5 = 100 μg/m³ → AQI ≈ 170 (Unhealthy)
For your home sensor:
int pm25_to_aqi(float pm25) {
if (pm25 <= 12.0) return (50.0/12.0) * pm25;
if (pm25 <= 35.4) return 51 + ((49.0/23.4) * (pm25 - 12.1));
if (pm25 <= 55.4) return 101 + ((49.0/19.9) * (pm25 - 35.5));
// ... continue for higher ranges
}
Why AQI is useful:
- Color-coded (Green=Good, Red=Unhealthy)
- Same scale regardless of pollutant type
- Easy for non-technical users: "AQI 150 = stay indoors"
The raw PM2.5 number is more precise for data logging, but AQI is better for user alerts!