Erste Schritte mit dem ESP32: Installation, WLAN und Bluetooth in ESPHome

Der ESP32 ist ein kompakter und vergleichsweise günstiger Mikrocontroller, der sich für viele Smart-Home-Projekte eignet. Mit ESPHome lässt sich das Board ohne eigene C++-Programmierung in Home Assistant einbinden. Diese Anleitung richtet sich an Einsteiger und führt Schritt für Schritt durch die Ersteinrichtung, die WLAN-Konfiguration und zeigt, wie man optional einen Bluetooth-Proxy aktiviert.

Die ESPHome-App in Home Assistant installieren

Bevor wir den ESP32 einrichten, installieren wir den ESPHome Device Builder. Unter Home Assistant OS kann er direkt über den App Store hinzugefügt werden.

Die Installation der ESPHome-App ist unkompliziert und erfolgt direkt über die Weboberfläche:

  • In der linken Seitenleiste von Home Assistant zu Einstellungen navigieren.
  • Den Menüpunkt Apps öffnen.
  • Unten rechts auf die Schaltfläche App Store klicken.
  • In das Suchfeld „ESPHome“ eintippen und den offiziellen Eintrag (ESPHome Device Builder) auswählen.
  • Auf Installieren klicken und den Vorgang abwarten. Dies kann je nach verwendeter Hardware des Home-Assistant-Servers einige Minuten dauern.
  • Nach der erfolgreichen Installation die Schalter für Beim Booten starten, Watchdog sowie In der Seitenleiste anzeigen aktivieren.
  • Zuletzt auf Starten klicken.

Sobald die App läuft, erscheint in der linken Seitenleiste der Eintrag „ESPHome“. Darüber öffnest du den ESPHome Device Builder und verwaltest deine ESPHome-Geräte und deren Konfigurationen.

Web-Oberfläche von ESPHome im Browser nach der Erstinstallation
Die Weboberfläche von ESPHome nach der Erstinstallation

Benötigte Hardware und Vorbereitung

Um das Projekt fortzusetzen, benötigen wir neben der nun laufenden ESPHome-App lediglich den Mikrocontroller selbst und ein passendes Verbindungskabel (Datenkabel).

Transparenz-Check Damit ich diesen Blog werbefrei halten kann, verwende ich Affiliate-Links (mit * markiert). Wenn du darüber etwas kaufst, erhalte ich eine kleine Provision von Amazon – für dich ändert sich am Preis rein gar nichts. Danke für deinen Support meiner Projekte!

Das ESP32 NodeMCU Board im Detail

Nahaufnahme eines physischen ESP32 NodeMCU Development Boards mit modernem USB-C Anschluss auf hellem Untergrund
Das verwendete ESP32 NodeMCU Board mit integrierter USB-C-Schnittstelle

Für diese Anleitung verwenden wir ein ESP32 NodeMCU Development Board* (Werbung). Dieses Board vereint alle wichtigen Komponenten auf einer kleinen Platine. Das Herzstück ist der eigentliche ESP32-Chip, der für die Berechnungen sowie die WLAN- und Bluetooth-Funkverbindungen zuständig ist. Zusätzlich ist auf dem Board ein sogenannter CH340-Chip verbaut. Dieser Chip fungiert als Übersetzer zwischen dem USB-C-Anschluss und dem ESP32, damit der Computer per Kabel mit dem Mikrocontroller kommunizieren kann.

Da der CH340-Chip von Haus aus nicht auf jedem Betriebssystem sofort erkannt wird, muss unter Windows gelegentlich noch ein Treiber installiert werden. Aktuelle Versionen von Windows 10 und 11 laden den Treiber oft automatisch über das Windows Update herunter. Linux und aktuelle macOS-Versionen erkennen den Chip in der Regel vollautomatisch.

  CH340-Treiber prüfen und manuell installieren Wenn das Board per USB an den Windows-PC angeschlossen wird und im Geräte-Manager ein gelbes Ausrufezeichen unter Andere Geräte (oft als "USB2.0-Serial") erscheint, fehlt der Treiber.
  • Prüfe zuerst unter Windows Update > Erweiterte Optionen > Optionale Updates, ob dir der Treiber dort zur Installation angeboten wird.
  • Alternativ kannst du den Treiber direkt beim Chiphersteller herunterladen: Offizieller WCH-Treiber (CH341SER.EXE). Lade die Datei herunter, starte sie und klicke einfach auf Install.
Nach der erfolgreichen Installation wird das Board korrekt unter Anschlüsse (COM & LPT) aufgeführt und ist einsatzbereit.

Den ESP32 flashen und mit dem WLAN verbinden

Bevor der ESP32 genutzt werden kann, muss eine grundlegende Software (Firmware) aufgespielt werden. Dieser Vorgang wird „Flashen“ genannt. Der einfachste Weg führt heute direkt über den Webbrowser (WebUSB). Dafür wird zwingend ein Chromium-basierter Browser wie Google Chrome, Microsoft Edge oder Brave benötigt.

