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!

A Portable, Accurate, Low-Cost, Open Source Air Particle Counter

If you live in a city with poor air quality you may be aware that particulates are one of the chief contributors to the problem. Tiny particles of soot from combustion, less than 10μm across, hence commonly referred to as PM10. These are hazardous because they can accumulate deep in the lungs, wherein all kinds of nasties can be caused.

There are commercial sensors available to detect and quantify these particles, but they are neither inexpensive nor open source. [Rundong] tells us about a project that aims to change that situation, the MyPart, which is described as a portable, accurate, low-cost, open source air particle counter. There is a GitHub repository for the project as well as a series of Instructables covering the build in detail. It comes from a team of members of the Hybrid Ecologies Lab at UC Berkeley, USA.

Along the way, they provide a fascinating description of how a particulate sensor works. A laser shines at right angles across a photodiode, and is brought to a focal point above it. Any particulates in the air will scatter light in the direction of the photodiode, which can thus detect them. The design of a successful such sensor requires a completely light-proof chamber carefully built to ensure a laminar flow of air past laser and diode. To that end, their chamber has several layers and is machined rather than 3D-printed for internal smoothness.

We’ve covered quite a few environmental sensors over the years here at Hackaday. An open source volatile organic compound (VOC) detector featured last year for example, or this Raspberry Pi-based  system using a commercial gas sensor.

Deploying An Open Source Pollution Monitoring Network

pollution-monitoring-network

[Kasey] and [Guyzmo] have been working for the past couple of years on a side project that lets them monitor pollution using a network of sensors. They’ve just decided to make the project open source, both hardware and software. The details of the system are available at their GitHub repository.

There are two main components to the system. On the right is a base station which collects the data from the array of sensor, one of which is shown on the left. Each sensor runs off of a battery, but features a PV solar panel which keeps the power source topped off. It uses an Arduino to drive the system, and an XBee radio for communications. Some info about the sensors can be found on this summary page. There’s a PM10 particle pollution sensor, temperature, sound, nitrogen, and oxygen sensors. We also wonder if any data can be gleaned from how much electricity the solar panel is able to harvest?

The base station also uses an XBee radio to poll the network, but it’s not driven by an Arduino. They’ve gone with the ARM-based BeagleBone to manage the data.