Building an Arduino Air Quality Monitoring Station (SDG 11: Sustainable Cities and Communities)

An Arduino air quality monitoring station demonstrates how low-cost environmental sensing can support more sustainable cities. Air pollution remains one of the most significant environmental risks worldwide, yet regulatory monitoring infrastructure is often sparse, expensive, and geographically limited. By combining an Arduino-compatible microcontroller with a particulate matter sensor and atmospheric sensing hardware, it is possible to build a compact monitoring station capable of recording local environmental conditions at relatively low cost.This project is not a substitute for certified regulatory instrumentation. Instead, it illustrates an important systems principle: distributed environmental sensing can improve urban environmental awareness, neighborhood-scale monitoring capacity, and data-informed decision-making.

Arduino air quality monitoring station with particulate matter sensor and environmental sensors measuring PM1.0 PM2.5 and PM10 pollution levels to support urban air monitoring and SDG 11 Sustainable Cities and Communities.
Arduino-based air quality monitoring station measuring particulate pollution (PM1.0, PM2.5, PM10) alongside temperature and humidity to demonstrate low-cost environmental sensing for urban sustainability aligned with SDG 11.

Table of Contents


Abstract

This project presents a prototype Arduino air quality monitoring station built around a particulate matter sensor, a temperature and humidity sensor, and a microcontroller-based data acquisition loop. The station measures airborne particulate concentrations and environmental conditions, then reports the readings through the Serial Monitor for interpretation and later expansion.

From an engineering perspective, the system demonstrates a distributed environmental sensing architecture. From an urban sustainability perspective, it shows how low-cost monitoring systems can expand neighborhood-scale environmental awareness and support more resilient city infrastructure.


Prototype Repository

This project is published as an open prototype so that engineers, researchers, students, and advanced makers can reproduce and extend the design. All firmware, documentation, wiring notes, and example monitoring data are available in the project repository.

GitHub Repository:
Arduino Air Quality Monitor – Source Files and Documentation

The repository contains the complete prototype build materials:

  • Arduino monitoring firmware (.ino)
  • bill of materials
  • setup guide
  • calibration notes
  • example particulate readings
  • wiring and deployment notes

Engineers can clone the repository, fork the design, or download the complete project using GitHub’s Download ZIP feature.

All materials are released under the MIT License to support reuse in research, education, and prototype engineering work.


SDG Alignment

This project connects most directly to SDG 11: Sustainable Cities and Communities, particularly the need for healthier urban environments and better local environmental monitoring.

Related themes also appear in:

  • SDG 3: Good Health and Well-Being — because air pollution exposure directly affects respiratory and cardiovascular health
  • SDG 12: Responsible Consumption and Production — by increasing visibility into pollution-generating systems
  • SDG 13: Climate Action — because particulate pollution is frequently linked to fossil-fuel combustion and urban emissions systems

The World Health Organization identifies particulate pollution as a major environmental health risk worldwide. In cities, localized monitoring can help communities better understand how traffic, industrial activity, heating systems, and land-use patterns affect air quality.


System Architecture

The monitoring station functions as a simple environmental sensing pipeline:

  • Sensor layer: particulate sensor and atmospheric sensor
  • Acquisition layer: Arduino reads sensor data
  • Processing layer: firmware parses frames and formats telemetry
  • Output layer: values are reported through the Serial Monitor and can later be displayed, logged, or transmitted
Air → PM Sensor + DHT22 → Arduino → Parsing + Telemetry → Display / Logging

This mirrors the architecture of professional environmental monitoring systems, albeit at a smaller educational scale. In practical deployments, similar systems can be distributed across schools, streets, rooftops, or neighborhoods to create denser urban air-quality datasets.


Why an Arduino Air Quality Monitoring Station Matters

Government air monitoring stations provide highly accurate data, but they are expensive and geographically sparse. Low-cost sensor stations provide a complementary approach by enabling denser environmental observation at neighborhood, campus, classroom, or household scale.

An Arduino monitoring station demonstrates the core logic behind distributed environmental sensing:

  1. measure environmental conditions locally
  2. convert sensor signals into interpretable values
  3. observe variation across time and location
  4. support better environmental awareness and urban decision-making

This approach is especially valuable in educational environments, citizen-science initiatives, and sustainability laboratories. For urban systems, the ability to observe localized air-quality variation can help make environmental inequality and infrastructure stress more visible.


What This Project Measures

  • PM1.0 — ultrafine particles
  • PM2.5 — fine particles strongly associated with respiratory and cardiovascular risk
  • PM10 — coarse suspended particles
  • Temperature
  • Humidity

These values provide a contextual picture of environmental air conditions. In urban environments, particulate readings can help identify episodes associated with traffic congestion, construction, industrial activity, or seasonal heating patterns.


Bill of Materials

  • Arduino Mega / Uno / Nano
  • PMS5003 particulate sensor
  • DHT22 temperature and humidity sensor
  • Optional OLED or LCD display
  • Optional microSD module
  • Breadboard
  • Jumper wires
  • Stable 5V power supply

Boards with multiple hardware serial interfaces, such as an Arduino Mega, simplify communication with particulate sensors.


Measurement Principle

Low-cost particulate sensors typically use laser scattering. Air flows through a sensing chamber where particles scatter light from a laser. The scattered signal is detected by a photodiode and converted into particle concentration estimates.

This method provides useful approximations of particulate concentration but is not equivalent to certified regulatory measurement instruments. Its value lies in trend detection, comparative local monitoring, and education rather than legal or regulatory compliance.


Sensor Communication and Data Frames

The PMS5003 transmits structured serial frames containing particulate measurements. Firmware must detect frame boundaries, parse byte sequences, and reconstruct values correctly.