Der erste Flash-Vorgang über den Browser

Verbinde das Board per USB-Kabel mit deinem Computer. Öffne anschließend die offizielle Webseite web.esphome.io.

Die Schritte für den Flash-Vorgang und die WLAN-Einrichtung:

  • Klicke auf der Webseite auf die Schaltfläche Connect.
  • Es öffnet sich ein kleines Browser-Fenster. Wähle hier den passenden COM-Port deines ESP32 aus und klicke auf Verbinden.
  • Sobald die Verbindung steht, klicke im Steuerungsfenster auf PREPARE FOR FIRST USE. Das Web-Tool bereitet den ESP32 vor und installiert eine grundlegende ESPHome-Firmware. Der Vorgang kann einige Minuten dauern.
  • Nachdem die Installation abgeschlossen ist, öffnet sich automatisch ein neues Fenster. Klicke hier auf CONNECT TO WI-FI.
  • Wähle dein WLAN-Netzwerk aus der Liste aus, gib dein WLAN-Passwort ein und bestätige die Eingabe. Der Browser überträgt die Zugangsdaten auf das Board. Sobald die erfolgreiche Verbindung bestätigt wird, kannst du das Fenster über CLOSE schließen.

Das Gerät in die lokale ESPHome-App übernehmen

Nachdem das Board erfolgreich mit deinem WLAN verbunden wurde, wechselst du zurück in deine Home-Assistant-Oberfläche und öffnest dort die installierte ESPHome-App über die linke Seitenleiste.

Befinden sich der ESP32 und der Home-Assistant-Server im selben Netzwerk, sollte der Device Builder das Gerät automatisch erkennen. In diesem Fall erscheint es im Bereich DISCOVERED.

Home Assistant ESPHome Dashboard mit neu erkanntem Gerät und der Schaltfläche Take Control
Automatisch erkanntes Gerät im ESPHome-Dashboard von Home Assistant
  • Klicke auf der Karte des neu erkannten Geräts auf TAKE CONTROL.
  • Es öffnet sich ein Dialogfenster. Vergib unter New Name einen passenden, eindeutigen Namen für das Gerät, beispielsweise wohnzimmer-led.
  • Falls du nach Network name und Password gefragt wirst, trage die Zugangsdaten deines WLANs ein. Der Device Builder legt sie als Secrets ab und verwendet sie beim Erstellen der Gerätekonfiguration.
  • Bestätige den Vorgang. Nach der Erstellung der Konfiguration erscheint der Hinweis „Configuration created“. Klicke hier auf Install.

Die App kompiliert nun die fertige Konfiguration und überträgt sie auf den ESP32. Nach dem erfolgreichen Flash-Vorgang startet der Mikrocontroller neu und öffnet automatisch das Live-Protokoll (Log). Sobald das Gerät wieder erreichbar ist und im Protokoll eine erfolgreiche Initialisierung meldet, ist die Installation abgeschlossen:

[18:37:08.475][I][safe_mode:142]: Boot seems successful; resetting boot loop counter
[18:37:11.643][D][preferences:148]: Writing 1 items: 0 cached, 1 written, 0 failed
[18:41:12.947][D][wifi:2439]: Roam scan (-62 dBm, attempt 1/3)

Der Eintrag Boot seems successful zeigt, dass ESPHome den Startvorgang als erfolgreich bewertet. Das Live-Protokoll wird anschließend fortlaufend aktualisiert. Das Installationsfenster kann an dieser Stelle über die Schaltfläche CLOSE geschlossen werden.

Optional: Die Konfiguration anpassen

Um zukünftige Anpassungen vorzunehmen oder Funktionen hinzuzufügen, nutzt ESPHome eine einfache Textdatei im YAML-Format. Bei YAML müssen Einrückungen mit Leerzeichen korrekt gesetzt sein, da sie die Struktur der Konfiguration festlegen. Da das Gerät nun erfolgreich übernommen wurde, kannst du die Datei jederzeit einsehen.

Klicke bei dem Gerät im ESPHome-Dashboard auf Edit, um dir die automatisch erstellte Konfiguration anzusehen. Sie sieht im Kern wie folgt aus:

esphome:
  name: esphome-web-e2e014
  friendly_name: led
  min_version: 2026.4.0
  name_add_mac_suffix: false

esp32:
  variant: esp32
  framework:
    type: esp-idf

# Enable logging
logger:

# Enable Home Assistant API
api:

# Allow Over-The-Air updates
ota:
- platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

Optional: Den ESP32 als Bluetooth-Proxy nutzen

Der ESP32 kann optional als Bluetooth-Proxy eingesetzt werden. Er empfängt Bluetooth-Low-Energy-Signale in seiner Umgebung und stellt sie Home Assistant über das Netzwerk zur Verfügung. Dadurch lässt sich die Bluetooth-Abdeckung beispielsweise in weiter entfernte Räume erweitern.

