Developed in conjunction with Dr Nate Adams, a molecular biologist at the University of Sheffield, the Enviro+ turns your Raspberry Pi into a complete environmental monitoring station. For this it features four built-in sensors, some of them multifunctional, so it can gather plenty of useful data, including for air quality. Not only that, but if using it in a headless Raspberry Pi setup, without a monitor, its tiny colour LCD screen offers a convenient way of displaying readings. There’s also the option of plugging in a particular matter sensor (not included).
This article first appeared in The MagPi 83 and was written by Phil King
Like the earlier Enviro pHAT – reviewed back in issue 49 (magpi.cc/49) and still available – the new board has a slimline pHAT form factor that matches Raspberry Pi Zero, although it can be used on any Raspberry Pi model. This time no soldering is required, as it comes with a female GPIO header attached.
Lacking the earlier board’s motion sensors, the Enviro+ is intended purely for environmental monitoring. To this end, it incorporates a range of useful sensors.
First up, a standard BME280 weather sensor is used to monitor temperature, barometric pressure, and humidity. This is positioned at the left edge of the board, away from the Raspberry Pi’s CPU. Even so, you’ll need to adjust its temperature reading (by measuring that of the CPU itself and deducting a factor of it).
A smartphone-style LTR-559 light and proximity sensor detects the ambient light level and also proves handy as a substitute for a push-button when you put your finger on it. A tiny MEMs microphone measures sound levels, useful for monitoring noise pollution, and can also be used to record audio.
Most notable is the inclusion of a MiCS6814 analogue gas sensor. This can detect three different groups of gases: reducing, oxidising, and NH3 (ammonia). While levels of individual gases can’t be discerned for the first two groups, the major ones are carbon monoxide (reducing) and nitrogen dioxide (oxidising).
Near the gas sensor is a port to attach an optional particulate matter sensor, such as the Plantower PMS5003 (available separately for £25). This is used to measure numbers of tiny particles of sizes up to 1 micron (ultra-fine), 2.5 microns (combustion particles, organic compounds, metals), and 10 microns (dust, pollen, and mould spores). The board also features a nine-pin unpopulated header connected to selected GPIO pins.
The finishing touch is the inclusion of a 0.96‑inch colour LCD screen. It may be small, but it’s ideal for displaying data out in the field, in a headless setup. It can even show some cool-looking scrolling graphs for live data, as shown in one of the Python code examples provided.
Several code examples are included with the Enviro+ Python library for the board. Installation is simple enough, involving three terminal commands. The install script enables I2C, SPI, and serial interfaces on your Raspberry Pi, disables the serial console, and also enables a mini UART interface for the optional PMS5003 particulate matter sensor. If you ever need to revert this configuration change, there’s an uninstall script.
The most impressive code example is all‑in‑one.py, which demonstrates most of the features of the board, taking readings from the various sensors (bar the mic) and displaying them in scrolling graph form on the mini LCD. To switch the latter between different readings, you simply tap the light sensor with your finger.
Another code example enables you to become a citizen scientist by uploading live data (from the BME280 and PMS5003) to the Luftdaten open-source air-quality monitoring project website (see ‘Citizen science’ box).
While the Enviro+ may seem a little pricey for a pHAT, it does cram a lot of useful sensors – which we reckon, if bought separately, would cost around £40 or more – into a handy package, along with that cool LCD screen to display your data.
If you want to create an air quality-monitoring project, this board is ideal, packing a raft of useful sensory tech into a small form factor, along with a handy LCD screen to display your data.