In cooperation with Nicholas Johnson, we built a dust sensor that operates roughly 24×7 and publishes the results consistently to the web via GSM.  The project combines an inexpensive air quality dust sensor with an Arduino Uno and GSM shield and is powered by Voltaic’s waterproof solar panels and universal battery. This general process can be applied to anything you want to sense as long as you are in a cellular network. Welcome to remote sensing!

This is a general overview about the purpose and results of the project. For a detailed step-by-step tutorial of how to replicate this project, see the expanded post here.

If you want a one-on-one conversation with someone from Voltaic about running small systems offgrid, you can schedule a consultation here:

IoT Consultation

solar arduino air quality sensor



According to the CDC, microscopic airborne pollution is one of the leading causes of cancer. Pollutants smaller than 2.5 microns in diameter are known as “Fine Particles” and are more dangerous than “Coarse Particles” (2.5-10 microns) since they can get into your blood stream more easily. By monitoring the air quality of different areas in a city or state, we can have a better understanding of possible causes of air pollution and enact public policy to address these causes (for example, construction sites in New York City are required to maintain dust pollution below a certain threshold to protect people in that area).

Nick’s motivation for this project is to empower citizen scientists to build their own inexpensive air pollution sensors and network them online to share data collectively. Thus multiple sensors could be deployed through 0ut a city to map out when and where the pollution levels rise to give a community a better sense of when they are breathing unhealthy air. You can read more about the project from his perspective by clicking here.


Project Overview

This project seeks to send real-time air quality information to the web as easily as possible. Anyone with basic experience with sensors or electronics can assemble the hardware below and download the software for the Arduino to get their sensor up and running in no time. An inexpensive dust particle sensor was combined with an Arduino Uno to record pollution levels, and a GSM shield was used to send the information to the web each time a measurement was recorded. A GSM shield connects to a phone network (similar to your cell phone) and does not require a local internet connection to establish it’s own connection with the web, therefore it was used instead of a Wi-Fi shield so that we could install the sensor out in the wilderness away from any reliable Wi-Fi network.

arduino gsm shield, solar arduino air quality sensor

In order to power a device indefinitely from solar power, it is critically important to reduce the power requirements of the system in order to reduce the battery and panel sizes required. By reducing the power requirements of the system, smaller batteries and smaller solar panels can be used, thereby reducing the size and cost of the system. We investigated different ways to reduce the Arduino’s power requirements by putting it to “sleep” whenever it is not sensing or sending data, and were able to reduce the power consumption by 33%.

If you are interested in putting your own Arduino into Sleep Mode, download Voltaic’s Arduino sketch with all the required code snippets for putting the system to sleep and waking it up again when necessary.

solar arduino air quality sensor


We successfully built a case that allows the panels and sensor on the outside of the case to interact with the battery and Arduino on the inside of the box without allowing water to creep in. If you’re interested in building your own waterproof case, check out this guide to building a dry box for Arduino. After several months on our roof the project was subjected to heavy rain and several inches of snow, all while keeping the electronics perfectly dry.

solar arduino air quality sensor

Result – Brooklyn, NY

Below is a live feed of our data on the Freeboard dashboard through Check out our live Dweet data feed here by following “voltaic-air-quality” or watch our live custom dashboard here.

Using the raw data uploaded to, here’s what our customized Freeboard dashboard looks like:

solar arduino air quality sensor

As you can see there is a very rich user interface, complete with line graphs, gauges, maps, indicator lights, and even your own original HTML if you have another application you’d like to add.

We spent an afternoon walking around Brooklyn to test out our air quality sensor and see which areas of town were more polluted than others. Though Dweet is fantastic for displaying real-time data, Xively can record and present data over customizable periods of time. This was very useful to us to see what the air was like in specific areas of town while we were away from a computer. While none of this was visible to the naked eye nor detectable to our senses, the dust sensor found some fascinating results:

solar arduino air quality sensor

As you can see from the screenshot, the areas of town that we expected to have more dust particles and pollutants were indeed far more polluted than other areas. For example, right under neath the Brooklyn-Queens Expressway there was an enormous spike of pollution due to all of the cars passing by, and underneath the Manhattan Bridge there is a public space in one of the arches that is sheltered from wind, so dust and pollutants can easily congregate there. Conversely, the open breezy areas of town were very clean, such as a public park by the East River.

To put this data in perspective, the USA, European Union, and China have standards for what is considered “clean” air on average over a one day period:

Air Quality Standards
National Standards Fine Particle Concentration
(24 hr Average)
World Health Organization 10 µg/m³
Europe 30 µg/m³
USA 35 µg/m³
China 150 µg/m³


Concluding Thoughts

We concluded that a steady breeze in an open environment is one of the leading contributors to clean air, as the pollutants are quickly carried away. Conversely, areas with stagnant air are more likely to harbor pollution. While the actual sensor values are not precisely calibrated (it would require much more precise equipment running in parallel with our sensors to calibrate if the data readings were accurate), they are useful for observing the qualitative differences between multiple locations. Therefore we can reasonably say for instance, “the inside of this building has 3 times more pollution than the air outside” or vice versa.

Overall this project shows the power and robustness of the Voltaic solar panels for outdoor microcontroller applications. We’d like to thank Nick Johnson for all the work he did on this project, and indirectly thank all of the blogs and websites that helped us with our research about this topic. We encourage anyone interested in replicating their own air quality sensor to click here for a detailed tutorial about making this project, and doubly encourage them to give us a call or send us an email if you’d like to receive help and support on your own solar powered microcontroller project.



solar arduino air quality sensor



About The Author

Testing / Product Development Engineer

Got an idea for a solar powered project? Let us know about it! Drop me a line and I'll see if I can help out

One Response

Leave a Reply

Your email address will not be published.

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