Fertige Präsenzmelder aus dem Handel messen meist nur ein, zwei Werte und lassen sich kaum in ein durchdachtes Smart-Home-Konzept einbinden. Ich wollte einen DIY-Multisensor, der wirklich alles liefert, was ich für sinnvolle Automationen brauche – und das für unter 30 € pro Stück.
Deshalb habe ich mir einen eigenen Multisensor gebaut: ein ESP32-S3 SuperMini, kombiniert mit einem LD2410C mmWave-Radar für echte Präsenzerkennung (nicht nur Bewegung!), einem BH1750-Helligkeitssensor und einem BME280-Klimasensor für Temperatur, Luftfeuchtigkeit und Luftdruck. Alle Werte landen per ESPHome direkt und zuverlässig in Home Assistant.
In diesem Beitrag zeige ich dir den kompletten Aufbau – vom Anlöten der ersten Stiftleiste bis zur fertigen ESPHome-Konfiguration und den Automationen in Home Assistant. Aktuell läuft mein Sensor noch im Testaufbau per USB-C auf dem Schreibtisch. Als Ausblick zeige ich dir aber schon, wie es danach weitergeht: mit einer festen 230V-Stromversorgung über ein HLK-PM01-Netzteil und einem eigenen 3D-gedruckten Gehäuse für den dauerhaften Einbau.
🎯 Ziel des Projekts
Der Sensor soll am Ende Folgendes leisten:
- ✅ Präsenz erkennen (nicht nur Bewegung) – per LD2410C mmWave-Radar
- ✅ Helligkeit messen – per BH1750
- ✅ Temperatur, Luftfeuchtigkeit und Luftdruck messen – per BME280
- ✅ Alle Werte live in Home Assistant zur Verfügung stellen
- ✅ Sich wahlweise per USB-C oder dauerhaft über 230V betreiben lassen
- ✅ Als Basis für intelligente Licht-, Heizungs- und Lüftungsautomationen dienen
🧭 Die Vorbereitung
Bevor der Lötkolben angeht, lohnt sich etwas Vorarbeit. Diese vier Schritte haben mir den Einstieg deutlich erleichtert:
1️⃣ Verständnis aufbauen
LD2410C und ESPHome waren für mich beides Neuland. Bevor ich bestellt habe, habe ich mir folgende Quellen angeschaut: die offizielle ESPHome-Dokumentation zur ld2410-Komponente, ein paar Praxisvideos zum LD2410C auf YouTube (wichtig, um ein Gefühl für Reichweite und Fehlalarme zu bekommen) sowie Diskussionen im ESPHome- bzw. Home-Assistant-Forum, in denen andere Nutzer ihre Konfigurationen und Stolpersteine teilen. Das hat mir geholfen, vorab realistische Erwartungen an Reichweite, Empfindlichkeit und I²C-Verkabelung zu entwickeln, statt alles per Trial-and-Error herauszufinden.
2️⃣ Bauteile bestellen
Bei der Bestellung standen für mich zwei Fragen im Vordergrund: Wo bestelle ich, und worauf muss ich bei den Sensoren konkret achten?
AliExpress vs. Amazon: Auf AliExpress bekommt man ESP32-S3, LD2410C, BH1750 und BME280 zusammen oft für weniger als die Hälfte des Amazon-Preises – dafür sind 2-4 Wochen Lieferzeit realistisch, und bei Reklamationen dauert es entsprechend länger. Amazon lohnt sich, wenn du schnell testen willst oder ein Bauteil kurzfristig ersetzen musst; für den Rest würde ich – wenn Zeit kein Problem ist – AliExpress empfehlen.
BME280 vs. BMP280: Hier lohnt sich ein zweiter Blick auf die Artikelbeschreibung. Viele günstige Angebote sind als „BME280“ gelistet, liefern aber tatsächlich einen BMP280 – und der misst keine Luftfeuchtigkeit. Sowohl das Modulfoto (BME280-Chips haben meist eine glänzende, leicht erhabene Sensorkappe) als auch Kundenbewertungen geben oft einen Hinweis, bevor man bestellt. Im Zweifel hilft nur: Bewertungen mit Fotos durchsuchen oder direkt beim Verkäufer nachfragen.
3️⃣ Werkzeug bereitlegen
Für den Zusammenbau reicht einfaches Werkzeug: Lötkolben mit feiner Spitze, dünnes Lötzinn, eine dritte Hand oder Platinenklemme, ein kleines Multimeter zum Prüfen der Verbindungen und ein Satz Dupont-Kabel für die spätere Verdrahtung zwischen den Modulen.
4️⃣ Home Assistant vorbereiten
Damit später nichts im Weg steht, habe ich vorab in Home Assistant unter Einstellungen → Add-ons → Add-on Store nach dem ESPHome Device Builder gesucht und ihn installiert. So kann ich direkt nach dem Verlöten mit der Konfiguration starten, ohne erst noch Grundlagen einrichten zu müssen.
🧩 Verwendete Hardware
Diese Komponenten kommen zum Einsatz:
- Controller: ESP32-S3 SuperMini
- Präsenzsensor: LD2410C mmWave-Radar
- Helligkeitssensor: GY-302 (BH1750) – empfohlen – oder alternativ BH1750FVI mit Lichtkugel; beide funktionieren identisch
- Klimasensor: BME280 (Temperatur, Luftfeuchtigkeit, Luftdruck)
- Stromversorgung: USB-C zum Testen, HLK-PM01 (230V → 5V) für den Festeinbau




