I became interested in air quality during the fallout from the Bullseye art-glass pollution episode, where a manufacturer of stained glass near my home was found emitting high levels of cadmium, arsenic, chromium, and lead into the air. Though my initial concern was industrial pollutants, I soon learned that particulate pollution (especially PM2.5) is an even bigger problem in Portland. Our particulates come from a variety of sources, especially diesel engines and burning wood in stoves and fireplaces throughout the city. We can see PM10 in the black smoke coming from a diesel engine, but those particles are large enough to be filtered by our noses and throats. PM2.5 consists of much smaller particles, invisible and odorless, which bypass our natural filtering systems, lodging in our lungs and passing into our bloodstream. Small particulates can lead to a variety of human diseases, including asthma, impaired lung function, and heart disease. California has shown it's possible to control sources of PM2.5, and I believe the problem in Portland is primarily one of political will.
Sensorbot was created with three objectives in mind: i) map the geography of particulate pollution; ii) make a hidden problem visible; and iii) build the political will to clean our air.
The Birdhouse project is focused on building a network of low cost, distributed PM10/PM2.5 monitoring devices built in the form of a birdhouse. All aspects of the project, including hardware designs, firmware, and server implementation will be open source and freely available. One goal of the project is to keep costs as low as possible so our work can be replicated elsewhere by those on a limited budget. The initial prototype cost just over $30 to build, and the server costs less than $5/month to host (which could be reduced to zero with your own hardware). There are no other licensing fees or ongoing expenses.
Others have built low-cost air quality monitoring devices (and shared their designs, which were very helpful, thank you!), but this project differs from earlier efforts in both scale and scope. Whereas other projects have focused on building a single device, Sensorbot will deploy a network of dozens of devices across Portland. Rather than providing only local access to data from the monitors, Sensorbot will make data from all devices available to researchers through a fully functional server architecture that can be replicated easily, hosted cheaply, and readily customized as needed. More on the server below.
Each birdhouse contains a particulate sensor capable of measuring the concentrations of PM10 and PM2.5 in the air (Plantower PMS5003), and has an environmental package (Bosch BME280) to measure temperature, humidity, and barometric pressure. The sensors are controlled by an ESP8266 device (similar in concept to an Arduino, but with WiFi on board). The ESP8266 collects data and sends it to a central server. Each unit has three colored LEDs (red/yellow/green) that can be used to display local air quality.
The prototype birdhouse was built from a reclaimed 1x6 fence board. This material is weather-resistant and plentiful in Portland, but other materials and designs could be substituted. The bottom of the birdhouse is open, and the sensors are positioned in such a way as to be exposed to the ambient air.
The firmware is the software that runs locally on each device. It is responsible for collecting data from the sensors attached to the ESP8266, and has several interesting features:
The firmware is available on the project GitHub repo linked at the bottom of this page.
Each monitoring device sends the data it collects to a central server, where it can be displayed in a variety of ways. Users will have a personal dashboard that shows the particulate concentrations their device has measured, basic weather information, and other relevant data. The server will also have a map showing measurements from all devices in the network.
The server consists of two main components:
There are many ways to build a monitor, but we have developed two designs we like: The Birdhouse and the Bottlebot. Both models use the same major components, though the Birdhouse has an additional LED assembly that is not required on the Bottlebot. The major difference between the two, besides appearance, is the Birdhouse is as much carpentry project as it is electronics project.
Building a Birdhouse involves 2 stages: building the housing and assembling the electronics. Both are relatively simple, and neither requires any specialized skills, but both require attention to detail, a cool head, and critical thinking. In both cases, there are optional steps that can simplify the process. The biggest simplification is to omit the LED, which simplifies both the carpentry and the electronics steps, and slightly reduces cost. However, the LED can make troubleshooting easier, and makes the finished project much cooler. Who doesn't want an LED?
Coming soon... not to spoil the surprise, but you're going to need wood, nails, glue, and a couple of screws. The same stuff you'd need to build a birdhouse.
These are the materials we've found work well for us, but there are other solutions that might work just as well. Take a look at wiring diagram for a Birdhouse or the Bottlebot (in Appendix A of the assembly instructions). See the Assembly Instructions section below for details.
Note: Links provided below are for illustration only. Sensorbot does not endorse any particular vendor -- these links were chosen essentially at random. Shop around; prices change, and delivery times vary. Parts may be available locally, especially the screws and other mounting hardware. Please support your local hardware store!
These instrucitons are presented in a Google Doc (for now), with commenting enabled. Please add comments where you feel the instructions are unclear or could be improved, and we'll incorporate your suggestions.
We're still creating detailed assembly Birdhouse instructions. The carpentry instructions are mostly complete, though the electronics assembly isn't. You can start with the carpentry now, as that will need to be finished before you can do any of the electronics.
A special think you to everyone who has given their time, money, or expertise to make this project possible. We would be nowhere without your support.
And especially to the students who helped with building and assembly -- I really enjoyed working with you!
Contact me with any questions!
Make a contribution to help fund building the network
Sensorbot is a registered as a 501(c)(3) tax-exempt organization in the US. Our Tax ID is 82-5023412. All donations are tax-deductible.
Most people make direct contributions by check or PayPal.
Please contact us by email for details.