The Bosch BME680 is a super-capable environmental sensor, and [Random Nerd Tutorials] has married it to the ESP32 to create an air quality meter that serves as a great tutorial on not just getting the sensor up and running, but also in setting up a simple (and optional) web server to deliver the readings. It’s a great project that steps through everything from beginning to end, including how to install the necessary libraries and how to program the ESP32, so it’s the perfect weekend project for anyone who wants to learn.
The BME680 is a small part that communicates over SPI or I2C and combines gas, pressure, temperature, and humidity sensors. The gas sensor part detects a wide range of volatile organic compounds (VOCs) and contaminants, including carbon monoxide, which makes it a useful indoor air quality sensor. It provides only a relative measurement (lower resistance corresponds to lower air quality) so for best results it should be calibrated against a known source.
The tutorial uses the Arduino IDE with an add-on to support the ESP32, and libraries from Adafruit. Unfamiliar with such things? The tutorial walks through the installation of both. There’s a good explanation of the source code, and guidance on entering setup values (such as local air pressure, a function of sea level) for best results.
The build consists of an ESP32 hooked up to a Bosch BME680 air quality sensor. It measures pressure, temperature, humidity and gas resistance, and then with a closed source library, uses this to calculate an “Air Quality Index” as well as estimate CO2 and VOC levels in the air. Data is passed from the ESP32 over MQTT to a Raspberry Pi. This runs Mosquitto for handling the MQTT queries, saving the data in an Influxdb instance. Grafana is then used to query this database and produce attractive graphs of the data.
It’s a build that not only helps keep an eye on things in the flat, but is great practice for building solid Internet of Things devices with top-notch data visualisation. We’ve talked about how to do this before, too – so if you need this capability in your life, there’s no excuse not to get hacking!
As the world settles into this pandemic, some things are still difficult to mentally reckon, such as the day of the week. We featured a printed day clock a few months ago that used a large pointer to provide this basic psyche-grounding information. In the years since then, [Jeff Thieleke] whipped up a feature-rich remix that adds indoor air quality readings and a lot more.
Like [phreakmonkey]’s original day tripper, an ESP32 takes care of figuring out what day it is and moves a 9 g servo accordingly. [Jeff] wanted a little more visual action, so the pointer moves a tad bit every hour. A temperature/humidity sensor and a separate CO₂ sensor output their readings to an LCD screen mounted under the pointer. Since [Jeff] is keeping this across the basement workshop from the bench, the data is also available from a web server running on the ESP32 via XML and JSON, and the day clock can get OTA updates.
Air quality is one of those problems that is rather invisible and hard to grasp until it gets bad enough to be undeniable. By then, it may be too late to do much about it. But if more people were interested in the problem enough to monitor the air around them, there would be more innovators bringing more ideas to the table. And more attention to a problem usually means more accountability and eventual action.
This solar-powered particulate analyzer made by [rabbitcreek] is a friendly way to take the problem out of the stratosphere of ‘someday’ and bring it down to the average person’s backyard. Its modular nature makes it fairly simple to build, and the conch shell enclosure gives it a natural look. That shell also cleverly hides the electronics, while at the same time allowing air and particulates to reach the sensor. If you don’t like the shell enclosure, we think the right type of bird feeder could protect the electronics while allowing airflow.
[rabbitcreek] attached a sizeable solar panel to the shell on a GoPro mount so it can be adjusted to face the sun. The panel charges a Li-Po battery that gets boosted to 5V. Every two hours, a low-power breakout circuit wakes up the Feather ESP32 and takes a reading from the particulate sensor. [rabbitcreek] can easily see the data on his phone thanks to the Blynk app he created.
While we don’t yet know the long-term effects of hanging out around 3D printers, it doesn’t take a in-depth study to figure out that their emissions aren’t healthy. What smells toxic usually is toxic. Still, it’s oh-so-fun to linger and watch prints grow into existence, even when we have hundreds or thousands of hours of printing under our belts.
Most of us would agree that ABS stinks worse than PLA, and that’s probably because it releases formaldehyde when melted. PLA could be viewed as slightly less harmful because it has a lower melting point, and more volatile organic compounds (VOCs) are released at higher temperatures. Though we should probably always open a window when printing, human nature is a strong force. We need something to save us from our stubbornness, and [Gary Peng] has the answer: a smart 3D printer emission monitor.
The monitor continually checks the air quality and collects data about VOC emissions. As the VOCs become elevated during printing, the user is notified with visual, audio, and phone notifications. Green means you’re good, yellow means open a window, red means GTFO. There’s a brief demo after the break that also shows the phone interface.
The heart of this monitor is a CCS811 gas sensor, which provides VOC data to a Particle Photon. [Gary] built a simple Blynk interface to handle the alerts and graph historical VOC readings. He’s got the code and STLs available, so let this be the last time you watch something print in blissful semi-ignorance.
Air pollution isn’t just about the unsightly haze in major cities. It can also pose a major health risk, particularly to those with vulnerable respiratory systems. A major part of hazardous pollution is particulate matter, tiny solid particles suspended in the air. Particulate pollution levels are of great interest to health authorities worldwide, and [niriho] decided to build a monitoring rig of their own.
Particulate matter is measured by an SDS011 particulate matter sensor. This device contains a laser, and detects light scattered by airborne particles in order to determine the level of particulate pollution in PM2.5 and PM10 ranges. The build makes use of an ESP32 as the brains of the operation, chosen for its onboard networking hardware. This makes remotely monitoring the system easy. Data is then uploaded to a Cacti instance, which handles logging and graphing of the data.
For those concerned about air quality, or those who are distrustful of official government numbers, this build is a great way to get a clear read on pollution in the local area. You might even consider becoming a part of a wider monitoring network!
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.
[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.