Diese Funktion ist optional. Wenn du sie bei Bedarf aktivieren möchtest, fügst du einfach diese Zeilen ganz unten an deine bestehende YAML-Konfiguration (über den Edit-Button) an:

# Aktiviert das Scannen nach Bluetooth-Geräten
esp32_ble_tracker:

# Aktiviert die Weiterleitung an Home Assistant
bluetooth_proxy:
  active: true

Klicke nach dem Einfügen oben rechts auf Install und wähle Wirelessly (drahtlos). ESPHome übersetzt die Datei nun und spielt das Update über das WLAN auf deinen ESP32 auf.

Die Funktion des Bluetooth-Proxys überprüfen

Nachdem das Update aufgespielt wurde, lässt sich die erfolgreiche Aktivierung des Bluetooth-Proxys direkt über das Live-Protokoll (Logs) im ESPHome-Dashboard überprüfen. Sobald das Gerät neu startet, gibt der Mikrocontroller die Konfiguration der einzelnen Komponenten aus. Die entscheidenden Zeilen sehen wie folgt aus:

[19:22:13.675][C][bluetooth_proxy:117]: Bluetooth Proxy:
[19:22:13.675][C][bluetooth_proxy:117]:   Active: YES
[19:22:13.675][C][bluetooth_proxy:117]:   Connections: 3
[19:22:13.713][C][esp32_ble_tracker:702]: BLE Tracker:
[19:22:13.772][C][esp32_ble_tracker:711]:   Scanner State: RUNNING

Der Eintrag Active: YES zeigt, dass aktive Bluetooth-Verbindungen unterstützt werden. Scanner State: RUNNING bestätigt, dass der BLE-Scanner läuft. Connections: 3 bezeichnet dabei die konfigurierten Verbindungsslots und nicht zwingend drei aktuell verbundene Geräte.

Den ESP32 in Home Assistant integrieren

Nachdem der ESP32 im WLAN ist und vom Device Builder verwaltet wird, muss er noch über die ESPHome-Integration zu Home Assistant hinzugefügt werden. Anschließend stellt Home Assistant die in ESPHome konfigurierten Entitäten automatisch bereit.

  • Navigiere in Home Assistant zu Einstellungen und dann auf Geräte & Dienste.
  • Meistens wird das neue ESPHome-Gerät ganz oben bereits automatisch als „Erkannt“ angezeigt. Klicke einfach auf Konfigurieren.
  • Sollte das Gerät nicht automatisch auftauchen, klicke unten rechts auf Integration hinzufügen, suche nach ESPHome und gib als Adresse den vergebenen Namen ein oder die IP-Adresse, die dem Board von deinem Router zugewiesen wurde.

Nach der Bestätigung ist das ESPHome-Gerät in Home Assistant eingebunden. Sensoren, LEDs oder Relais können anschließend in der YAML-Konfiguration ergänzt werden.

Bei aktiviertem Bluetooth-Proxy wird der ESP32 außerdem unter Einstellungen > Geräte & Dienste in der Bluetooth-Integration aufgeführt.

Weiterführende Praxisprojekte

Aufbauend auf dieser Ersteinrichtung können verschiedene Hardware-Komponenten und Sensoren an den Mikrocontroller angebunden werden. Bisher dokumentierte Projekte:

Ansteuerung eines 3-Farben RGB-LED-Moduls

Schritt-für-Schritt-Anleitung zum Anschluss mehrerer RGB-LED-Module mittels G-V-S Expansion Board und der Erstellung individueller Lichteffekte in ESPHome.

Temperaturmessung mit dem DS18B20 am ESP32

Schritt-für-Schritt-Anleitung zum Anschluss wasserdichter DS18B20-Sensoren und zum Auslesen mehrerer Fühler über den 1-Wire-Bus in ESPHome.

Schwimmschalter am ESP32: Füllstand mit ESPHome überwachen

Schritt-für-Schritt-Anleitung zum Anschluss eines mechanischen Schwimmschalters. Erfahre, wie du einen definierten Wasserstand überwachst, mehrere Schalter für eine Min/Max-Erkennung kombinierst und kurze Zustandswechsel durch Wellenbewegungen filterst.

GPS-Tracker mit dem Beitian BE-220 am ESP32

Schritt-für-Schritt-Anleitung zur Einbindung des GPS-Moduls BE-220 in ESPHome und Visualisierung der Standortdaten in Home Assistant.

Zisternen-Füllstand mit dem JSN-SR04T am ESP32 messen

Schritt-für-Schritt-Anleitung zum Anschluss des wasserdichten Ultraschallsensors JSN-SR04T an einen ESP32 sowie zur Konfiguration der Entfernungsmessung in ESPHome.