04. September 2026 · Von YasKad
francescopace/espectre

ESPectre: Bewegungserkennung per Wi-Fi (CSI) für Home Assistant, ohne Kameras oder Mikrofone

francescopace/espectre · 9.396★ · 710 forks

Espectre ist ein Bewegungserkennungssystem, das das Wi-Fi-Signal selbst nutzt (CSI-Analyse, Channel State Information) anstelle von Kameras, Mikrofonen oder PIR-Sensoren, mit nativer Integration in Home Assistant über ESPHome. Stand 3. September 2026 hat das Projekt 9.303 Sterne.


Was ESPectre ist

ESPectre ist Firmware für ESP32-Platinen, die den gewöhnlichen Wi-Fi-Verkehr zwischen dem heimischen Router und der Platine in einen Präsenzsensor verwandelt. Wenn sich jemand im Raum bewegt, werden die Wi-Fi-Wellen, die zwischen Router und ESP32 wandern, „gestört”; das Gerät misst diese Störung über Channel State Information (CSI) und entscheidet, ob Bewegung vorliegt oder nicht.

Es ist keine Desktop-Softwarebibliothek und kein Server — es ist eine in C++ geschriebene ESPHome-Komponente (auf ESP-IDF aufbauend), die nach dem Flashen auf die Platine automatisch in Home Assistant als binärer Bewegungssensor, als „Movement Score”-Sensor und mit einem einstellbaren Schwellenwert erscheint. Der Autor fasst es in drei Punkten zusammen: Es erkennt Bewegung per Wi-Fi (ohne Kameras, ohne Mikrofone), benötigt eine ~10-€-ESP32-Platine (S3 und C6 empfohlen), und die Installation dauert 10 bis 15 Minuten.

Stand 3. September 2026 dokumentiert das README Unterstützung für ESP32-S3, ESP32-C6, ESP32-C5, ESP32-C3, ESP32 (original) und, im experimentellen Status, ESP32-S2. Das Projekt steht unter GPLv3-Lizenz und versteht sich als „privacy first”, „through-wall” und „100 % open source”.

Ursprung

Das Repository wurde am 26. Oktober 2025 von Francesco Pace erstellt (GitHub-Konto francescopace), dessen öffentlicher Kontakt francesco.pace@espectre.dev lautet und dessen Profil zu seinem LinkedIn verlinkt. Das Projekt trägt von Anfang bis Ende die Handschrift des Autors: Er ist der einzige Mitwirkende mit einer signifikanten Anzahl von Commits (226 laut GitHub-API), gegenüber 14 von dependabot[bot] und einer Handvoll Mitwirkender mit je nur einem Commit.

Die erzählerische Farbe zeigt sich im Show-HN-Thread (45953977, 17. November 2025, 215 Punkte und 50 Kommentare). Pace beschreibt sich selbst als „math graduate” und argumentiert, dass das System im Standardmodus „kein Machine Learning nutzt, sondern rein auf Mathematik basiert”. Nutzer jstanley entgegnete, dass ML angewandte Mathematik sei, woraufhin Pace klarstellte, dass „kein ML” bedeute, dass es keine Trainingsphase, keine gelabelten Daten und kein neuronales Netz gibt, das die Regeln ableitet: Die gesamte Logik des MVS-Modus beruht auf statistischer Signalverarbeitung.

Im selben Thread teilte Pace eine Anekdote, die die interaktive Funktion des Projekts vorwegnimmt: Er arbeitete daran, ESPectre in ein Wi-Fi-Theremin zu verwandeln (das Musikinstrument, das durch Handbewegungen in der Nähe der Antenne gespielt wird), indem er ausnutzte, dass die „moving variance of the spatial turbulence” ein kontinuierlicher, stabiler Wert ist, der sich gut direkt auf Frequenz/Tonhöhe abbilden lässt. Er antwortete auch jemandem, der nach Überwachungsimplikationen fragte („fascinating and frightening”, laut culi), und stellte klar, dass die Open-Source-Natur als ethisches Sicherheitsnetz dient und dass das Projekt keine Funktionen zur Identitätserkennung verfolgt, sondern nur Bewegungserkennung.

Das Projekt wurde zudem in einer zweiteiligen Medium-Serie dokumentiert („How I Turned My Wi-Fi Into a Motion Sensor”, Teil 1 und Teil 2), in einem Artikel auf IoT For All, in einem Artikel auf Hackaday (28. Januar 2026, „Make Your Own ESP32-Based Person Sensor, No Special Hardware Needed”) und in einer Folge des dortigen Podcasts (Hackaday Podcast 355, 30. Januar 2026, „Person Detectors, Walkie Talkies, Open Smartphones…”).