📸 Alle verwendeten Komponenten im Überblick
🔌 Verkabelung
Bevor verdrahtet wird, werden an allen Modulen zunächst Stiftleisten angelötet. Wichtig: Für die ersten Tests kommt noch kein Netzteil zum Einsatz – der ESP32 wird ausschließlich per USB-C versorgt.
📌 Pinbelegung der Module
| Komponente | Benötigte Anschlüsse |
|---|---|
| ESP32-S3 SuperMini | 5V, 3V3, GND, GPIO43 (TX), GPIO44 (RX), Pin 10 / GPIO18 (I²C SCL), Pin 11 / GPIO09 (I²C SDA) |
| LD2410C | 5V, GND, TX, RX |
| BH1750 | VCC, GND, SDA, SCL |
| BME280 | VIN, GND, SDA, SCL |
🔗 Verdrahtung
| Bauteil | Anschluss | ESP32-S3 SuperMini |
|---|---|---|
| LD2410C | VCC | 5V |
| LD2410C | GND | GND |
| LD2410C | TX | GPIO44 (RX) |
| LD2410C | RX | GPIO43 (TX) |
| BH1750 | VCC | 3V3 |
| BH1750 | GND | GND |
| BH1750 | SDA | GPIO09 (Pin 11) |
| BH1750 | SCL | GPIO18 (Pin 10) |
| BME280 | VIN | 3V3 |
| BME280 | GND | GND |
| BME280 | SDA | GPIO09 (Pin 11) |
| BME280 | SCL | GPIO18 (Pin 10) |
💡 Merksatz für die UART-Verbindung zum LD2410C: TX → RX und RX → TX – die Leitungen werden gekreuzt, nicht parallel verbunden.

