Low-Cost IoT Air Quality Monitoring: Lessons From Vayu

Suman SharmaSuman Sharma

Vayu was my undergraduate project: a network of low-cost IoT air quality sensors, paired with satellite remote sensing, to show people what they were breathing. It won a national undergraduate award and represented the country at APICTA, the Asia Pacific ICT Alliance Awards.

That is the résumé line. This post is the useful part: what actually worked, what broke, and what I'd do differently if I built it again today.

Why low-cost sensors at all

Reference-grade air quality monitors are accurate and expensive. Many cities have only a handful of them, which means a whole district's air quality is estimated from one rooftop.

Low-cost sensors flip the trade-off. Each one is less accurate, but you can deploy many. For a lot of questions, density beats precision:

  • Where are the hotspots?
  • When during the day does it get worst?
  • Did that road closure change anything?

The hardware stack

A station in a project like Vayu looks roughly like this:

PartJob
Particulate sensor (laser scattering, e.g. the Plantower PMS-series)Measures PM1, PM2.5, PM10
Temperature and humidity sensorNeeded to correct particulate readings
Microcontroller (ESP32-class)Reads sensors, buffers data, sends it
ConnectivityWi-Fi where available, GSM or LoRa elsewhere
PowerMains with backup, or solar and battery
EnclosureAirflow in, rain and direct sun out

Lesson 1: Humidity lies to you

Laser particulate sensors count particles by how they scatter light. When humidity is high, particles absorb water and grow, so the sensor reports more PM2.5 than is really there. In monsoon conditions this can be dramatic.

The fix is calibration: co-locate sensors with a reference monitor, then fit a correction that uses humidity as an input. I wrote the full method in Calibrating Low-Cost PM2.5 Sensors Against Reference Data.

Lesson 2: The network is harder than the sensor

The sensor is the easy part. Keeping 20 devices online for months is the real work:

  • Power cuts reset devices. Buffer readings locally and backfill when the connection returns.
  • Wi-Fi changes. Someone changes the router password and a station goes dark.
  • Clock drift. Timestamp on the server, or sync time via NTP on every boot.
  • Physical stuff. Dust, insects, bird droppings, and curious people.

A heartbeat dashboard that shows when each device last reported saved us more time than any feature.

Lesson 3: Satellites fill gaps, not replace sensors

Vayu combined ground data with satellite remote sensing. Satellites like Sentinel-5P measure gases such as NO₂ across the whole atmospheric column, and aerosol products estimate particulate load from above. They cover everywhere, but they don't directly measure what you breathe at street level.

The useful pattern is fusion: satellites give spatial coverage, ground sensors anchor the numbers locally. Forecasting on top of that is the next step, which I explored in Forecasting Air Quality with Machine Learning.

Lesson 4: The dashboard is the product

Nobody outside the team cared about our sensor choice. They cared about a map that answered "is it safe to go running right now?" Things that mattered:

  • Plain categories (Good, Moderate, Unhealthy) next to the number.
  • A last-updated time on every reading, so stale data is obvious.
  • History, so people could see patterns, not just the current value.

What I'd change today

  1. Calibrate from day one, not after deployment.
  2. Use LoRaWAN for stations far from reliable Wi-Fi.
  3. Store raw and corrected values separately, so you can recalibrate later.
  4. Open the data with a clear licence and accuracy notes. Researchers and journalists can do more with it than we could.

Why this matters beyond one city

Air quality is one of the clearest cases where cheap hardware, good data practice, and machine learning can inform policy. It is also the thread that led me toward climate risk and early warning work, which I write about in How AI Flood Early Warning Systems Work.

Frequently asked questions

Are low-cost air quality sensors accurate?

They are useful for trends and for spotting hotspots, but raw readings can drift and are affected by humidity. They need calibration against a reference monitor before you compare their numbers with official data.

What does an IoT air quality station need?

A particulate sensor, ideally a temperature and humidity sensor for correction, a microcontroller, a connectivity option such as Wi-Fi, GSM, or LoRa, a stable power supply, and an enclosure that lets air in but keeps rain out.

Why combine ground sensors with satellite data?

Ground sensors are accurate at a point but sparse. Satellites cover large areas but measure the atmosphere indirectly. Together, they help fill gaps between stations.

Contact

Get in Touch

Want to call me? book a call and I'll respond in the available time slot. I will ignore all soliciting.