Tutorial

ESP32 Wetterstation mit OLED Display

ESP32 Wetterstation mit OLED Display, BME280 Sensor und Breadboard
Makershop Tutorial · ESP32 · OLED · BME280

ESP32 Wetterstation mit OLED Display

Baue ein kleines, sauberes Maker-Projekt: Der ESP32 liest Temperatur, Luftfeuchtigkeit und Luftdruck vom BME280 und zeigt die Werte live auf einem OLED Display an. Ideal als Einstieg in I2C, Sensorik und Display-Ausgabe.

ESP32 Wetterstation mit OLED Display, BME280 Sensor und Breadboard

ESP32WiFi/Bluetooth Controller
BME280Temperatur · Luftdruck · Feuchte
OLED128×64 Anzeige über I2C

Was du am Ende gebaut hast

Du hast eine kleine Wetterstation auf dem Breadboard: Der ESP32 fragt den BME280 über I2C ab und schreibt die aktuellen Messwerte auf das OLED Display. Das Projekt ist klein genug für den ersten Abend, aber nützlich genug, um danach direkt erweitert zu werden.

Einsteigerfreundlich
Nur ein I2C-Bus
Arduino IDE
Sofort sichtbares Ergebnis
Warum dieses Projekt? Es verbindet drei Dinge, die bei vielen Maker-Projekten immer wiederkommen: Mikrocontroller, Sensor und Anzeige. Wenn das läuft, hast du eine solide Basis für Datenlogger, Home-Assistant-Sensoren oder kleine IoT-Anzeigen.
Dauer15–30 min
LevelEinsteiger
BoardESP32
BusI2C
SoftwareArduino IDE

Die Bauteile im Projekt verstehen

Für das Projekt brauchst du drei zentrale Bauteile: einen Controller, einen Sensor und ein Display. Technisch lernst du damit das Grundmuster vieler Maker-Projekte: Daten erfassen, im Mikrocontroller verarbeiten und direkt sichtbar ausgeben.

ESP32 Dev Board

ESP32

Steuert Sensor und Display.

  • liest die BME280-Messwerte per I2C
  • schreibt Temperatur, Feuchte und Druck auf das OLED
  • bringt WLAN/Bluetooth für spätere Erweiterungen mit

ESP32 im Shop ansehen

BME280 Sensor Modul

BME280

Misst die Umweltdaten.

  • liefert Temperatur, Luftfeuchtigkeit und Luftdruck
  • nutzt typischerweise I2C-Adresse 0x76 oder 0x77
  • passt für Wetterstationen, Raumklima und Datenlogger

BME280 im Shop ansehen

OLED SSD1306 Display

OLED Display

Zeigt die Werte direkt an.

  • macht den Aufbau sofort sichtbar testbar
  • läuft ebenfalls über I2C mit SDA und SCL
  • reicht mit 128×64 Pixeln für kompakte Statusanzeigen

OLED im Shop ansehen

Verdrahtung

OLED und BME280 hängen gemeinsam am I2C-Bus. Beim ESP32 sind die Standardpins meistens GPIO 21 für SDA und GPIO 22 für SCL.

ESP32 3V3 GND GPIO 21 · SDA GPIO 22 · SCL OLED SSD1306 · I2C BME280 Sensor · I2C
ESP32OLED SSD1306BME280
3V3VCCVCC
GNDGNDGND
GPIO 21 / SDASDASDA
GPIO 22 / SCLSCLSCL
Wichtig: Prüfe die Beschriftung deines Moduls. Manche BME280-Boards sind 3,3V/5V-tolerant, andere nicht. Wenn du unsicher bist, verwende am ESP32 sauber 3,3V.

Schritte

Arduino IDE vorbereiten

Installiere die ESP32-Boards über den Boardverwalter und wähle dein ESP32 Dev Board aus. Danach den passenden USB-Port auswählen.

Bibliotheken installieren

Installiere über den Bibliotheksverwalter: Adafruit BME280 Library, Adafruit Unified Sensor, Adafruit SSD1306 und Adafruit GFX Library.

Verdrahten

Verbinde OLED und BME280 parallel mit 3V3, GND, SDA und SCL. Beide Module dürfen am gleichen I2C-Bus hängen.