📸 Mein handgezeichneter Verkabelungsplan – GND rot, VCC/3V3 lila, SCL orange, SDA schwarz, TX grün, RX blau
💻 ESPHome-Konfiguration
Nachdem die Verdrahtung steht, folgt die Konfiguration in ESPHome. Zuerst wird in Home Assistant unter Einstellungen → Add-ons → Add-on Store der ESPHome Device Builder installiert und gestartet. Danach ein neues Gerät anlegen (Name: zimmer_sensor, Board: ESP32-S3) und das WLAN eintragen.
Das ist die komplette Konfiguration:
esphome:
name: zimmer_sensor
esp32:
board: esp32-s3-devkitc-1
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
logger:
api:
ota:
uart:
tx_pin: GPIO43
rx_pin: GPIO44
baud_rate: 256000
ld2410:
i2c:
sda: GPIO9
scl: GPIO18
scan: true
binary_sensor:
- platform: ld2410
has_target:
name: "Präsenz"
sensor:
- platform: ld2410
moving_distance:
name: "Bewegungsdistanz"
still_distance:
name: "Präsenzdistanz"
moving_energy:
name: "Bewegungsenergie"
still_energy:
name: "Präsenzenergie"
- platform: bh1750
name: "Helligkeit"
update_interval: 30s
- platform: bme280_i2c
address: 0x76
temperature:
name: "Temperatur"
pressure:
name: "Luftdruck"
humidity:
name: "Luftfeuchtigkeit"
update_interval: 30sHinweis: Einige BME280-Module nutzen die I²C-Adresse 0x77 statt 0x76. Falls der Sensor nicht erkannt wird, im ESPHome-Log nach der gefundenen I²C-Adresse suchen und die Adresse in der Konfiguration entsprechend anpassen.
Anschließend wird die Firmware geflasht: ESP32 per USB-C an den PC anschließen, in ESPHome auf Install → Plug into this computer klicken und warten, bis SUCCESS erscheint. Nach wenigen Sekunden taucht das neue Gerät in Home Assistant unter Einstellungen → Geräte & Dienste automatisch zur Einrichtung auf.
🏠 Integration in Home Assistant
Für das Dashboard zeige ich mir folgende Entitäten an:
- Präsenz
- Bewegungsdistanz
- Präsenzdistanz
- Bewegungsenergie
- Präsenzenergie
- Helligkeit
- Temperatur
- Luftfeuchtigkeit
- Luftdruck
Damit der Sensor nicht nur Werte liefert, sondern auch etwas tut, habe ich direkt zwei einfache Automationen eingerichtet: Das Licht geht an, wenn Präsenz erkannt wird und es zu dunkel ist – und wieder aus, sobald für zwei Minuten keine Präsenz mehr erkannt wird.
💡 Licht einschalten
alias: Licht An
trigger:
- platform: state
entity_id: binary_sensor.prasenz
to: "on"
condition:
- condition: numeric_state
entity_id: sensor.helligkeit
below: 50
action:
- service: light.turn_on
target:
entity_id: light.flur🌙 Licht ausschalten
alias: Licht Aus
trigger:
- platform: state
entity_id: binary_sensor.prasenz
to: "off"
for:
minutes: 2
action:
- service: light.turn_off
target:
entity_id: light.flur🚧 Ausblick: Vom Testaufbau zum fertigen Gehäuse
Aktuell steht mein Sensor noch offen verdrahtet auf dem Schreibtisch und wird per USB-C versorgt – perfekt, um die Konfiguration zu testen und die Automationen zu verfeinern, bevor er fest verbaut wird. Für den dauerhaften Einbau sind zwei weitere Schritte geplant:
1️⃣ Feste 230V-Stromversorgung mit HLK-PM01
Für den Festeinbau ersetzt ein HLK-PM01-Netzteil (230V → 5V) das USB-Netzteil:
| Quelle | Ziel |
|---|---|
| 230V L | HLK-PM01 L |
| 230V N | HLK-PM01 N |
| HLK-PM01 +5V | ESP32 5V |
| HLK-PM01 GND | ESP32 GND |
Das LD2410C hängt dabei weiterhin direkt an 5V und GND des ESP32.
2️⃣ 3D-gedrucktes Gehäuse
Für den Festeinbau plane ich ein eigenes Gehäuse mit rund 90 × 60 × 35 mm, in das ESP32-S3, LD2410C, BH1750, BME280 und das HLK-PM01-Netzteil passen. Gedruckt wird es aus PLA, PETG oder ASA – das LD2410C funktioniert laut Datenblatt problemlos durch Kunststoff hindurch, eine Aussparung ist also nicht nötig.
Beispiele für ein solches Gehäuse:
📝 Kurz zusammengefasst
Mit diesem DIY-Multisensor bekommt Home Assistant einen selbstgebauten WLAN-Raumsensor auf Basis eines ESP32-S3, der mittels LD2410C echte Präsenz erkennt und zusätzlich Helligkeit, Temperatur, Luftfeuchtigkeit und Luftdruck misst. Alle Daten werden über ESPHome direkt an Home Assistant übertragen und lassen sich für intelligente Automationen wie Licht-, Heizungs- oder Lüftungssteuerungen nutzen. Je nach Ausführung – per USB-C oder dauerhaft über ein 230V-Netzteil – kostet der Sensor etwa 20-30 € pro Stück.
Wenn dir dieses DIY-Projekt gefallen hat, schau dir auch meine weiteren Smart-Home- und Home-Assistant-Projekte an. Dort findest du viele weitere Ideen zum Nachbauen.