Building A Full-Fat Air Quality Monitor

Over the years many people have made an air quality monitor station, usually of some configuration which measures particulates (PM2.5 & PM10). Some will also measure ozone (O3), but very few will meet the requirements that will allow one to calculate the Air Quality Index (AQI) as used by the EPA and other organizations. [Ryan Kinnett]’s project is one of those AQI-capable stations.

The AQI requires the measurement of the aforementioned PM2.5 (µg/m3), PM10 (µg/m3) and O3 (ppb), but also CO (ppm), SO2 (ppb) and NO2 (ppb), all of which has to be done with specific sensitivities and tolerances. This means getting sensitive enough sensors that are also calibrated. [Ryan] found a company called Spec Sensors who sell sensors which are pretty much perfect for this goal.

Using Spec Sensor’s Ultra-Low Power Sensor Modules (ULPSM) for ozone, nitrogen-dioxide, carbon monoxide and sulfur dioxide, a BME280 for air temperature, pressure and relative humidity, as well as a Plantower PMS5003 laser particle counter and an ADS1115 ADC, a package was created that fit nicely alongside an ESP8266-based NodeMCU board, making for a convenient way to read out these sensors. The total one-off BOM cost is about $250.

The resulting data can be read out and the AQI calculated from them, giving the desired results. Originally [Ryan] had planned to take this sensor package along for a ride around Los Angeles, to get more AQI data than the EPA currently provides, but with the time it takes for the sensors to stabilize and average readings (1 hour) it would take a very long time to get the readings across a large area.

Ideally many of such nodes should be installed in the area, but this would be fairly costly, which raises for [Ryan] the question of how one could take this to the level of the Air Quality Citizen Science project in the LA area. Please leave your thoughts and any tips in the comments.

12 thoughts on “Building A Full-Fat Air Quality Monitor

      1. The latest airbeam uses a Shinyei PPD60PV-T2. The last time I checked with them about the price they were selling it for a whopping $249.99 for some crazy reason, probably because they had their newer PPD71. I know this because I worked with a local group here in Birmingham, Alabama to build a unit that ended up using the latest Honeywell HPMA115S0 sensor. Laser particulate matter sensors are much more accurate than your standard infrared LED optical detector, both the Shinyei PPD60PV-T2 and Honeywell HPMA115S0 are laser detectors.

        1. The PMS5003 particulate sensor used in this project is marketed as a laser scatterometer and sells for $40 on Adafruit and cheaper elsewhere. Accuracy and stability meet my project’s requirements. No meed for a more expensive sensor as far as I’m aware.

  1. When I read the detail description of his signal processing and data acqusition I get the strong impression he somehow misses a differential amplifier and gets lots of problems in return? The sensors supply a reference and a sensor signal relative to the reference. That’s a match made in heaven to then go into an instrumentation amp with a gain of say 50 and put that into the adc; instead he does crazy – working but nonetheless crazy – stuff to get around limitations created by leaving this step out?! Good project but this strikes me as very odd.

    1. That’s fair. In retrospect I clearly should have used instrumentation amplifiers. I assumed I could use the cheap ADS1115 ADCs in differential mode, but they turned out to be too low impedance for the ULPSM sensor boards, and I didn’t leave enough room on the perf board to add buffer stages close to the sensors, so I figured I would try approximating the carrier as described, and that works quite well. If I design a legit PCB for this system, it will definitely include instrumentation amplifiers. However, I don’t believe that will get me out of needing to do the hacky pseudo-calibration thing to avoid the costs of proper calibration with reference gases.

        1. Hi again Teodor. You also posted to project page, but I’ll reply here as well for anyone interested. Spec-Sensors explicitly advised against that approach, though it wasn’t clear to me why. I experimented with this briefly and found that it didn’t noticeably stabilize the Vref signal or improve the differential measurement, but I hadn’t yet worked out an appropriate averaging scheme or temperature compensation in software, so I’m not certain that the parallel resistors didn’t help. If I rebuild this circuit I’ll use instrumentation amplifiers between the gas sensor boards and the ADCs.

  2. Thank you for this article. I did not know this sensor-manufacturer.
    The analog CO-sensor is $50, but sampling hundreds of µV with 1,5V offset is not easy. There is a module with digital output for 75$, but something is not right:
    accuracy of analog module: <3%
    accuracy of digital module: 15%
    Is there a dot missing?
    analog: https://www.spec-sensors.com/wp-content/uploads/2016/10/ULPSM-CO-968-001.pdf
    digital: https://www.spec-sensors.com/wp-content/uploads/2017/01/DGS-CO-968-034.pdf
    Not as cheap as Ali and friends but with a decent datasheet and factory-calibrated. <3% sounds good and no need to mess with nasty calibration gas (with you probably can't buy if you are not a manufacturer).

    1. I believe this is somewhat semantic. For the digital board, Spec-sensors is onligated to describe the accuracy of a single output reading, limited to the processing onboard, whereas the accuracy quoted for the analog board is somewhat theoretical; it assumes the board is hosted by a quality ADC system and is calibrated in-system with low pass analog and/or digital filtering and digital temperature compensation.

      I contacted Spec-Sensors with almost the same question, why the difference in accuracy and how can I achieve 10ppb or better accuracy. They specifically recommended using the ULPSM module with a higher resolution ADC than the 12-bit one on the DGS boards, and calibrating in-system. They use 24 bit ADCs on their unlisted air quality projects, with temperature compensation and several minutes of time-weighted averaging, and they use calibration gases to recalibrate the integrated system. I don’t intend to invest in calibration gases unless I commit to full blown production which is unlikely, and that’s why I’m doing the hacky pseudo-calibration thing to get my numbers grossly similar to those of the nearest EPA station.

  3. Thank you for this article Maya! These little units are so great for citizen science and make a huge difference in the fight against industrial pollution and the more people take part in developing these the better!

Leave a Reply

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