Skip to content
Charlie Jaewoong Mun edited this page Dec 30, 2019 · 13 revisions

Welcome to the FinedustMonitor wiki!

Fine Dust Monitoring Device

Air Pollution problem

Air pollution is one of the most significant threats to human health in the modern world. It is estimated that smog kills 5.5 million people every year, making it a leading cause of death. In places like Beijing China, it is estimated that simply living there is equivalent to smoking two packs of cigarettes per day. And, it is not just a problem for countries like China and India. In fact, London reached its entire year’s quota for air pollution within the first 5 days of 2017, and Paris is now routinely choked in smog.

One of the most interesting ways to combat smog is to monitor air quality yourself. In this article, I will show you that for less than $35, you can build a NodeMCU-based air quality monitor device (see The assembled prototype device with power source.). Since the device has its own power source (the USB battery stick), it can be placed anywhere there is WIFI signal. I typically place it in a room to monitor indoor air, or next to an open window to monitor outdoor air. It is not only a science project, but also a potential game changer for healthcare (including public health research), as we can now track an individual’s accurate exposure to smog and study how it correlates with health problems.

The assembled prototype device with power source.

Particulate matter

High concentrations of dust or PM is a serious health concern. pm 2.5 is less than 2.5 microns in diameter, and pm 10.0 is less than 10 microns in diameter. This means, a pm 10.0 report includes pm 2.5 as well. Both these particles are much smaller than a human hair, which is about 70 microns in width.

pm 10.0

Operations such as stone crushing, coal grinding, rotary kilning in cement industry and dust on road stirred by moving vehicles can increase pm 10.0 levels. pm 10.0 limit for 24-hour average is 150㎍/㎥.

pm 2.5

This is a result of fine particles produced from all types of combustion, including motor vehicles, thermal power plants, residential wood burning, forest fires, agricultural burning and other industrial processes. pm 2.5 limit for 24-hour average is 35㎍/㎥.

Getting to know NodeMCU and its DEVKIT board

What is NodeMCU (ESP8266)

The NodeMCU (Node MicroController Unit) is an open source software and hardware development environment that is built around a very inexpensive System-on-a-Chip (SoC) called the ESP8266. The ESP8266, designed and manufactured by Espressif Systems, contains all crucial elements of the modern computer: CPU, RAM, networking (wifi), and even a modern operating system and SDK. When purchased at bulk, the ESP8266 chip costs only $2 USD a piece. That makes it an excellent choice for IoT projects of all kinds.

However, as a chip, the ESP8266 is also hard to access and use. You have to solder wires, with the appropriate analog voltage, to its PINs for the simplest tasks such as powering it on or sending a keystroke to the “computer” on the chip. And, you have to program it in low-level machine instructions that can be interpreted by the chip hardware. While this level of integration is not a problem when the ESP8266 is used as an embedded controller chip in mass-produced electronics, it is a huge burden for hobbyists, hackers, or students who want to experiment with it in their own IoT projects.

Borrowing a page from the successful playbooks of Arduino or a Raspberry Pi, the NodeMCU project aims to simplify ESP8266 development. It has two key components.

An open source ESP8266 firmware that is built on top of the chip manufacturer’s proprietary SDK. The firmware provides a simple programming environment based on eLua (embedded Lua), which is a very simple and fast scripting language with an established developer community. For new comers, the Lua scripting language is easy to learn. A DEVKIT board that incorporates the ESP8266 chip on a standard circuit board. The board has a built-in USB port that is already wired up with the chip, a hardware reset button, wifi antenna, LED lights, and standard-sized GPIO (General Purpose Input Output) pins that can plug into a bread board. Figure 1 shows the DEVKIT board, and Figure 2 shows the schema of its pins.

Step 1: Choosing and setting up the hardware for our IoT device

Step 2: Reading sensor data

Step 3: Connecting our IoT device to ThingSpeak or Plaive

Step 4: Sending the data to ThingSpeak or Plaive and analyzing the data

Conclusion

Clone this wiki locally