Philosophie und Prinzipien

Das README und die ROADMAP erklären explizit eine Haltung, die privacy-first, vendor-neutral und community-friendly ist. Die in der Dokumentation nachweisbaren Prinzipien:

  • Datenschutz per Default: keine Kameras, keine Mikrofone, keine Wearables. Das README erklärt, dass das System nur „anonyme Daten” über die physikalischen Eigenschaften des Funkkanals sammelt (Amplituden und Phasen der OFDM-Subträger sowie statistische Varianzen) und keine Identitäten, Kommunikationsinhalte, Bilder oder Audio erfasst.
  • Mathematik vor Modellen (im MVS-Standardmodus): Der Autor betont, dass der Standarddetektor kein Training und keine gelabelten Daten benötigt. Es gibt zudem einen optionalen experimentellen ML-Detektor (ein MLP-Netz 9→32→16→1).
  • Bestehende Infrastruktur nutzen: Der Sensor nutzt den bereits vorhandenen 2,4-GHz-Wi-Fi-Verkehr zu Hause; der Router muss nicht verändert werden, und es ist keine Spezialhardware nötig.
  • Offen und kostenlos: GPLv3, vorkompilierte Firmware auf GitHub Releases und eine Richtlinie zur ethischen Verantwortung, die von Nutzern verlangt, ausdrückliche Zustimmung einzuholen, die DSGVO/lokale Gesetze einzuhalten und das System nicht für illegale Überwachung, Belästigung oder Datenschutzverletzungen zu verwenden.
  • Zwei-Plattform-Strategie: eine „production platform” (ESPectre in C++/ESPHome, für Endnutzer im Bereich Heimautomatisierung) und eine „R&D platform” (Micro-ESPectre in Python/MicroPython, für Forschende). Algorithmen werden zunächst in Micro-ESPectre prototypisiert und validiert und, sobald erprobt, nach ESPectre in C++ portiert.

Wie es funktioniert

Das README beschreibt eine Verarbeitungspipeline mit mehreren verketteten Stufen:

  1. CSI-Rohdaten aus dem Wi-Fi-Signal zwischen Router und Platine.
  2. Gain Lock: AGC/FFT-Stabilisierung (~3 s) für kohärente Messungen.
  3. Automatische Kalibrierung (NBVI): Bei jedem Start wählt der NBVI-Algorithmus (Normalized Band Variance Index) 12 nicht aufeinanderfolgende Subträger anhand von Stabilitäts- und spektralen Diversitätsmetriken aus, ohne manuelle Konfiguration.
  4. Adaptiver Schwellenwert: auto berechnet den Schwellenwert aus dem Grundrauschen (Formel P95 × 1,1), oder ein manuell fester Wert.
  5. Hampel-Filter: entfernt Ausreißerspitzen in der Turbulenz (standardmäßig aktiviert).
  6. Tiefpassfilter (optional, standardmäßig deaktiviert) zur Glättung.
  7. Erkennungsauswertung (MVS oder ML) alle evaluation_interval Pakete.
  8. Hit-Filter (motion_on_hits / motion_off_hits, standardmäßig 3/3): flankengetriggerte IDLE-↔-MOTION-Übergänge.
  9. Veröffentlichung in Home Assistant: binärer Bewegungssensor, sofort bei Zustandsänderung veröffentlicht, periodischer Movement-Score-Sensor und numerische Schwellenwert-Entität.

Eine detaillierte technische Visualisierung der ESPectre-Signalverarbeitungspipeline zur Wi-Fi-CSI-Bewegungserkennung, ein horizontales Flussdiagramm im dunklen Modus mit beschrifteten Stufen: Gain Lock, automatische NBVI-Kalibrierung, adaptiver Schwellenwert, Hampel-Filter, optionaler Tiefpassfilter, MVS- oder ML-Erkennung, Hit-Filter und finale Veröffentlichung in Home Assistant

MVS-Erkennung: extrahiert ein Merkmal (räumliche Turbulenz) und dessen gleitende Varianz; niedriger CPU-Verbrauch (etwa ~150 µs/Paket auf ESP32-S3) und benötigt ~10 s NBVI-Kalibrierung. ML-Erkennung: extrahiert 9 statistische Merkmale aus einem gleitenden Fenster und führt MLP-Inferenz aus (9→32→16→1, 816 MACs); Start in ~3 s ohne Bandkalibrierung, verwendet aber vortrainierte Gewichte und feste Subträger.

Im MVS-Modus besteht das README auf einer praktischen Bedingung: den Raum 10 Sekunden nach dem Start ruhig halten, weil in diesem Zeitfenster die automatische Kalibrierung läuft und jede Bewegung die Genauigkeit beeinträchtigt. Der ML-Modus überspringt diese Kalibrierung.

Ein konzeptionelles Bild, das die Philosophie "Mathematik vor Machine Learning" im standardmäßigen MVS-Detektor von ESPectre darstellt, mit einer großen leuchtenden Gleichung und statistischen Wellenform, die räumliche Turbulenz und gleitende Varianz zeigt, sanfte Neonkurven und P95-Schwellenwertmarkierungen, mit schwach angedeuteten neuronalen Netzwerkknoten im Hintergrund, die auf den optionalen experimentellen ML-Detektor hinweisen

Das Ökosystem

Plattformen und Repos des Autors selbst

  • francescopace/espectre (dieses Repo): die Produktionsplattform, eine ESPHome-Komponente in C++.
  • Micro-ESPectre (micro-espectre/, ein Ordner innerhalb desselben Repos): die R&D-Plattform in Python/MicroPython, MQTT-basiert (nicht an Home Assistant gebunden), mit CSI-Analysewerkzeugen und einer ML-Trainingspipeline. Ausgerichtet auf akademische/industrielle Forschung, Aktivitätserkennung, Personenzählung, Lokalisierung und Gestenerkennung.
  • francescopace/radio-presence-scanner (12 Sterne, 1 Fork): ein ergänzendes Präsenzprojekt basierend auf BLE-Funkbeobachtungen von Host-Geräten (Python), mit optionalem HTTP-Dashboard.
  • francescopace/micropython-esp32-csi (16 Sterne, 1 Fork): ein angepasster MicroPython-Fork, der die CSI-APIs des ESP32 offenlegt; er ist die Firmware-Basis für schnelles CSI-Prototyping im Micro-ESPectre-Workflow.
  • ESPectre – The Game (docs/game/, im Repo enthalten): ein browserbasiertes Reaktionsspiel, das ESPectres Wi-Fi-Bewegungserkennung nutzt; dient zugleich als interaktives Werkzeug zur Schwellenwert-Feinabstimmung per USB.

Eine Forschungs- und Entwicklungslaborszene für Micro-ESPectre, die Python/MicroPython-R&D-Plattform, mit einer dunklen futuristischen Werkbank, die ein Terminal mit MicroPython-Skripten, MQTT-Nachrichtenströmen, CSI-Analysediagrammen und einer Machine-Learning-Trainingspipeline zeigt, neben einer ESP32-Platine, die mit einer kompakten Antenne verbunden ist, mit holografischen Grafiken zu Aktivitätserkennung, Personenzählung, Lokalisierung und Gestenerkennung

Adoption durch Dritte und Community-Material

  • espressif/esp-csi (1.538 Sterne, 232 Forks): Das offizielle CSI-Anwendungs-Repository von Espressif empfiehlt ESPectre als „community project recommendation” und beschreibt es als Referenzimplementierung, um CSI-Forschung in reale Heimautomatisierungsszenarien zu bringen.
  • adafruit/espectre (5 Sterne): ein Adafruit-Fork mit derselben Projektbeschreibung (eine auf die Adafruit-Feather-Platine ausgerichtete Variante).
  • Adafruit Learn: eine Anleitung, „ESPectre Human Detector for Feather”.
  • Seeed Studio Wiki: „Deploying Espectre on Seeed Studio XIAO ESP32 Series with ESPHome”.
  • outputlayer/espectre-sense (2 Sterne): ein verwandtes Projekt für Präsenzerkennung, Bewegungsverfolgung, Vitalzeichen und Schlafanalyse mit 3 ESP32-Wi-Fi-CSI-Knoten.

Hinweis: Bei der Suche nach Forks des Repos ist die große Mehrheit (704 Forks) persönliche Forks ohne Sterne; nur 4 Forks haben je 1 Stern (zum Beispiel bosszlatan/espectre, omgluis/espectre). Wir fanden keine inoffiziellen Übersetzungen des Repos in andere Sprachen.

Ein Ökosystem- und Community-Adoptionsbild für ESPectre in der ESP32-, ESPHome- und Home-Assistant-Smart-Home-Welt, mit einem leuchtenden ESP32-Chip im Zentrum, verbunden durch neonfarbene Pfade mit mehreren schwebenden Knoten: dem Espressif-CSI-Repository, der ESPHome-Komponente, dem Home-Assistant-Dashboard, der Adafruit-Feather-Platine, der Seeed-Studio-XIAO-Platine, der MicroPython-CSI-Firmware und Community-Forks, mit einem Abzeichen mit der Aufschrift "community project recommendation"

Offizieller und halboffizieller Status

  • Anerkennung durch Espressif: Das offizielle Repository espressif/esp-csi verlinkt auf ESPectre und präsentiert es als empfohlenes Community-Projekt. Das README von ESPectre selbst dankt Espressif dafür, „ESPectre als Community-Projekt in ihrem esp-csi-Repository anzuerkennen”. Das ist eine Bestätigung durch den Chip-Hersteller, keine Qualitätszertifizierung.
  • „Made for ESPHome”-Konformität: Die Release-Notes von v2.1.0 (10. Dezember 2025) geben an, dass „alle Beispielkonfigurationen nun die Anforderungen für ‘Made for ESPHome’ erfüllen” (BLE-Provisioning über esp32_improv, USB-Provisioning über improv_serial, Captive Portal). Das richtet die Beispielkonfigurationen an den ESPHome-Richtlinien für provisionierbare Geräte aus.
  • Präsenz im Home-Assistant-Ökosystem: ESPectre installiert sich als externe ESPHome-Komponente und erscheint per Autoerkennung in Home Assistant; zudem gibt es einen eigenen Thread im offiziellen Home-Assistant-Forum (siehe Resonanz). In den konsultierten Quellen fanden wir keine formale Bezeichnung als „De-facto-Standard” und keinen Eintrag in einem Marktplatz für Drittanbieter-Plugins; sein Status ist der einer weit verbreiteten Community-Komponente, die vom Hardware-Hersteller zitiert wird.

Schnellstart-Anleitung

Installation und erster Start

Voraussetzungen: eine ESP32-Platine mit CSI-Unterstützung (S3/C6 empfohlen, C5/C3/Original-ESP32 ebenfalls getestet, S2 experimentell), ein USB-Kabel, ein 2,4-GHz-Wi-Fi-Router und Home Assistant (auf Raspberry Pi, PC, NAS oder in der Cloud). Kein Programmieren oder Router-Konfigurieren erforderlich.

Option A — Web-Flashen (ohne Code):

  1. Die .bin der neuesten Version von Releases für den jeweiligen Chip herunterladen (z. B. espectre-2.8.0-esp32c6.bin).
  2. ESPConnect in Chrome öffnen, die Platine per USB verbinden, den Port auswählen, die .bin wählen und auf Flash klicken.
  3. Wi-Fi über BLE (ESPHome- / Home-Assistant-Companion-App), über USB (web.esphome.io) oder über Captive Portal konfigurieren (mit dem Netzwerk „ESPectre Fallback” verbinden).
  4. Das Gerät wird in Home Assistant automatisch erkannt.

Option B — ESPHome-CLI (für Entwickler):

python3 -m venv venv && source venv/bin/activate
pip install esphome                 # ESPHome >= 2026.5.0, Python 3.12 (3.14 hat bekannte Probleme)
esphome run espectre-c6.yaml        # heruntergeladene Beispieldatei für die jeweilige Plattform

Die Beispieldateien (je Plattform) laden die Komponente bereits automatisch von GitHub. Für Entwicklung/Beiträge werden die -dev.yaml-Dateien verwendet (lokale Quelle, secrets.yaml, logger: DEBUG und Debug-Sensoren).

Beim ersten Start (MVS-Modus) den Raum 10 Sekunden ruhig halten für die NBVI-Kalibrierung; die Logs zeigen ✓ Calibration successful: [<12 auto-selected subcarriers>].

Eine Visualisierung der schnellen Installation und Erststart für ESPectre, die einen nutzerfreundlichen 10- bis 15-minütigen Einrichtungsprozess zeigt, mit einer kompakten ESP32-S3- oder ESP32-C6-Platine auf einem dunklen Schreibtisch neben einem USB-Kabel, einem Wi-Fi-Router und einem Home-Assistant-Server-Symbol, mit drei leuchtenden Einrichtungspfaden, die sich verzweigen: Web-Flashen, BLE-Provisioning und USB- oder Captive-Portal-Konfiguration

Gängige Workflows

  • Um Bewegung zu erkennen und Licht nur einzuschalten, wenn jemand anwesend ist: Der binäre Bewegungssensor erscheint per Autoerkennung in Home Assistant; man erstellt eine Automatisierung, die einen Schalter einschaltet, wenn binary_sensor auf MOTION wechselt, und ihn wieder ausschaltet, wenn er zu IDLE zurückkehrt.
  • Um die Empfindlichkeit ohne erneutes Flashen anzupassen: Im MVS-Modus wird der adaptive Schwellenwert bei jedem Start neu berechnet; die Echtzeit-Anpassung über den Home-Assistant-Regler oder „The Game” ist nur temporär (sitzungsgebunden), daher wird zum dauerhaften Festlegen segmentation_threshold im YAML geändert und esphome run <config>.yaml ausgeführt. Faustregel: Fehlalarme → auto oder höherer Schwellenwert (2,0–5,0); verpasste Bewegungen → min oder niedrigerer Schwellenwert (0,5–0,8).
  • Um den Algorithmus zu wechseln: Im YAML aktiviert espectre: detection_algorithm: ml den experimentellen neuronalen Detektor (Start in ~3 s, ohne Bandkalibrierung); mvs (Standard) verwendet gleitende Varianz.
  • Um die Erkennung live zu testen: esphome logs <config>.yaml zeigt state=MOTION / state=IDLE, während man durch den Raum geht.

Wesentliche Konfiguration

Parameter werden unter dem Abschnitt espectre: des YAML bearbeitet. Die fünf, die ein neuer Nutzer zuerst anfasst:

ParameterStandardWofür
detection_algorithmmvsWahl zwischen gleitender Varianz (mvs) und dem experimentellen neuronalen Netz (ml).
segmentation_thresholdautoEmpfindlichkeit: auto (adaptiv, minimiert Fehlalarme), min (maximale Empfindlichkeit) oder eine Zahl 0,0–10,0.
segmentation_window_size100Pakete im Fenster der gleitenden Varianz (10–200); 100 ist die empfohlene Balance.
traffic_generator_rate100Pakete/Sekunde, die der Sensor zur CSI-Messung erzeugt (0–1000); 0 deaktiviert den Generator und nutzt externen Wi-Fi-Verkehr.
motion_on_hits / motion_off_hits3 / 3Aufeinanderfolgende Treffer zum Wechsel nach MOTION / zurück zu IDLE (Entprellung).

Häufige Fallstricke und Lösungen

  • Bewegung während des Starts beeinträchtigt die Erkennung (MVS): Die NBVI-Kalibrierung läuft in den ersten ~10 s; bewegt sich jemand, leidet die Genauigkeit. Lösung: Raum beim Start ruhig halten.
  • Über den Regler eingestellter Schwellenwert bleibt nicht erhalten: Änderungen über Home Assistant oder „The Game” gelten nur für die Sitzung; der adaptive Schwellenwert wird bei jedem Start neu berechnet. Zum dauerhaften Festlegen segmentation_threshold im YAML setzen und erneut flashen.
  • Keine Logs nach dem Flashen bei Platinen mit USB-UART-Brücke (CH340, CP2102, CH343): hardware_uart: UART0 im logger:-Abschnitt des YAML einkommentieren.
  • Python 3.14 mit ESPHome: Es gibt bekannte Probleme; Python 3.12 verwenden.
  • ESP32-C5 ohne improv_serial: USB-Provisioning wird in ESPHome noch nicht unterstützt; BLE oder Wi-Fi-AP verwenden.
  • Original-ESP32 (WROOM-32) ohne Gain Lock: AGC/FFT nicht verfügbar; CSI-Amplituden können stärker schwanken als bei neueren Chips.
  • Router, die DNS-Abfragen der Root-Domain drosseln oder ignorieren: v2.8.0 hat den Standard-Verkehrsmodus genau aus diesem Grund auf ping (ICMP) umgestellt (dns bleibt verfügbar).
  • Unterscheidet nicht zwischen Menschen und Haustieren: Das Modell hat 2 Zustände (IDLE/MOTION) und erkennt generische Bewegung; es klassifiziert weder Menschen vs. Haustiere noch Aktivität (das hängt von fortgeschrittenen ML-Modellen ab, die noch nicht bereit sind).

