Hacked IKEA Air Quality Sensor Gets Custom PCB

Last month we brought word of the IKEA VINDRIKTNING, a $12 USD air quality sensor that could easily be upgraded to log data over the network with the addition of an ESP8266. It only took a couple of wires soldered to the original PCB, and since there was so much free space inside the enclosure, you didn’t even have to worry about fitting the parasitic microcontroller; just tape it to the inside of the case and button it back up.

Now we’ve got nothing against the quick and dirty method around these parts, but if you’re looking for a slightly more tidy VINDRIKTNING modification, then check out this custom PCB designed by [lond]. This ESP-12F board features a AP2202 voltage regulator, Molex PicoBlade connectors, and a clever design that lets it slip right into a free area inside the sensor’s case. The project description says the finished product looks like it was installed from the factory, and we’re inclined to agree.

Nothing has changed on the software side, in fact, the ESP-12F gets flashed with the same firmware [Sören Beye] wrote for the Wemos D1 Mini used in his original modification. That said [lond] designed the circuit so the MCU can be easily reprogrammed with an FTDI cable, so just because you’re leaving the development board behind doesn’t mean you can’t continue to experiment with different firmware builds.

It’s always gratifying to see this kind of community development, whether or not it was intentionally organized. [lond] saw an interesting idea, found a way to improve its execution, and released the result out into the wild for others to benefit from. It wouldn’t be much of a stretch to say that this is exactly the kind of thing Hackaday is here to promote and facilitate, so if you ever find yourself inspired to take on a project by something you saw on these pages, be sure to drop us a line.

ESP8266 Adds WiFi Logging To IKEA’s Air Quality Sensor

Introduced back in June, the IKEA VINDRIKTNING is a $12 USD sensor that uses colored LEDs to indicate the relative air quality in your home depending on how many particles it sucks up. Looking to improve on this simplistic interface, [Sören Beye] tacked an ESP8266 to the board so it can broadcast sensor readings out over MQTT.

Just three wires link the ESP8266 to the PCB.

While some of us would have been tempted to gut the VINDRIKTNING and attach its particle sensor directly to the ESP8266, the approach [Sören] has used is actually quite elegant. Rather than replacing IKEA’s electronics, the microcontroller is simply listening in on the UART communications between the sensor and the original controller. This not only preserves the stock functionality of the VINDRIKTNING, but simplifies the code as the ESP doesn’t need to do nearly as much.

All you need to do if you want to perform this modification is solder a couple wires to convenient test pads on the VINDRIKTNING board, then flash the firmware (or write your own version), and you’re good to go. There’s plenty of room inside the case for the ESP8266, though you may want to tape it down so it doesn’t impact air flow.

While not required, [Sören] also recommends making a small modification to the VINDRIKTNING which makes it a bit quieter. Apparently the 5 V fan inside the sensor is occasionally revved up by the original controller, rather than kept at a continuous level that you can mentally tune out. But by attaching the sensor’s fan to the ESP8266’s 3.3 V pin, it will run continuously at a lower speed.

We’ve seen custom firmware for IKEA products before, but this approach, which keeps the device’s functionality intact regardless of what’s been flashed to the secondary microcontroller, is particularly appealing for those of us who can’t seem to keep the gremlins out of our code.

[Thanks to nexgensri for the tip.]

Lamp Sheds Light On Air Quality

It can be difficult to appreciate when the air quality is decent and when it’s poor, unless conditions are so bad that you can literally see the smog hanging in the air. Rather than try to digest a bunch of air quality numbers, [guillaume_slizewicz] built Canari — a lovely lamp that sheds light on the air pollution problem by taking local air quality data and turning it into light patterns.

Canari is of course named after the brave birds that once alerted miners to dangerous air conditions before they were forced to switch to carbon monoxide sensors. This bird has a Raspberry Pi Zero W that gets air quality data from a public API and controls the lights with a PWM bonnet based on the concentration of particulates in the air. The more particulates, the dimmer the LEDs are, and the faster they fade in and out.

The main piece of data that Canari grabs is the amount of particulate matter, and the display can switch between representing the level of PM2.5 (particulate matter with diameter less than 2.5 micrometers)  in the air and PM10. Check out the demo and setup video after the break.

More of a numbers person? All you really need is a microcontroller, an air quality sensor, and a display.

Continue reading “Lamp Sheds Light On Air Quality”

Ooohhh, That Smell: Arduino Monitors Air Quality

According to [Dr. Tom Lehrer’s] song Pollution, “Wear a gas mask and a veil. Then you can breathe, long as you don’t inhale!” While the air quality in most of the world hasn’t gotten that bad, there is a lot of concern about long-term exposure to particulates in the air causing health problems. [Ashish Choudhary] married an Arduino with a display and a pollution sensor to give readings of the PM2.5 and PM10 levels in the air.

The sensor uses a laser diode and a photodiode to detect and count particles, while a fan moves air through the system. If you aren’t up on pollution metrics, PM2.5 is a count of very fine particles (under 2.5 microns) and PM10 is a count of particles for 10 microns. You can find a datasheet for the device online.

Continue reading “Ooohhh, That Smell: Arduino Monitors Air Quality”

Two-Part, Four-Wire Air Quality Meter Shows How It’s Done

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.

Once the software is on the ESP32, the results can be read from the serial port monitor. By going one step further, the ESP32 can run a small web server (using ESPAsyncWebServer) to serve the data to any device wirelessly. It’s a well-written tutorial that covers every element well, and complements this other BME680-based air quality meter that uses MQTT and Raspberry Pi.

A Portable Home Air Quality Meter With The ESP32

Around the world, rolling pandemic lockdowns have left many working from home. [kn100] is in just such a predicament, and while spending nearly 24 hour a day in a residential flat, got wondering about air quality. Thus, it was time to build some gear to keep an eye on things!

Grafana may require a database and some work to set up, but the results are to die for.

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!

Day Clock Monitors Air Quality Of The Great Indoors

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.

Need a little more specificity than just eyeballing a pointer? Here’s a New Times clock that gives slightly more detail.