An Air Quality Monitor That Leverages The Cloud

Air quality has become an increasing concern in many urban areas, due to congestion and our ever-increasing energy use. While there are many organisations that task themselves with monitoring such data, it’s also something anyone should be able to take on  at home. [Chrisys] is doing just that, with some impressive logging to boot.

The build starts with a Raspberry Pi Zero W, which offers the requisite computing power and Internet connectivity in a compact low-power package. For determining air quality, the Bosch BME680 sensor is used. This offers temperature, pressure, and humidity readings, along with the ability to sense the presence of volatile organic compounds, or VOCs. These can be harmful to human health, so it’s useful to have an idea of the levels in your home.

The hardware is incredibly refined. It’s simple enough for the newbie, but just begs for the more experienced hacker to expand on.

On the software side, data is accessible through the Balena cloud service. Sensor readings are stored in an InfluxDB instance, with Grafana providing the visually attractive graphs and monitoring. It’s all very slick and Web 2.0, and can be accessed from anywhere through a web browser.

The project is a great example of combining a basic DIY Raspberry Pi setup with the right software tools to create a polished and effective end product. Of course, if you’re looking for something more portable, this project might be more your style. 

9 thoughts on “An Air Quality Monitor That Leverages The Cloud

  1. Have been using the BME680, for last six months, in a client’s factory. This sensor can indicate parameters associated with poor air quality; but would be careful to say, without any additional data, that the air quality is ‘good’.

    And even among sensors from the same batch, the 680 sensors have consistency and repeatability problems – but they certainly much better than the MQ-series crap.

    1. I had rather so-so results with the BME280 myself. Worked fine for awhile, and then humidity went to 100% and stayed there. Official fix in the docs was to remove the sensor from the device and bake it in the oven for awhile. OK, I’ll get right on that.

    2. This sensor has no detection of particulate matter which is probably the most important aspect for health and safety in an industrial or commercial environment. Even a domestic environment. So I would not consider this a IAQ or air quality unit.

      I see IAQ units on ebay now in the sub $100 range and some even cheaper claim to measure PM in the ranges PM10, PM2.5 and even in some cases down to PM0.1 or 100 nanometers.

      Such a sensor would make an ideal companion to this sensor as this one does VOC, the combination would make quite a respectable Air Quality metric.

  2. I’ve always wanted to pair a air sensor with a GPStracker to plot my runs AND identify potentially if I should avoid any particular busy roads. Or indeed the river bus which I assume uses the worlds poorest quality diesel.

    This seems perfect temp, humidity, pressure and VOC? In a nice SPI package. Parfait.

  3. If you’re interested in that kind of distributed sensor project, take al look at the Omzlo NoCAN platform, which supports MQTT data visualisation backends like adafruit.io or cayenne, or smartphone control with blynk:
    https://www.omzlo.com/articles/the-nocan-platform

    There’s even a demo for the BME280 temp/humidity/pressure sensor, a little brother of the BME680:
    https://www.omzlo.com/articles/create-your-weather-station-with-a-nocan-network
    https://www.omzlo.com/articles/connecting-our-nocan-weather-station-to-the-internet
    https://www.omzlo.com/articles/adding-an-mqtt-gateway-to-nocan

    Disclosure: I’m the main contributor behind this project, which I presented at the last Hackaday London Unconf.

Leave a Reply to Alex RossieCancel 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.