ESP32 Air Quality Sensor (That Actually Works)
I built a stupid simple, local-only air quality monitor because I refuse to let tech bros lock my living room humidity behind a $15/month subscription.
Hector Neal
PUBLISHED JUL 8, 2026 · UPDATED JUL 8, 2026 · 2 MIN READ

Look, let’s get one thing straight: commercial air quality sensors are absolute e-waste. You pay $150 to some startup for a shiny piece of plastic, and then they have the audacity to lock your house’s air quality data behind their proprietary, fragile cloud servers. If AWS blinks, or the company gets acquired and killed, you’re left with a useless paperweight. Absolute garbage.
Here is how you actually build one, entirely local, for about twenty bucks and a weekend of swearing at C++.
The Problem
The goal was stupid simple: pull raw I2C data out of a Bosch BME680 sensor and slam it into Home Assistant. It should never, ever try to talk to the public internet. Period.
Wiring It Up
I grabbed a bare BME680 breakout board and an ESP32-S3. Wiring is brainless, so even I couldn’t mess it up: 3.3V to 3.3V, GND to GND, and run the I2C bus lines (SDA and SCL) to pins 8 and 9.
cpp #include <Wire.h> #include <Adafruit_Sensor.h> #include “Adafruit_BME680.h”
Adafruit_BME680 bme; // Look ma, no cloud telemetry!
The Catch (My Idiotic Mistake)
If you cram an ESP32 and a temperature sensor into a tiny, sealed plastic box, guess what happens? The Wi-Fi chip gets hot enough to fry an egg, radiating heat straight into the sensor. First boot, my dashboard said my bedroom was 98 degrees. Brilliant engineering on my part.
I had to boot up Fusion360, scrap my first design, and engineer a thermal wall between the ESP32 and the BME680, riddled with vents. Do not skip this thermal isolation step or your readings will be completely useless noise.
- Filament: Prusament PETG (Matte Black, because shiny prints look cheap)
- Layer Height: 0.15mm
- Infill: 20% Gyroid (always Gyroid)
The Result
Flashed it with ESPHome. It hit my network and Home Assistant picked it up instantly. It’s been running for three months straight, entirely locally, and the temp is dead-on accurate to my dumb wall thermostat. Stop buying “smart” home appliances. Build them.