Integrationen und Migration

  • Home Assistant / ESPHome: native Integration per Autoerkennung (binärer Bewegungssensor + Movement Score + einstellbarer Schwellenwert). Funktioniert mit in Home Assistant integriertem ESPHome oder standalone (auch über Docker / Add-on).
  • Micro-ESPectre (MQTT): Für Umgebungen ohne Home Assistant veröffentlicht die R&D-Plattform per MQTT, was flexible Integrationen ermöglicht.
  • Wi-Fi-Mesh: funktioniert normal; der ESP32 verbindet sich mit dem Mesh-Knoten mit dem besten 2,4-GHz-Signal und überwacht dessen CSI.
  • Ergänzung bestehender Geräte: Ein Forumsnutzer fragte nach der Kombination mit ESPHome-Bluetooth-Proxys; der Autor kennzeichnete dies als theoretisch und ungetestet und verwies auf die nötigen sdkconfig-Einstellungen zur Aktivierung von CSI.
  • Migration von PIR/Kameras: Da es sich um einen Bewegungssensor (nicht einen Präsenzsensor) handelt, verhält es sich im Kern wie ein PIR (erkennt aktive Bewegung; steht jemand still, wird „keine Bewegung” gemeldet). Der Autor weist darauf hin, dass Präsenzerkennung (Mikrobewegungen wie Atmung) über Micro-ESPectre auf der Roadmap steht.

Aktuelle Kennzahlen

Messung: 3. September 2026, GitHub-API.

KennzahlWert
Sterne9.303
Forks704
Abonnenten (echte Watcher)97
Offene Issues laut API6
Commits auf dem main-Branch253
Hauptsprache (API)Python
LizenzGPL-3.0 (GPLv3)
Erstellt26. Oktober 2025
Letzte Metadaten-Aktualisierung3. September 2026
Neuestes stabiles Release2.8.0, 21. Mai 2026
Neuestes Vorab-Releasesnapshot-dev, 22. August 2026

Tatsächliche Sprachzusammensetzung (Bytes): Python 996.113, C++ 448.563, HTML 124.858, Jupyter Notebook 91.280, C 23.285, Shell 7.885, CMake 302. Top-Contributor ist francescopace (226 Commits), gefolgt von dependabot[bot] (14) und kylefmohr (2); alle anderen haben je 1 Commit.

API-Vorbehalte: open_issues_count (6) kann offene Pull Requests einschließen, sollte also nicht als reiner Issue-Zähler gelesen werden. watchers_count spiegelt die Sternezahl wider (9.303), daher wird subscribers_count (97) separat als echte Watcher-Zahl angegeben. Der Wert 253 bezieht sich auf den Standard-Branch main, ermittelt durch Paginierung der Commits-API.

Community-Resonanz

Hacker News — Show HN 45953977 (17. November 2025, 215 Punkte, 50 Kommentare). Konkrete Ankerpunkte:

  • tetris11: „Amazing stuff! Am I right in understanding that only a single ESP32 device is needed (plus a router)?” — sofortiges Interesse an der minimalen Hardware.
  • roger_: hatte „zwei Jahre” mit derselben Idee mit ESP-IDF gearbeitet und bekam „the statistical signal processing” nicht richtig hin (hatte LMS, Kalman, NEWMA/MMD-Kernelmethoden, CUSUM/GLR-Detektoren, Zufallsprojektionen, Online-PCA ausprobiert). Der Austausch mit dem Autor über die Architektur (Verkehr zwischen Router und ESP32 im Station-Modus gegenüber STA/AP) ist eine der dichtesten technischen Diskussionen im Thread.
  • Gys: fragte nach tommysense.com, einem ähnlichen Projekt. francescopace antwortete, dass Tommysense ein Sensing-Mesh zwischen Geräten aufbaut, während ESPectre den vorhandenen Wi-Fi-Router als Sender nutzt; ESPectre benötigt ein Gerät pro Bereich und „is open-source”.
  • jstanley: widersprach der Behauptung „kein Machine Learning”; der Autor stellte klar, dass sich das auf fehlende Trainingsphase oder neuronales Netz im MVS-Modus bezieht.
  • culi: „The surveillance implications for this technology are fascinating and frightening.” — der Autor antwortete, dass Open Source ein ethisches Sicherheitsnetz sei und keine Identitätserkennung verfolgt werde.
  • sgc: fragte, ob man es kalibrieren könne, um Katzen zu ignorieren; der Autor stellte klar, dass es nur binäre IDLE/MOTION-Erkennung macht.
  • Der Autor teilte die Idee des Wi-Fi-Theremins, und acl fragte nach Mesh-Routern (Antwort: Der ESP32 verbindet sich mit dem Knoten mit dem besten Signal).

