Indoor Air Quality Meter
Simple project to check the air quality in your house.
Since we stay/work from home a lot lately, it might be a good idea to monitor the quality of the air and remind yourself when it's time to open the window and get some fresh air in.
Parts and Tools
- BME680 CJMCU
- OLED Display (128 x 64)
- ESP8266 Wi-Fi Chip (NodeMCU V1)
- Case: https://www.thingiverse.com/thing:1720314 (or any other case you might like)
- Dupont wires
Tools
Soldering iron
Wiring Diagram
Wiring Diagram
The Code
The code is available here: https://github.com/zangaby/ESP8266_BME680_air_quality
Based on https://github.com/3KUdelta/heltec_wifi_kit_32_BM...
Calculates IAQ with a BME680 sensor.
Reading of raw temperature, humidity and gas resistance Allow offset for temperature calibration Automatically calculate respective humidity using the August-Roche-Magnus approximation Calculate IAQ from temperature, humidity and gas resistance following Dr. Julie Riggs, The IAQ Rating Index, www.iaquk.org.uk
Code for those who are interested in using a BME680 sensor via I2C and Adafruit libraries to calculate IAQ without the proprietary libraries from Bosch.
Adafruit´s library: This is a library for the BME280 humidity, temperature & pressure sensor Designed specifically to work with the Adafruit BME280 Breakout ----> www.iaquk.org.uk These sensors use I2C or SPI to communicate, 2 or 4 pins are required to interface. The device's I2C address is either 0x76 or 0x77. Adafruit invests time and resources providing this open source code, please support Adafruit andopen-source hardware by purchasing products from Adafruit! Written by Limor Fried & Kevin Townsend for Adafruit Industries. BSD license, all text above must be included in any redistribution
Libraries needed:
ThingPulse SSD1306 (https://github.com/ThingPulse/esp8266-oled-ssd1306)
General Adafruit Sensor (Arduino Library Manager)
Adafruit BME680 (Arduino Library Manager)
SoftwWire Steve Marple (Arduino Library Manager)
AsyncDelay Steve Marple (Arduino Library Manager)
Connect Everything
OLED
VCC - 3.3v
GND - GND
SCL - D1
SDA - D2
BME680
VCC - 3.3v
GND - GND
SCL - D1
SDA - D2
Since both the sensor and the OLED are connected using I2C, they are connected to the same pins. In order to do that you can cut a dupont cable in half, and solder the cables to have some Y shaped cables.
​Further Ideas
Further Ideas
- Send the data to MQTT/Blink/Thingspeak
- Add a battery
Hope you enjoyed this project and if you have any questions feel free to ask.
Thank you for reading!