Building An Army Of ESP32 Air Quality Sensors

The ESP8266 and its heavyweight sibling the ESP32 are fantastic boards to develop with as they allow you to quickly and easily get a project online. Just tack a few sensors and some LEDs on them, and you’re well on the way to producing your own “Internet of Things”. The real challenge is utilizing the incredible capabilities these boards offer us to do something meaningful.

Judging by what he’s got so far, we think [Samuel Klit] is well on his way. He’s using the ESP32 and some off-the-shelf modular components to create an Internet-connected air quality monitoring station. But he’s not just building one or two of them, he’s building enough so they can be distributed and collect data over a wide area. Who knows, perhaps you’ll be building one next.

[Samuel] is using the CCS811 sensor which can pick up potentially harmful Volatile Organic Compounds (VOCs) and determine carbon dioxide concentrations, as well as a BMP280 sensor to read ambient temperature and atmospheric pressure. There’s also an SD card reader for local data storage, a 1602 LCD display that provides a basic user interface, and the electronics required to support the 18650 Li-Ion batteries which power the unit for up to 12 hours on a charge. Everything’s held in a professional looking enclosure that we’ll be sure to add to our next AliExpress order.

Collecting data is one thing, but what do you do with it once you’ve got it? To that end, each node runs a web interface that not only allows you to view current hardware status and download the locally stored data, but also provides an easy to understand visual representation of the environmental conditions. To get around the limited storage space for web assets on the chip, [Samuel] is calling out to Chart.js to inject some slick graphics into the web interface on-demand. The web interface is a particularly nice touch, and an excellent use of the power and capabilities offered by the ESP32.

We’ve previously seen air quality sensors added to Taxi cabs in Peru, the homes surrounding Barcelona’s Plaza del Sol, and of course [Radu Motisan] has done incredible work towards the goal of creating city-wide environmental monitoring networks. With increasingly capable technologies, it looks like citizens are studying the world around them in greater numbers than ever before.

19 thoughts on “Building An Army Of ESP32 Air Quality Sensors

  1. CO2 sensor for air quality monitoring ? In a city ?
    Why not CO, NOx, SOx, dioxins, furans, or particulate matter ?
    For the quality of life, knowing the humidity would make much more sense when combined with temperature data.
    Not to criticize the idea of monitoring, just the scope.

    1. Depends on what you want to measure and how much you want to spend on it.

      If you only have one box and it costs like $25 and you need 20 of them or even more it adds up quite fast.

      But I was already thinking of it, I’m going to build a few and when it’s working I will try to expand it, probably break it first :P

    2. TBH I think it’s the wrong approach anyway.
      Great to call out how much pollution there is, but what to do about it?
      Don your gasmask?

      Filtering air in a room or house requires the building to be air tight
      Or at least you have to accept some change in air and doors opening etc meaning filtration is a 24/7 thing.

      In places which ridiculous pollution, isnt a face mask the more realistic direction?
      Plus it stops facial recognition systems working…

      Face mask fiilter & monitoring of your health, with mic, bone conduction audio, built in project to retina display system, 4G connectivity, etc…

      1. Hi Dave.

        The idea started out as a monitor for classrooms. That also where they are at the moment.
        They’re very useful for this purpose. When a class starts you can see the air pollution rise, which immediately declines again if you act on it, and open a window.

        Of course, better ventilation would be a superior solution, but that requires that you know there’s a problem in the first place :)

        – Samuel Klit.

    3. Yeah, but the MOX of the 811 doesn’t actually measure CO2 directly.

      It reports something called eCO2, or equivalent CO2, which is calculated from the MOX resistance and other contributory factors.

      All in, the device does serve to report a rough index of air quality, based on a number of oxidising and reducing chemical components present in the surrounding atmosphere, but the ppm readings for eCO2 and tVOC are not to be taken literally.

      1. Yeah, it’s also worth noting that the eCO2 number it calculates is almost completely useless because it’s thrown off by the presence of even tiny amounts of other VOCs.

    1. Yup. This hack’s architecture is too fat on the client end. Just pump the data to a central db and do your visualisation etc. from there. Luftdaten is a better model as it drives the price of build down to the minimum possible whilst generating useful data

  2. This is a cool project, but it’s wise to remember the limitations of the sensors. From the CCS811 data sheet:

    “CCS811 supports intelligent algorithms to process raw sensor measurements to output equivalent total VOC (eTVOC) and
    equivalent CO2 (eCO2) values, where the main cause of VOCs is from humans.”

    So the output is inferential to a degree, and won’t help with things like industrial solvents or car exhausts all that much without a lot of work. That said, I may whistle one or two up just to play with around the house.

    1. No, it will very strongly react to industrial solvents! So much so, that they can often override the actual measurement.

      Things like solder process, board cleaner, all the way down to Siloxane rubber in the enclosure can sometimes irreversibly damage *any* MOX sensor without due care and attention.

      Siloxane poisoning is a real issue, for *all* the products on the market currently, despite marketing blurb from all the players that suggest otherwise. There is physical degradation from changes in the surface chemistry, marked by a degradation in sensor response, to unexpected output from the algorithms that are coupled into the digital MOX parts, due to unexpected shifts in the sensor response.

      Things like car exhausts are indeed able to be sensed, but you need a specific MOX chemistry makeup. I know a few companies that work with MOX coatings that are doped to be responsive to these target agents.

  3. Kudos for the effort. It’s a step in the right direction.

    Actual air quality is much more complex unfortunately.

    We need better sensors. Especially ones that go down to PM0.1 or 100 nanometers to capture some of the things more harmful to humans.

    Designing better sensors is the solution here.

    1. Do you have any source material on that? I’m interested in the data as the public health officials and researchers that I’ve spoken to seem to indicate that PM2.5 is the area of greatest concern, as smaller particles are more readily “filtered” by your respiratory system’s existing defences.

  4. I built a set of 20 ESP32 + LoRaWAN air quality sensors and currently 7 of them are in the field and reporting data: https://graqm.org

    They are housed in 3d-printed enclosures and then fit into PVC pipes to keep the water out, then hung from light/signal poles by the city. VOC sensors are a bit too poorly-defined to be used for actual air quality readings. The EPA has a list of 6 “Criteria Pollutants”, of which we’ve selected PM2.5 and O3 as being most closely associated with human health. The sensors I’ve built have been hung at an EPA monitoring station for a month each, to record their readings against federal reference instruments, giving us a reasonably-accurate basis of comparison for their performance (which has lined up very well considering the low cost).

    This is what the devices look like hanging at the EPA station: https://imgur.com/a/joQvj

  5. Cool stuff. I was recently touring a university air quality lab where one of the profs was trying to build “low-cost air sensors”. His definition of “low cost” was “less than $5000”, I had to laugh, I don’t need another hobby THAT expensive… but $20 I can get on top of, even if the sensors are somewhat less precise or calibrated. Nice work! Will definitely look into it! :-D

  6. “Don’t touch, I’ll explode!”

    For the Estados Unidos de America, where accessible to public, could be considered an illegal warning in some states, and could result in an non-warrant search and arrest on most federal properties.

    And some local DAs will interpret as terrorist threat being made. Welcome to our paranoid world.

  7. Oh no… large plastic box, big mess of wires tossed inside.
    a) Not optimal placement for sensors, dust accumulating inside etc…
    b) If building more than one prototype, please use custom made pcb. They are quite cheap.

    That system will have so many wiring and solder joint failures.

Leave a Reply to Samuel Klit Cancel reply

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