Implementing Air Quality Monitoring via Mobile IoT Applications
Air quality sensors are among the most accessible IoT entry points. Sensirion SEN55 measures PM1.0/PM2.5/PM4/PM10, VOC index, NOx index, temperature and humidity via I²C. Bosch BSEC library for BME688 provides IAQ (Indoor Air Quality) index 0–500. Data from these sensors goes to ESP32 or Raspberry Pi, then — MQTT or HTTP to API, from which the app retrieves it.
Display: Indices and Scales
Raw numbers are useless without context. PM2.5 = 35 μg/m³ — is that much or normal? WHO standard: up to 15 μg/m³ daily norm, up to 25 μg/m³ acceptable. EPA AQI converts raw values into 0–500 index with categories.
AirQualityLevel classifyPm25(double ugm3) {
if (ugm3 <= 12.0) return AirQualityLevel.good;
if (ugm3 <= 35.4) return AirQualityLevel.moderate;
if (ugm3 <= 55.4) return AirQualityLevel.sensitiveGroups;
if (ugm3 <= 150.4) return AirQualityLevel.unhealthy;
if (ugm3 <= 250.4) return AirQualityLevel.veryUnhealthy;
return AirQualityLevel.hazardous;
}
Dashboard: circular indicators (Gauge) for each parameter, color coding by levels, mini-trend for last hour. CO2 above 1500 ppm in closed meeting room — recommendation to ventilate, useful feature not just a number.
Data Retrieval and History
Poll every 30 seconds via Retrofit/Dio for current readings. Day/week history — aggregated data from server (avg by 15-minute intervals). Local cache of latest values in SharedPreferences — no empty screen when opening app.
Push alert when CO2 > 1000 ppm or PM2.5 > 35 μg/m³ — configurable by user.
Developing air quality monitoring app with dashboard, historical trends and configurable alerts: 2–3 weeks. Cost calculated individually.







