Portable Air Quality And Radiation Indicator

PAQARI - A portable PM, temperature, humidity and UV measuring device based on Adafruit Feather M0 Bluefruit LE

Similar projects worth following
Air quality and especially particulate matter is a big issue in Wrocław, Poland where Insight Machines Laboratory is located. There are websites with publicly available air quality data and there is even a notification system on bus stops that informs the general public about how bad the air quality is but nothing beats a personal device that can warn you when you should stop breathing...
The Lab decided to build such a device and to make it even more useful, added temperature, humidity and UV sensors to have a more complete overview of the environment. The data are displayed on a TFT display. The device is enclosed by a small plastic box and powered from a LiPo battery that is rechargeable via a micro USB port.
Future improvements will add Bluetooth connectivity with Android smartphones and, probably, data logging to a microSD card.

The PAQARI is built around a PMS5003 particulate matter sensor. This sensor uses laser light to count dust particles in the air and is capable of distinguishing between PM1.0, PM2.5 and PM10 particles. It runs on 5V  and communicates with a micro-controller via a serial connection. After purchasing the PMS5003, we needed to make sure that it works so we made a simple "candle test":

Once we knew how the PM sensor behaves and that it can be effectively used in a portable device - i.e is not too power hungry and does not need a lot of time to warm-up - we decided to fit it into a neat black box with few other sensors: The Sparkfun HTU21D temperature and humidity sensor and the Adafruit VEML6070 ultraviolet radiation sensor. We also needed a display so we've mounted a 1.44" TFT display from Adafruit. The display has an integrated microSD card slot that we're currently using only for storing a splash-screen that appears when the device starts but could later be used for recording measurements. The PM sensor runs on 5V while all the other components prefer 3.3V so we had to install a voltage regulator. We had some Pololu S7V8F5 regulators laying around so we took one of those. The nice feature of these little green thingies is that they have a shutdown pin and can be switched off to save battery. Speaking of battery, since we had plenty of room, we thought about using a large LiPo cell but quickly opted for a small 560mAh one instead. There were two reasons for this change of mind: First of all, the device will not be operated continuously for long periods and second, the charging current from Feather M0 is quite small so charging up a large LiPo cell would take a lot of time and hence would not be very practical.

The diagram below shows how all the components are connected:

Although the device is not overly complex and is not very likely to break easily, we decided to build it in a way that would allow easy repairs. Hence, as many components as possible should be removable without a need to use the soldering iron. This requirement has been mostly accomplished. The display, the battery, the Feather M0, the PM sensor and the power switch can be disconnected from the main board which can be easily removed from the enclosure for servicing. The photo below shows the PAQARI disassembled:

The battery wires are soldered to the bottom of the main board and have a simple connector that makes it possible to disconnect the battery:

After assembling the device, all the components fit neatly inside the plastic box:

The box had to be just a little bit adapted to our needs. The PM sensor needed access to the air around the device while the UV sensor needed to be mounted in such a way that it could receive sunlight:

We also needed to make openings for the power switch and the micro USB port of the Feather M0. The port will mainly be used for recharging the battery. All in all, we got ourselves a neat black box with a somewhat undersized but perfectly usable TFT display:

TODO List:

  • Thorough outdoor tests - We've only done some basic sanity checks
  • HTU21D calibration - The temperature/humidity readings seem to be a bit too high. This is most likely a calibration issue.
  • Find a way to display the splash-screen immediately after powering up the device - Right now, the user sees a white screen for few seconds and then the splash-screen for only around one second.


Arduino source code for Adafruit Feather M0 Bluefruit LE

ino - 13.75 kB - 12/28/2017 at 18:01


  • 1 × Adafruit Feather M0 Bluefruit LE Brains and communication
  • 1 × SparkFun HTU21D Temperature and humidity sensor
  • 1 × PMS5003 Particulate matter sensor
  • 1 × Adafruit VEML6070 UV sensor
  • 1 × Adafruit 1.44" Color TFT LCD display with MicroSD Card Breakout TFT display

View all 8 components

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates