ESP8266 Air Quality Monitor With Nova PM Sensor SDS011
by mircemk in Circuits > Arduino
943 Views, 3 Favorites, 0 Comments
ESP8266 Air Quality Monitor With Nova PM Sensor SDS011
This device measured both PM10 and PM2.5 particles uses the Nova PM SDS011 Laser Sensor, and has a graphic presentation on a TFT display.
Supplies
- ESP8266 ESP-12E
- SDS011 Nova PM Sensor
- TFT Touchscreen, 320x240 ILI9341
- Pushbutton Switch, Momentary
- Logic Level FET N-Channel
- Through Hole Resistor, 270 ohm
- Through Hole Resistor, 270 kohm
- Resistor 10k ohm
- Through Hole Resistor, 47 kohm
Description
This time I will show you how to make a device that monitors the quality of fine dust particles in the atmosphere. It measured both PM10 and PM2.5 particles uses the Nova PM SDS011 Laser Sensor. This sensor has a built-in fan which greatly simplifies construction and it has built-in logic-level serial communication providing direct readings of the PM2.5 and PM10 values without having to use maths to manipulate PWM values to obtain the results.
The sensor itself is delivered together with a USB to Serial converter, so we can connect it directly to the USB port of the PC. In that case, we need to use appropriate software that we can download from the sensor manufacturer's website (http://inovafitness.com/en/a/chanpinzhongxin/95.html).
The device that is presented this time works independently, so it is completely flexible in terms of installation location, size, as well as the cost of the entire device. The results are displayed on the 2.8 Inch TFT LCD Display, but also thanks to the use of the ESP8266 Wi-Fi module, is sent to a Windows PC running a small server application to log the data on a chart to be viewed on the application itself or in a web browser either on the PC or over the internet. So, the PC needs to have a static IP address set up in its Network Properties settings. One thing to note is that the sensor has a certain lifespan, and the datasheet claims “up to” 8,000 hours. If you run the sensor continuously that’s not quite a year, so you might want to think about how often you will power up the device. According to the code, the sensor is active for 30 seconds, while taking a reading, then shuts down completely for 4 minutes 30 seconds. The active period of the sensor is indicated by this Red LED. Instead to put the sensor into low power mode, here it is chosen to simple switch off the sensor's main power through a small Mosfet transistor. The code is taken from John Owen's blog (http://www.vwlowen.co.uk/arduino/Air-Quality/air-quality-monitor.htm) where you can find more detailed information. I just want to mention that in order to compile the code without errors, you need to install 2.7.4 ESP8266 arduino core version. This time we will not dwell on the way to install the ESP8266 Board definitions into the Arduino IDE, because it is explained in the previous videos.
Parts , PCB
The hardware part of the device is relatively simple to make and consists of several components:
- ESP8266 based microcontroller board, in my case NodeMCU 1.0
- Nova PM SDS011 Laser based sensor
- 2.8 Inch TFT LCD Display with 240x320 dots resolution
- 2N7000 or similar Mosfet transistor
- Save data button
- and couple of resistors
If you want to make a PCB for this project, or for any other electronic project, PCBway is a great choice for you. PCBway is one of the most experienced PCB manufacturing company in China in field of PCB prototype and fabrication. They have a large online community where you can find a Open Source projects, and you can also share your project there. From my personal experience I can tell you that on this community you can find many useful projects with alredy designed PCBs, from where you can place an order directly.
Building
The sensor is placed on the outer back of the case so that it can be maintained more easily, and also the results obtained are more accurate. When the device has to measure pollution outside, a suitable tube is placed leading to the external environment, so that the whole device is protected from negative influences.
When turning on the device, it first connects to the local Wi-Fi network with the appropriate username and password that we previously entered in the code. Data is sampled every 5 minutes so, as there are approximately 300 points across the display, the "histogram plot" represents approximately 24 hours of data. So, it needs to pass a certain time for the graph to start forming. The red LED signals when the Air pollution sensor is active.
The screen shows the concentration of PM2.5 and PM10 particles, as well as the strength of the Wi-Fi signal and the value of the supply voltage. Also in the lower right corner there is information when the sensor is active, and the time until its activation. As we see the color of the graph changes from light green, through yellow-red shades, to magenta, depending on the air pollution acciording to UK Defra scale.
We can also observe this graph on PC using the application "Air Quality Monitor" which you can download below. After installing the program, we need to make some simple settings:
First of all, as I mentioned before, we need to set the local IP address on PC Network adapter, that is previously defined in the code. In the system settings tab we also need to enter the port given earlier. Then in the chart settings we adjust the titles and shape of the graph, and finally in the Air Light tab we can graphically observe the concentration of PM particles during the day. Just to mention that the first results on the graph will appear after 24 hours.
Finally, the device is installed in a suitable box made of PVC boards with thicknesses of 3mm and 5mm and covered with self-adhesive colored wallpaper.