This project was inspired by a general interest in pollution in the Los Angeles area and wanting to know how air quality varies by geography. I live in a neighborhood ten miles north of downtown LA and about 1500' higher elevation, and often wonder if I'm living in LA's smog layer. I figured there must be an air quality monitoring station nearby that might provide data for my neighborhood, but was somewhat disturbed to find that the EPA has only a single air quality monitoring station in the Los Angeles basin and another in the San Fernando Valley. That's far too sparse to provide neighborhood-scale comparisons. I'll spare you my speculation about why the EPA doesn't do a better job.
A friend at work told me about NASA's Air Quality Citizen Science program which is establishing a network of volunteers around Los Angeles and two other pilot program regions to provide much higher spatial resolution data which can serve as ground truth data for remote monitoring satellites. I now host a sensor for this network, but was surprised to find that the sensor module only senses particulate matter which count for only 2 of 6 pollutants the EPA factors into its composite Air Quality Index (AQI) indicator. I couldn't find any projects which measure gas concentrations with sufficient accuracy and stability to resolve the various grades within the AQI scale for each gas (some of which measure in parts-per-billion), short of full-blown lab equipment and incredibly expensive field deployable units.
The Spec-Sensors gas sensors turned out to be just the thing I was looking for. I consulted with Spec-Sensors to ensure I could achieve the accuracy levels needed. The neat thing about these sensors are that they are precisely calibrated at the factory and hold their calibrations indefinitely. It is still necessary, however, to precisely calibrate the host system. Specifically, the analog driver boards from Spec-Sensors float uV-scale signals on top of a carrier voltage which is approximately half the supply voltage. The driver board provides a readback pin with this carrier voltage, but sampling that pin with anything short of a lab-quality ADC with exceptionally high impedance distorts the measurement. Instead, for this project, I sampled the supply voltage and output signal from each gas sensor board for two months, then compared to data from a nearby EPA station and solved for bias voltages for each gas sensor by minimizing sum-squared error between the sampled voltages and the EPA data. I subsequently logged 2 more months of raw voltages and calibrated values and found the calibrated values to show good correlation with the nearby EPA station.
Now what do I do with this? The system is portable. I originally envisioned logging data while driving around Los Angeles, then driving up the Angeles Crest Highway into the Angeles Forest to see how the smog varies with geography. However, the signals are so faint that it's necessary to average over about 30 minutes (one hour to match EPA criteria). That would be a very long day. A network of co-calibrated modules would work much better. The prototype cost approximately $250 (the same price as a PurpleAir AS-II module which only samples particulates, by the way), cheap compared to other systems of comparable capability but not cheap enough for me to fund my own curiosity project. Maybe a gofundme or kickstarter project? I wouldn't know where to start.
This project has been on the backburner since Sept 2019. I don't know if I'll get back to it. My brother was briefly interested in coding an online database and arcgis interface to show multiple stations, but we never did follow through (my fault). A Kickstarter project would be fun but would need some up-front investment to improve and consolidate the circuit design and build just enough units to populate a map. I'm not planning to put more resources into this anytime soon but would be happy to help others with similar projects.
Since several people have written, asking for schematics, code, and instructions, I went ahead and wrote up instructions in the Details section. I did not provide a full schematic because the entire unit is composed of modular components which just need point-to-point wiring. Wiring, pin mapping, etc is left to the reader. See the Files area for an image of the underside of my PCB, which is only a little embarrassing. I also posted code to github, even though my code is a horrible mess and may be near impossible for anyone to follow. The real innovation of this project is in the calibration process, which is far from perfect.. but the price is right. I also wrote about this in the Details section.
If anybody finds any piece of this project remotely useful, please let me know.