BME680 – Temperatuur, luchtvochtigheid, luchtdruk en luchtkwaliteit
De BME680 is een veelzijdige digitale omgevingssensor van Bosch waarmee je temperatuur, luchtvochtigheid, luchtdruk en gasweerstand kunt meten. Daardoor is deze sensor erg geschikt voor ESP32- en Home Assistant-projecten waarbij je het binnenklimaat of de omgevingscondities wilt monitoren. Dankzij de ondersteuning voor I²C en SPI is de BME680 eenvoudig aan te sluiten, terwijl je met één compacte sensor direct meerdere meetwaarden beschikbaar hebt. Dat maakt hem interessant voor toepassingen zoals weerstations, klimaatmonitoring, slimme ventilatie en dashboards in Home Assistant. In dit artikel lees je wat de BME680 precies meet, wat de belangrijkste specificaties zijn, hoe je hem correct aansluit op een ESP32 en welke Arduino-code je kunt gebruiken om de sensorwaarden direct uit te lezen.
⚙️ Specificaties
🧪 Algemene informatie
🏷️ Naam: BME680
🌡️ Type: digitale 4-in-1 omgevingssensor
🏭 Fabrikant: Bosch Sensortec
📡 Communicatie: I²C of SPI
🌡️ Meetwaardes
Temperatuur-bereik: –40 °C tot +85 °C
Temperatuur-nauwkeurigheid: 0 tot 100%
Luchtdruk : 300 tot 1100 hPa (mBar) RV
🔋 Voeding & verbruik
Voedingsspanning: 3.3 V
Sommige breakout boards zijn 5V-tolerant,
maar bij een ESP32 is 3,3 V de veiligste keuze.
🔗 Communicatie
Protocol: I²C of SPI
Standaard I2C-adres: 0x76 of 0x77<
afhankelijk van het breakout board
Aantal datalijnen: 2 (SDA en SCL)
Wat kun je met de BME680 meten?
- - binnenklimaat in huis monitoren
- - luchtdruk meten voor een weerstation
- - temperatuur en luchtvochtigheid in een kamer, schuur of kas meten
- - een indicatie krijgen van veranderende luchtkwaliteit binnenshuis
Aansluitschema ESP32 – BME680 (I2C)
| BME680 | ESP32 |
|---|---|
| VIN | 3.3V |
| GND | GND |
| SCL | GPIO 22 |
| SDA | GPIO 21 |
De sensor gebruikt standaard het I2C-adres 0x76 of 0x77, afhankelijk van het board. Controleer de datasheet of gebruik een I2C-scanner.
Arduino-code voorbeeld
Installeer de bibliotheken Adafruit BME680 en Adafruit Sensor via de Library Manager.
#include
#include
#include "Adafruit_BME680.h"
Adafruit_BME680 bme; // I2C
void setup() {
Serial.begin(115200);
if (!bme.begin()) {
Serial.println("Kan BME680 niet vinden!");
while (1);
}
// Configuratie
bme.setTemperatureOversampling(BME680_OS_8X);
bme.setHumidityOversampling(BME680_OS_2X);
bme.setPressureOversampling(BME680_OS_4X);
bme.setGasHeater(320, 150); // 320°C voor 150 ms
}
void loop() {
if (!bme.performReading()) {
Serial.println("Fout bij uitlezen!");
return;
}
Serial.print("Temperatuur: ");
Serial.print(bme.temperature);
Serial.println(" °C");
Serial.print("Luchtvochtigheid: ");
Serial.print(bme.humidity);
Serial.println(" %");
Serial.print("Druk: ");
Serial.print(bme.pressure / 100.0);
Serial.println(" hPa");
Serial.print("Gasweerstand: ");
Serial.print(bme.gas_resistance / 1000.0);
Serial.println(" KΩ");
delay(2000);
}
Toepassing in Home Assistant
De BME680 kan via ESPHome gekoppeld worden aan Home Assistant. Je kunt alle sensoren afzonderlijk uitlezen. Een voorbeeldconfiguratie:
i2c:
sda: 21
scl: 22
scan: true
sensor:
- platform: bme680
temperature:
name: "Woonkamer Temperatuur"
pressure:
name: "Woonkamer Luchtdruk"
humidity:
name: "Woonkamer Luchtvochtigheid"
gas_resistance:
name: "Woonkamer Gasweerstand"
address: 0x76
update_interval: 60s
Voor luchtkwaliteitsindex (IAQ) heb je aanvullende software nodig zoals bsec.
Opmerkingen en tips
- De gasmeting vereist een opwarmtijd (meerdere minuten) voor stabiele waarden.
- Sommige breakout boards gebruiken
0x77als I2C-adres; controleer dit met een I2C-scanner. - Controleer het I²C-adres van jouw module met een I²C-scanner als de sensor niet gevonden wordt.
- Plaats de sensor niet direct naast een warmtebron of in een afgesloten kunststof behuizing zonder luchtstroming.
Vergelijking met andere sensoren
De BME680 kan meerdere metingen uitvoeren, zoals temperatuur, luchtvochtigheid, luchtdruk en luchtkwaliteit, maar is niet altijd de beste keuze voor elke toepassing.
In onze uitgebreide vergelijking van sensoren voor Home Assistant bekijken we de verschillen tussen de DS18B20, DHT22, HTU21D en BME680. We vergelijken onder andere nauwkeurigheid, stabiliteit en de verschillende metingen zoals temperatuur, luchtvochtigheid, luchtdruk en luchtkwaliteit.
Zo kun je eenvoudig bepalen welke sensor het beste past bij jouw project.
☕ Steun deze website met een kop koffie
Op matteman.nl deel ik al mijn projecten, schema’s, uitleg en code gratis — zonder advertenties of sponsordeals. Alles wat je hier vindt, is met zorg gemaakt om hobbyisten, makers en automatiseringsliefhebbers op weg te helpen.Heb je iets gehad aan de informatie op deze site? Dan kun je mij helpen door een eenmalige bijdrage te doen via Buy Me a Coffee. Daarmee steun je niet alleen mijn werk, maar ook de kosten voor hosting, onderdelen en het onderhouden van de 3D-printer (die het altijd begeeft op het verkeerde moment 😉).
Elke bijdrage — groot of klein — wordt enorm gewaardeerd. Dankjewel! 🙌