Gerrit Niezen


In March 2020 I gave a talk to a local community group, Uplands Living Streets, about the DIY air quality monitor I built. I mentioned that I would love to design and build a solar-powered air quality monitor that's easy to install and modify. Quite a few folks seemed interested in the idea, so I decided to pursue building my own air quality monitor, including designing the circuit board myself.

I wanted to design something that was:

  • battery-powered and charging with a solar panel,
  • used long-range wireless communication, and
  • easily extended with other sensors.

It took me more than two years and three revisions of the hardware to get something that works, but it's finally ready. The enclosure design was the most challenging, given that it had to be weatherproof. The most recent version even encloses the antenna to remove another opening where water could possibly get in.

First monitor installed

Seeed's Fusion PCB assembly service manufactured both the second and third revisions of the hardware. My design won the Best Wio-E5 Fusion Case Study and I could use the Fusion PCB Assembly coupon prize towards building the third revision of the hardware. If you're designing something that makes use of the Wio-E5 LoRaWAN module, Seeed will help you out with free PCBA prototypes.

I placed the order for the Seeed Fusion PCBs on 24 May and only two days later the order was confirmed and they started procuring the components. On 2 June Seeed notified me that some resistors were out of stock and we agreed to replace them with another alternative. Less than two weeks later on 13 June the order was shipped. It only took three days to reach me here in the UK on 16 June! Going just over three weeks from placing an order to having an assembled PCB in your hand is not bad.

The Wio-E5 (previously called the LoRa-E5) is used to communicate with LoRaWAN networks like The Things Network and Helium. It's based on the STML32WL chipset, which includes both a microcontroller and a LoRa radio on the same chip! You can run your own software on the microcontroller, but it comes preinstalled with the LoRaWAN stack so you can use it as a LoRaWAN module. That means you connect to it from another microcontroller over a UART interface, and just send AT commands (e.g. AT+JOIN to join a network) to connect to a LoRaWAN network. I'm using the nRF52832 chip from Nordic as the main microcontroller, as it can easily be programmed with Espruino over Bluetooth!

The third revision changes the main processor module from the MDBT42Q module that's hard to get hold of at the moment, to an E73-2G4M04S1B that Seeed Fusion was able to source. Both modules use the Nordic nRF52832 chip internally. I also changed the 3.3V regulator to one that's in stock. The global electronic component shortage is still very much with us in 2022.

Other changes include changing to a 5V regulator with true shutdown, so that the particulate matter sensor can be turned off completely to reduce power consumption. I released a breakout board with the 5V regulator as a separate product on Tindie for sale!

Revision 3 of the PCB

I've started using a recycled PETG filament for the enclosure, and this is what the unit looks like half-assembled:

Half-assembled OpenAirMonitor

At first I attempted to use The Things Network for connectivity, but as there were no existing gateways in the area, I installed two of my own. Unfortunately this still didn't provide the coverage I needed, so I decided to look into using Helium. Thanks to them using crypto as incentive for people to install gateways, there is enough coverage in all the places where I intend to install the air quality monitors.

Second monitor with antenna cover

It was also relatively easy to hook up Helium to MyDevices Cayenne, a dashboard for visualising sensor data.

Here's a snapshot of one month of data from the first air quality monitor I installed on the roof of a restaurant in the neighbourhood:

One month of data

Here's another snapshot of a week worth's of data from another air quality monitor installed at a residential dwelling:

One week of data

There seems to be daily peaks around 9am and then again around 8-10pm. WHO air quality guidelines state that PM10 should be below 45 µg/m³ on average in a 24-hour period, so the good news is that does indeed seem to be the case.

Technical details are available on Hackaday and source files are available on GitHub. I hope to have circuit boards for building your own available on my Tindie and Lectronz stores soon, and will be posting documentation on how to build the monitor on Hackster as soon as it's ready!



The WHO Global Air Quality Guidelines mention five different pollutants, but what are they? Let's have a look.

Particulate matter (PM2.5 and PM10)

Particulate matter (PM) are inhalable particles smaller than 10 micrometer (PM10) and 2.5 micrometers (PM2.5) respectively. PM can consist of things like mineral dust, ammonia, nitrates and black carbon. The WHO limit is 15µg/m³ for PM2.5 and 45µg/m³ per 24 hours.

Carbon monoxide

Carbon monoxide is produced by burning wood and fossil fuels like natural gas, petrol and kerosene. You can't see, taste or smell it, but in high levels it can kill you. The WHO limit is 4mg/m³ per 24 hours.

Nitrogen dioxide

Nitrogen dioxide is reddish-brown in colour and is produced by fossil-fuel based heating, transport and power generation. It irritates airways and is linked to asthma and other respiratory diseases. The WHO limit is 25µg/m³ per 24 hours.

Ground-level ozone

When nitrogen oxides (NOx) react photochemically, they form ground-level ozone, which is a major component of smog. Ozone causes problems breathing, triggers asthma and leads to lung disease. The WHO limit is 100µg/m³ per 24 hours.

Sulfur dioxide

Sulfur dioxide is yet another pollutant produced by the combustion of fossil fuels like coal. It is a colourless gas that easily dissolves in water to form sulfuric acid. The WHO limit is 40µg/m³ per 24 hours.

Interesting how many of these air pollutants are fossil fuel based, and if we just stop burning stuff, it helps to prevent climate change too. Who knew?

#AirQuality #AirPollution