Measuring Particulate Pollution With The ESP32

Air pollution isn’t just about the unsightly haze in major cities. It can also pose a major health risk, particularly to those with vulnerable respiratory systems. A major part of hazardous pollution is particulate matter, tiny solid particles suspended in the air. Particulate pollution levels are of great interest to health authorities worldwide, and [niriho] decided to build a monitoring rig of their own.

Particulate matter is measured by an SDS011 particulate matter sensor. This device contains a laser, and detects light scattered by airborne particles in order to determine the level of particulate pollution in PM2.5 and PM10 ranges. The build makes use of an ESP32 as the brains of the operation, chosen for its onboard networking hardware. This makes remotely monitoring the system easy. Data is then uploaded to a Cacti instance, which handles logging and graphing of the data.

For those concerned about air quality, or those who are distrustful of official government numbers, this build is a great way to get a clear read on pollution in the local area. You might even consider becoming a part of a wider monitoring network!

7 thoughts on “Measuring Particulate Pollution With The ESP32

  1. Cool! Just take care to read the datasheet. I built something very similar, using a sensor by a Swiss company called Sensirion (SPS30). Really expensive sensor, using the same technology. But when you get down into the datasheet, the 10% accuracy bottoms out and you get an absolute +/-10 μg/m3 error. Given that the WHO recommended limits for particle matter < 2.5ug is 10 μg/m3, you're looking at a +/-100% error around the threshold of this limit! I couldn't find a datasheet for the SDS011 used in this project, so I imagine it's similar or worse. Useful for detecting extremes (e.g. Beijing, Mexico City), but not good if you're looking to get down to WHO recommended limits.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.