PM values are encoded as multi-byte integers that must be combined correctly in firmware. A defensible implementation therefore requires at least basic frame validation and clear parsing logic.


Design Assumptions and Constraints

  • moderate indoor or sheltered deployment
  • adequate airflow around the sensor inlet
  • stable power supply
  • educational or experimental use

This prototype is designed for monitoring and learning rather than regulatory compliance. It is best understood as an urban environmental sensing platform that helps make local air conditions more visible.


Wiring Overview

PMS5003

  • TX → Arduino RX
  • RX → Arduino TX
  • VCC → 5V
  • GND → GND

DHT22

  • VCC → 5V
  • DATA → Arduino D2
  • GND → GND

Particulate sensors contain small internal fans and require stable power delivery. If power fluctuates, data quality may degrade and false readings may appear.


Electrical and Deployment Considerations

Proper placement improves measurement quality.

  • ensure unobstructed airflow
  • avoid direct proximity to heat sources
  • avoid high-moisture zones
  • allow sensor warm-up time before interpreting readings

Outdoor stations should be protected from rain while still allowing airflow. In urban monitoring contexts, placement also affects representativeness: a sensor mounted near a roadway may capture traffic conditions, while a rooftop sensor may reflect broader atmospheric background conditions.


Firmware Design Goals

The firmware should:

  • parse structured particulate frames correctly
  • combine sensor measurements into readable telemetry
  • handle invalid readings gracefully
  • report environmental conditions clearly and consistently

These goals improve the reliability, interpretability, and extensibility of the monitoring station.


Advanced Arduino Code

#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

byte frameBuffer[30];

bool readPMSFrame(int &pm1, int &pm25, int &pm10) {

  if (Serial1.available() < 32) return false;

  if (Serial1.read() != 0x42) return false;
  if (Serial1.read() != 0x4D) return false;

  Serial1.readBytes(frameBuffer, 30);

  pm1  = frameBuffer[4] * 256 + frameBuffer[5];
  pm25 = frameBuffer[6] * 256 + frameBuffer[7];
  pm10 = frameBuffer[8] * 256 + frameBuffer[9];

  return true;
}

void setup() {

  Serial.begin(9600);
  Serial1.begin(9600);
  dht.begin();

  Serial.println("Arduino Air Quality Monitoring Station");
}

void loop() {

  int pm1 = 0;
  int pm25 = 0;
  int pm10 = 0;

  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  if (readPMSFrame(pm1, pm25, pm10)) {

    Serial.print("PM1.0: ");
    Serial.print(pm1);
    Serial.print(" | PM2.5: ");
    Serial.print(pm25);
    Serial.print(" | PM10: ");
    Serial.print(pm10);

    Serial.print(" | Temp: ");
    Serial.print(temperature);
    Serial.print(" C | Humidity: ");
    Serial.print(humidity);

    Serial.println(" %");
  }

  delay(5000);
}

Engineering Notes

  • Frame start detection helps ensure valid particulate parsing
  • Multi-byte reconstruction converts raw values into particulate concentration readings
  • Environmental readings provide contextual interpretation for urban monitoring

For more advanced implementations, you could add checksum validation, moving averages, timestamped logging, AQI conversion, or threshold-based alerts.


Interpreting PM Measurements

Particulate concentrations are typically reported in µg/m³.

  • PM1.0 — ultrafine combustion particles
  • PM2.5 — fine particles with strong public-health impacts
  • PM10 — coarse inhalable particles

PM2.5 is generally the most relevant public-health indicator. In urban sustainability work, these measurements help make air-quality variation visible across neighborhoods, land uses, and transport corridors.


Calibration and Validation

Low-cost sensors should be validated carefully.

  1. run baseline tests indoors
  2. introduce controlled particulate sources
  3. observe expected response
  4. compare against nearby reference monitors

Validation does not turn the sensor into a regulatory instrument, but it does improve confidence in how the system responds to changing environmental conditions.


Suggested Performance Metrics

  • reading stability
  • response sensitivity
  • environmental repeatability
  • telemetry integrity

Even basic evaluation of these metrics improves the engineering credibility of the monitoring station.


Build Steps

  1. Wire sensors
  2. Upload firmware
  3. Confirm environmental readings
  4. Confirm particulate frame parsing
  5. Test response using a controlled particulate source
  6. Observe environmental variation over time

Limitations

  • optical sensors are sensitive to humidity
  • airflow affects readings
  • long-term drift may occur
  • results are indicative rather than regulatory

These limitations do not make the system unhelpful. They define the appropriate scope of interpretation and use.


Possible Upgrades

  • data logging with SD card
  • wireless telemetry with ESP32
  • AQI conversion
  • OLED display
  • multi-node sensor networks

A networked version of this project could support community-based urban air monitoring across multiple neighborhoods or schools.


Why This Matters for Sustainable Development

Air pollution is simultaneously a public-health challenge, an infrastructure challenge, and an urban governance challenge.

Distributed sensing systems translate environmental conditions into interpretable data. This makes environmental risks more visible and helps communities respond more effectively.

This Arduino monitoring station illustrates that principle in miniature: measure conditions locally, interpret the results carefully, and use environmental feedback to inform better urban sustainability decisions.

In that sense, the system contributes directly to the logic of SDG 11: Sustainable Cities and Communities. Cities become more resilient when environmental conditions are measured clearly enough to support smarter planning, healthier neighborhoods, and more transparent public understanding.


Conclusion

An Arduino air quality monitoring station demonstrates how embedded sensing systems can support more sustainable cities, stronger environmental awareness, and better local monitoring capacity.

By combining particulate sensing with atmospheric telemetry, the system provides a technically credible introduction to distributed environmental monitoring.

More importantly, it illustrates a core principle of sustainable development: communities need reliable feedback systems capable of observing environmental change clearly enough to support informed decision-making.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top