BMP388 temperatuur- en luchtdruksensor aansluiten op een ESP32 met I²C

Over de SHT41

De BMP388 barometric pressure sensor is een uiterst nauwkeurige luchtdruksensor die perfect geschikt is voor toepassingen zoals weerstations, hoogtebepaling en slimme automatiseringen binnen Home Assistant. Deze sensor communiceert via I²C-communicatie en is daardoor eenvoudig aan te sluiten op een ESP32

In mijn weerstation-serie is dit een van de belangrijkste sensoren. Waarom? Omdat luchtdruk één van de beste indicatoren is om weersveranderingen te voorspellen. Door trends te analyseren (stijgend, dalend of stabiel), kun je verrassend nauwkeurig inschatten wat het weer gaat doen.

Daarnaast is de BMP388 niet alleen nauwkeurig, maar ook compact, energiezuinig en eenvoudig aan te sluiten op een ESP32 of ESP8266.

Wat maakt de BMP388 zo interessant?
De BMP388 is de opvolger van populaire sensoren zoals de BMP280 en BME280 (zonder luchtvochtigheid). Deze sensor is ontworpen met een sterke focus op nauwkeurigheid en stabiliteit. De BMP388 is nauwkeuriger dan bijvoorbeeld de BME680, waar de BME680 een nauwkeurigheid voor de luchtdruk heeft van ±1 hPa, heeft de DMP388 een nauwkeurigheid van ±0.5 hPa.

Als je de luchtdruk op op een bepaalde hoogte of zeeniveau weet, dan kan je de BMP388 ook gebruiken voor het bepalen van de hoogte boven zeeniveau. Hierbij is nauwkeurigheid zeer gewenst omdat ±0.5 hPa al neerkomt op ±4 meter.
Gebruik je de sensor zelf om deze de druk op de grond te laten bepalen, dan wordt een hoogtemeting nauwkeuriger omdat de nauwkeurigheid gelijk blijft. 👉 Dit maakt het een zeer krachtige sensor voor drukmetingen.



BMP388 temperatuur en luchtdruk sensor

⚙️ Specificaties

🧪 Algemene informatie

🏷️ Naam: BMP388

🌡️ Type: Digitale temperatuur- en luchtdruksensor

🌡️ Meetbereik & nauwkeurigheid

Temperatuur-bereik: –40 °C tot +85 °C

Temperatuur-nauwkeurigheid: ±0.5 °C

Luchtdruk-bereik: 300–1250 hPa

Luchtdruk-nauwkeurigheid: ±0.5 hPa

Resolutie: 0.001 hPa

🔋 Voeding & verbruik

Voedingsspanning: 1.65 V tot 3.6 V

Geschikt voor ESP32: ja, op 3.3 V

Stroomverbruik: zeer laag

🔗 Communicatie

Protocol: I²C

Standaard I2C-adres: 0x76 / 0x77

Aantal datalijnen: 2 (SDA en SCL)

Alternatief: SCK, MOSI, MISO, CS

🧰 Typische toepassingen

📊 Weerstation / luchtdruk
⛅ Weerstation / weersvoorspelling
✈️ Modelvliegtuig of drone / hoogtemeter


Aansluitschema ESP32 – BMP388 (I2C)

BMP388ESP32
VCC3.3V
GNDGND
SCLGPIO 22
SDAGPIO 21
SHT41 ESP32

Tip: gebruik een I2C-scanner om zeker te weten op welk adres jouw board reageert (meestal 0x76). Als je meerdere I²C sensoren aansluit is dat meteen handig voor troubleshooting.


Arduino-code voorbeeld

Installeer via Library Manager: Adafruit_BMP3XX.h en Adafruit Unified Sensor.


#include <Wire.h.h>
#include <Adafruit_Sensor.h.h>
#include <Adafruit_BMP3XX.h.h>

Adafruit_BMP3XX bmp;

// Zet hier de actuele luchtdruk voor een hoogtemeting.
#define SEALEVELPRESSURE_HPA (1027.42)

void setup() {
  Serial.begin(115200);
  delay(1000);

  // ESP32 standaard I2C pinnen: SDA = 21, SCL = 22
  Wire.begin(21, 22);

  Serial.println("BMP388 test gestart");

  // Probeer eerst adres 0x77
  if (!bmp.begin_I2C(0x77)) {
    // Probeer daarna 0x76
    if (!bmp.begin_I2C(0x76)) {
      Serial.println("BMP388 niet gevonden. Controleer bedrading en I2C-adres.");
      while (1) {
        delay(10);
      }
    }
  }

  // Instellingen voor meten
  bmp.setTemperatureOversampling(BMP3_OVERSAMPLING_8X);
  bmp.setPressureOversampling(BMP3_OVERSAMPLING_4X);
  bmp.setIIRFilterCoeff(BMP3_IIR_FILTER_COEFF_3);
  bmp.setOutputDataRate(BMP3_ODR_1_HZ);

  Serial.println("BMP388 gevonden en gereed");
}

void loop() {
  if (!bmp.performReading()) {
    Serial.println("Fout bij uitlezen van BMP388");
    delay(2000);
    return;
  }

  Serial.print("Temperatuur = ");
  Serial.print(bmp.temperature);
  Serial.println(" °C");

  Serial.print("Druk = ");
  Serial.print(bmp.pressure / 100.0);   // Pa -> hPa
  Serial.println(" hPa");

  Serial.print("Geschatte hoogte = ");
  Serial.print(bmp.readAltitude(SEALEVELPRESSURE_HPA));
  Serial.println(" m");

  Serial.println();
  delay(2000);
}

Opmerkingen



Waarom kiezen voor de BMP388?

De BMP388 barometric pressure sensor is dé keuze als je nauwkeurige luchtdrukmetingen wilt voor je eigen weerstation of Home Assistant project.
In tegenstelling tot all-in-one sensoren ligt de focus hier volledig op precisie. En dat merk je direct in je data.
✔ Zeer nauwkeurige luchtdrukmeting – ideaal voor trendanalyse
✔ Stabiele metingen – geen “springende” grafieken
✔ Perfect voor weersvoorspelling – zie veranderingen vroeg aankomen
✔ Compact en energiezuinig – ideaal voor ESP32 projecten


☕ 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! 🙌
☕ Geef een kop koffie