Weitere Hacker-News-Einreichungen: 45869402 (9. November 2025, 5 Punkte, 1 Kommentar) und 46437438 (30. Dezember 2025, 5 Punkte, 2 Kommentare, über espectre.dev).

Home-Assistant-Forum — Thread 961251 (11. Dezember 2025). Ankerpunkte:

  • Saoshen: fragte, ob die Platine dediziert sein muss und wie man sie mit bestehenden ESP32-Geräten nutzt, ohne deren ursprünglichen Zweck zu beeinträchtigen. Der Autor antwortete, dass CSI Hardware/Firmware der ESP32-Familie erfordert, und empfahl dedizierte Platinen (C6) wegen ihrer niedrigen Kosten.
  • Pfandadler: forderte mehr Ambition in Richtung Präsenzerkennung statt einfacher Bewegung, für Licht- und Heizungsautomatisierungen. Der Autor erklärte, dass ESPectre Bewegungserkennung macht (wie ein PIR: still = „keine Bewegung”) und dass Präsenz (Mikrobewegungen, Atmung) über Micro-ESPectre auf der Roadmap steht.
  • justone: unterschied, dass „presence auf bekannte Personen beschränkt ist, während movement unerwünschte Gäste einschließt”, und probierte eine Variante mit vielversprechenden Ergebnissen aus.

In der Summe: klare Begeisterung für die minimale Hardware, den Datenschutzaspekt und die native Home-Assistant-Integration, dazu eine wiederkehrende — und vom Autor ehrlich eingeräumte — Kritik, dass es sich um Bewegung, nicht Präsenz handelt, wobei fortgeschrittene Klassifikation (Menschen vs. Haustiere, Aktivität) noch nicht verfügbar ist.

Eine auf Datenschutz fokussierte Smart-Home-Sicherheitsszene für ESPectre, ein modernes Wohnzimmer im dunklen Modus, geschützt durch unsichtbare Wi-Fi-Wellenfelder statt Kameras oder Mikrofone, mit einem durchscheinenden Schild aus cyanfarbenen Funkwellen, das den Raum umgibt, während verbotene Symbole für Kameras, Mikrofone und Gesichtserkennung als schwache Silhouetten hinter dem Schild erscheinen, mit leuchtenden Schloss- und DSGVO-Symbolen nahe der Mitte

Vergleich mit ähnlichen Projekten

Nur echte, verifizierbare Konkurrenten (zitiert aus der eigenen ROADMAP des Projekts und dem HN-Thread):

ProjektVerifizierbare ÜberschneidungVerifizierbarer Unterschied
Tommysense (tommysense.com)Wi-Fi-Präsenzerkennung, im Show HN als ähnlich erwähnt.Baut ein Sensing-Mesh zwischen Geräten auf; ESPectre nutzt den vorhandenen Router als Sender und ist Open Source (laut Antwort des Autors im Thread).
Origin WirelessWi-Fi-Präsenzerkennung (in der ROADMAP zitiert).Proprietär und cloud-abhängig; ESPectre versteht sich als Open Source, edge-first und abonnementfrei.
Cognitive SystemsWi-Fi-Sensing (in der ROADMAP zitiert).Nur Enterprise und hochpreisig; ESPectre zielt auf ~5 € Hardware und DIY ab.
Tommysense / BLE-Mesh (über Bermuda BLE / ESPHome-Bluetooth-Proxy)Im HN-Thread erwähnte ein Nutzer Bermuda-BLE-Trilateration und ESPHome-Proxys.BLE-/Mesh-Ansatz gegenüber Router-Wi-Fi-CSI.

Die ROADMAP des Projekts behauptet, ESPectre sei „einzigartig positioniert als die einzige produktionsreife Open-Source-WiFi-Sensing-Plattform mit nativer Heimautomatisierungs-Integration”. Diese Aussage stammt vom Projekt selbst und stellt keine unabhängige Verifikation dar.

Wie man beiträgt

Das Repo dokumentiert einen vollständigen Prozess in CONTRIBUTING.md:

  • Branch-Modell: develop ist der aktive Entwicklungsbranch (alle PRs zielen auf develop); main ist der stabile Release-Branch (mergt von develop).
  • Ablauf: forken → klonen → Branch von develop erstellen (git checkout -b feature/...) → Änderungen mit Tests und Dokumentation → Tests ausführen → Commit mit klaren Nachrichten (Typen feat/fix/docs/test/refactor/perf/chore) → push → PR nach develop.
  • DCO verpflichtend: Die CI erzwingt das Developer Certificate of Origin; jeder Commit braucht einen Signed-off-by-Trailer (git commit -s).
  • Tests: C++ über cd test && pio test (ESPHome/PlatformIO Unity); Python über cd micro-espectre && pytest tests/ -v (mit --cov für Abdeckung). Erklärte Kriterien: >80 % Abdeckung in den Kernmodulen, grüne CI, Dokumentation und eine Review-Genehmigung.
  • Datenbeiträge: gelabelte CSI-Datensätze für ML (Gesten und HAR) werden unter micro-espectre/data/<label>/ akzeptiert, mit Qualitätsanforderungen (≥10 Proben pro Label, ≥30 s je Probe, ein ruhiger Raum für die Baseline) und Setup-Dokumentation.
  • Lizenz: Beiträge werden unter GPLv3 veröffentlicht und müssen mit dem DCO-Trailer zertifiziert werden.

Eine interaktive und verspielte Visualisierung von ESPectres experimentellem Wi-Fi-Theremin- und browserbasiertem Reaktionsspiel-Konzept, mit einer menschlichen Hand, die sich einer ESP32-Antenne nähert, ohne sie zu berühren, und Wellen in einem Feld neonfarbener Wi-Fi-Wellen erzeugt, die Bewegung auf musikalische Frequenzlinien und farbwechselnde Schallwellen abgebildet, mit einem Browserfenster, das ein Reaktionsspiel zeigt, bei dem der Spieler die Hand bewegt, um Neonimpulse auszulösen

Anwendungsfälle und wem dieses Repository helfen kann

  • Home-Assistant-Enthusiasten, die Präsenz ohne Kameras wollen: Die Komponente integriert sich per Autoerkennung und ermöglicht Licht-, Heizungs- und Sicherheitsautomatisierungen mit einem binären Bewegungssensor zu ~10 € pro Platine. Das ist der zentrale, am besten dokumentierte Anwendungsfall.
  • Altenpflege / Wohlbefindensüberwachung: Das README zitiert dies zur Überwachung von Aktivität und zur Erkennung längerer Inaktivität oder von Stürzen (die Sturzerkennung selbst hängt von fortgeschrittenen HAR-ML-Modellen ab, die noch nicht bereit sind). Geeignet für alle, die Datenschutz gegenüber Kameras in Schlafzimmern oder Bädern priorisieren.
  • Heimsicherheit: Alarmierung, falls jemand eintritt, während das Haus leer ist; der HN-Thread und das Forum betonen „unerwünschte” Bewegung gegenüber der Präsenz bekannter Personen.
  • Energieeinsparung und Klimasteuerung: Ein-/Ausschalten oder Klimatisieren nur belegter Zonen, gemäß den Beispielen im README.
  • CSI-/HAR-/Lokalisierungsforschende und -entwickler: Micro-ESPectre (Python, MQTT) liefert die Pipeline für schnelles Prototyping, Analysewerkzeuge und die ML-Trainingspipeline, um Personenzählung, Aktivitätserkennung, Lokalisierung und Gesten zu erforschen, mit der Option, validierte Ergebnisse in die Produktions-Firmware zu portieren.
  • Bildung und Öffentlichkeitsarbeit: „The Game” (browserbasiertes Reaktionsspiel) und die Adafruit-/Seeed-Anleitungen machen es nützlich für Workshops und Demonstrationen von Wi-Fi-Sensing ohne Spezialhardware.

Eine detaillierte technische Nahaufnahme-Visualisierung des experimentellen ML-Detektors von ESPectre, ein optionales MLP-Neuronalnetz mit Architektur 9 zu 32 zu 16 zu 1, das über einer ESP32-Platine schwebt, mit neun Eingabe-Feature-Knoten, die statistische CSI-Messungen aus einem gleitenden Fenster darstellen, die Schichten als durchscheinende Neon-Kugeln gerendert mit MAC-Operationszählern, die "816 MACs" anzeigen, vortrainierte Gewichte, die als verschlüsselte Datenpakete einfließen, im Kontrast zum standardmäßigen mathematischen MVS-Detektor

Ressourcen


Methodischer Hinweis: Dieser Artikel stützt sich auf das README, die Anleitungen (SETUP/TUNING/PERFORMANCE/ROADMAP/CONTRIBUTING) und Release-Notes von ESPectre, die GitHub-API, Hacker-News-Ergebnisse und das am 3. September 2026 konsultierte Home-Assistant-Forum. Zahlen (Sterne, Forks, Commits, Leistungskennzahlen) ändern sich mit der Zeit.

Kommentare