Using Drones to fight air pollution

Air pollution is becoming a more common and persistent problem of the 21 century. As the number of countries that face the issue increases, we become more aware of the problem and its consequences that have major influence on general population health. But addressing it raises a lot of questions. Why do we have this problem in first place, what is the main source of pollution and how do we resolve this.

To begin resolving air pollution we need to have detailed and specific measurements of it’s origin. A survey needs to be conducted that will provide data such as time and location of the air pollution. Without this information we can not move toward resolving it, as we don’t know the true cause. It is like fighting an unknown enemy.

This gave birth to the air pollution drone, specially designed for collecting air pollution data. The drone is capable of flying for 20 minutes on a designated route without any assistance. As drones fly through the air, and have straight line movement, they can cover more ground in less time.

During the flight the sensors attached on the drone send real time measurements of the pollution to the cloud. The procedure can be repeated as long as there are spare batteries for a new flight. All of the measurements form a picture of the landscape and the main spots and times of the pollution. The information obtained is the first and main step toward solving the pollution problem.

The concept of the PMP drone in its early stage was presented on several IT challenges and gained a lot of attention.

Technical details

The following components make up the Air Pollution Drone:


DJI Phantom 3 Advanced

Cost: $934 at time of purchase

PM Sensor:

nova PM sensor SDS011 Cost: $32 from AliExpress

Raspberry Pi:

Raspberry Pi micro computer

Cost: $30

GSM Modem

We had an existing Huawei modem that we used.

Cost: Around $20

GPS Arduino module

GY-NEO6MV2 GPS Module from AliExpress

Cost: Around $10

External battery

Anker 5000 mAh from

Cost: $15

Total cost: $1,041

Setting it up

The Raspberry Pi was used as the computer, because of it’s flexibility, and it’s ability to connect to the internet via 3G with the USB dongle.

In addition to being small and portable and computer, it also has pins that you can connect external hardware to.

The GPS chip was connected to the Raspberry Pi via the RasPi Pinout. Using a Python script, the Raspberry would connect to the GPS chip and read the GPS coordinates.

The nova PM10 and PM2.5 sensor was connected to the Raspberry Pi using it’s USB plug, and using a python script it would read the PM10 and PM2,5 particle readings.

The entire gadget was assembled in a 3D printed case that made it easier to fit all components in the undercarriage of the DJI Phantom 3.

Nova PM Sensor on top, GPS chip hanging on the red/yellow/orange wires, 3G modem hanging via the USB table, battery pack on the bottom

A hose was attached from the PM sensor to the top of the drone in order to prevent the propellers from blowing the air, creating turbulence and cleaning the air with from the fast air circulation generated, thus giving off wrong measurements. With the air being brought from the top of the drone, there is an unobstructed sample of the pollution.


We chose Google’s Firebase for the database, as it was flexible enough and simple enough to setup. It also allows for real time results, so you can actually see in real time as the pollution is being marked on a map.

It’s a JSON data store, so the data is stored as objects, and exported as JSON as well.

.The JSON object inside the Firebase database

The code

The code for the project can be found here. It talks via serial to the GPS chip to get the coordinates, and via USB to the PM sensor to get the values. It creates a JSON string which it submits to Firebase.

Mapping the results

In order to visualize the results heat maps were used to display the level and coverage of the air pollution.

Having a visual representation of the data tells a much better story about the source of the pollution.

Finding the polluters

The next step for the air pollution drone is to do an extensive survey of the city within different time of day on different locations.

Collecting huge amounts of data would allow us to analyze it and find the pollution hot spots, so we can start targeting them.

Next steps

The next steps for the projects are:

  • Improve the visualizations (filter by PM particle type, date, time)
  • Add new visuals (pie and bar charts to show trends)
  • Build app that will provide direct coordinates to the drone rather than fly manually
  • Testing coverage areas


Overall drones equipped with PM sensors allow us to have a much more flexible, easily deploy-able solution to tracking down air pollution sources.

Deployment can be done in less than 10 minutes, and we were able to cover an area of more than 500,000 m2 with just one flight.