Deploying An Open Source 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.

21 thoughts on “Deploying An Open Source Pollution Monitoring Network

  1. It’s my turn to know something about a topic! Hooray!

    This project is a good start and recognize this is a Beta, but has a long way to go before it’s actually monitoring pollutants that are very meaningful. PM10 is considered the cutoff for respirable particles, with PM2.5 being a far better measure of what makes it into the lungs. Of course, it’s far harder to measure 2.5 than 10. PM10 does not proxy well for PM2.5; entirely different characteristics and often different sources. So, a challenge there to find a sensor that will reliably measure in the 2.5-10 range.

    If they get their mysterious NO2 device working and can measure CO at ambient pollutant levels, those are very useful. The other two big ones are SO2 and ground level ozone (O3). Until you’re monitoring parameters like those, you’re not really monitoring anything of interest health-wise.

    I’d really love to see inexpensive citizen-science pollution monitoring. I work in air monitoring and the professional sub-ppb concentration devices are in the tens of thousands of dollars, are large (about the size of a desktop computer for each pollutant) and some require air driers, carrier gasses and other associated equipment. Home affordable devices that don’t require professional maintenance to give reasonable results (in the 10’s of ppb resolution would be acceptable) would be huge. Good luck!

    1. Low cost sensing is a tough gig. I have always thought some sort of line of sight technique would work and esp now as hardware tx and rx are so cheap. I had a quick look at alphasense and couldn’t immediately see how their sensors work …. area ripe for research if you ask me.

        1. Hmmm I have to declare an ancient interest. In the last millenium I wrote a PhD on this topic and was intrigued by such as the Taguchi technique. I have now checked the Alphasense datasheets and patents and it would appear progress has been made. When I surveyed the field decades back there was much concern about cross contamination and other stuff but to be fair to the non-academics of then the organic device configuration we worked on never made it to market.

          I have no current expertise in the field but only note that the boxes in town centres that the local authority use to measure pollution are absolutely enormous (twice mailbox size)compared to your proposed solution. Good luck

          1. Of course, and they are waay more precise (afaict, they use *really* expensive tools like spectrometry…) and they cost 40 times more. But working on that project, we think that both systems can be complementary, for our stuff having less precise but with a better coverage of the area, for the existing ones, having more precise but a quite bad coverage of the area.
            For the Paris area in France, there is about 40 big modules for a 12000km2 urban area…

      1. I know a late reply but I found this thread after googleing “open source pollution solution.” Would it not be great if people with the right skills voluntered to make it profitable for industry to reduce pollution, designing the tech and allowing others to build on it for the paid workers in industry to copy free of charge. Seems very much in the spirit of this project and seems a surefire way to advance the technology, methology, way of thinking etc. that can save us and our race from choking on own filth. Now that there are estimates that the east will surpass the west in produced goods in a decade or so. Europe and N-America are mainly responsible for environmental threats we face today so I truly fear for the future if the multitudes of eastern cultures take up the same spending (and polluting) habits.

  2. Measuring the current produced by a solar panel can produce a reading of solar radiation, and is somewhat similar to the data produced by a pyranometer. The problem is that it’s only accurate if the resistance of the circuit is close to zero. The charging circuit and current consumption by the monitor would continually throw the readings way off. It would be better to have a dedicated device to sense solar radiation, if you felt it was an important data point to collect, but that’s extra moneys.

    1. Solar Radiation can be a quick and dirty (punny!) measure of smog/visibility. If you collect at least 2 years of data you can remove seasonal variations, cloudy days smooth out and you can trend smog.

      1. One of the mars rovers used a very simple dust measurement technique which consisted of a small solar cell (like that of a calculator) and a glass slide for a microscope. The slide was mounted on a pivot and moved by nitinol(sp?) wire. Take a measurement through the slide, then move it out of the way and take an “open air” measurement. The differences in measurement provides some rudimentary indication of dust accumulation on the rover’s body.

    2. The flat panel would also introduce a variable gain, which could be corrected for but not without a loss in resolution (pyranometers are domed). With that plus your other concerns, I don’t know if you could get the data quality you would need to be useful for photochemical studies. If you are going that route, you would probably want to add an O3 sensor as well

    3. We have thought about using the solar panel current for measuring luminosity exposure, but a luminosity sensor is very cheap and easy to implement if we really want a precise measurement. We found out that the internal temperature measure is directly related to sun exposure (and internal temperature may become useful for values correction of electrochemical sensors).

  3. et’s hope this one actually works unlike the failed kickstarted the “air quality egg” Most everyone that bought into that ended up angry that they were worthless in every way.

    1. It does work, and is currently on field testing with the help of a research laboratory. Though, it is still in beta stage and many things shall be improved, those things being in the TODO list.

      But if we published that project as opensource, it is because the project uses standard technologies, and pieces that are common amongst the OSHW community and pretty modular.

      One can reuse our work on the ATTiny microcontrollers for the sensors parts, or the xbee to i2c gateway, or even the xbee cape for beaglebone.

    1. Indeed it is. But most of the hardware could be found quite easily in many hackerspaces, as those are mostly parts that can be easily found on seeedstudio or sparkfun. And as I said in a previous comment, I think that what could be interesting is for people working on sensor networks to reuse our firmwares, softwares components, or copy the architecture we built.

      Maybe by improving it, or simlpy by referring to it.

    1. Sure you can interface electrochemical sensors from alphasense to Arduino, but not directly. As far as I remember, those sensors are current driven with a higher voltage range (+12/-12V), so you’ll need to design circuitery to make your Arduino talk to the sensor. I guess, you may try to ask on stackexchange/electronics, or some other expert forum on electronics, or even better, go work on your project at your local hackerspace!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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