Code hochladen

Kopiere den Beispielcode, lade ihn auf den ESP32 und öffne bei Problemen zuerst den seriellen Monitor.

Arduino-Code

Der Sketch sucht den BME280 auf den üblichen I2C-Adressen 0x76 und 0x77 und aktualisiert das OLED Display einmal pro Sekunde.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_BME280.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Adafruit_BME280 bme;
void setup() {
Serial.begin(115200);
Wire.begin(21, 22);
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("OLED nicht gefunden");
while (true) delay(10);
}
bool sensorFound = bme.begin(0x76);
if (!sensorFound) sensorFound = bme.begin(0x77);
display.clearDisplay();
display.setTextColor(SSD1306_WHITE);
display.setTextSize(1);
display.setCursor(0, 0);
if (!sensorFound) {
display.println("BME280 nicht gefunden");
display.display();
while (true) delay(10);
}
display.println("Makershop Wetterstation");
display.println("Sensor bereit");
display.display();
delay(1200);
}
void loop() {
float temperature = bme.readTemperature();
float humidity = bme.readHumidity();
float pressure = bme.readPressure() / 100.0F;
display.clearDisplay();
display.setCursor(0, 0);
display.setTextSize(1);
display.println("ESP32 Wetterstation");
display.println("-------------------");
display.print("Temp: ");
display.print(temperature, 1);
display.println(" C");
display.print("Luft: ");
display.print(humidity, 0);
display.println(" %");
display.print("Druck: ");
display.print(pressure, 0);
display.println(" hPa");
display.display();
delay(1000);
}

Was du mit der Wetterstation machen kannst

In der Grundversion ist die Schaltung eine kleine lokale Anzeige für Temperatur, Luftfeuchtigkeit und Luftdruck. Das ist praktisch für den Schreibtisch, den Werkraum, das Gewächshaus oder als Testaufbau auf dem Breadboard. Der eigentliche Wert liegt aber darin, dass du damit ein wiederverwendbares Muster lernst: Sensor auslesen, Daten strukturieren und auf einem Ausgabegerät darstellen.

Als kompakte Raumklima-Anzeige auf dem Schreibtisch verwenden.
Messwerte später per WLAN an einen Server oder MQTT senden.
Mit einem kleinen Gehäuse als feste Statusanzeige verbauen.
Weitere Sensoren am I2C-Bus ergänzen, wenn Adressen nicht kollidieren.

Ausbau Richtung WLAN und Dashboard

Der ESP32 ist für den nächsten Schritt gut geeignet, weil WLAN schon integriert ist. Du kannst später einen kleinen Webserver auf dem Board starten, die Werte per MQTT veröffentlichen oder sie an Home Assistant übergeben. Dann bleibt das OLED als lokale Anzeige erhalten, während die Messdaten zusätzlich in einem Dashboard, Verlauf oder Automationssystem landen.

Worauf du beim festen Einbau achten solltest

Für einen dauerhaften Aufbau solltest du die Jumper-Verbindungen durch sauber gesteckte oder gelötete Verbindungen ersetzen. Das BME280-Modul sollte nicht direkt neben warmen Bauteilen, Netzteilen oder dem ESP32-Spannungsregler sitzen, weil die Temperaturmessung sonst verfälscht werden kann. Für Raumklima-Messungen ist ein luftdurchlässiges Gehäuse sinnvoller als eine komplett geschlossene Box.

Wenn etwas nicht funktioniert

Display bleibt dunkel: OLED-Adresse prüfen, häufig 0x3C.
Sensor nicht gefunden: BME280-Adresse 0x76 oder 0x77 testen.
Upload bricht ab: ESP32-Port und Boardauswahl prüfen.
Wirre Werte: Verkabelung und Versorgungsspannung kontrollieren.

Nächste Ausbaustufen

Wenn die Anzeige läuft, kannst du das Projekt schnell erweitern: Messwerte per WLAN senden, einen Webserver auf dem ESP32 starten, Daten an Home Assistant übergeben oder einen Akku-Betrieb vorbereiten.

Idee für Teil 2: ESP32 Wetterstation mit Webserver und Smartphone-Ansicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert