Wie RuView aus WLAN-Signalen Präsenzerkennung, Atemfrequenz und Sturzdetektion macht — ohne Kamera, ohne Cloud, für 9 Dollar Hardware.
Jeder WLAN-Router füllt den Raum mit Radiowellen. Wenn Menschen sich bewegen, atmen oder auch nur still sitzen, stören sie diese Wellen auf messbare Weise. RuView macht aus dieser Physik ein Sensing-System: ein ESP32-S3-Chip für rund 9 Dollar erfasst diese Störungen, ein kleines Modell auf dem Chip wertet sie aus — und das Ergebnis sind Präsenzerkennung, Atemfrequenz, Herzrate und Sturzdetektion, ohne eine einzige Kamerazeile.
Das Projekt hat seit seinem Erscheinen im Juni 2025 61k GitHub-Stars und 8k Forks gesammelt. Die Zahlen sind ungewöhnlich hoch für ein Edge-Hardware-Projekt – vermutlich weil RuView einen echten Nerv trifft: Es löst ein konkretes Problem (Raumüberwachung ohne Kamera) mit günstiger Hardware und offenem Code.
GitHub: ruvnet/RuView — ~61k ⭐, ~8k Forks
Wie WiFi-Sensing funktioniert
WLAN sendet nicht einfach Datenpakete — es misst dabei laufend, wie gut das Signal beim Empfänger ankommt. Diese Messungen heißen Channel State Information (CSI) und enthalten Amplitude und Phase für jeden Subträger des WLAN-Kanals. Zusammen ergibt das ein detailliertes Bild davon, was sich zwischen Sender und Empfänger verändert hat.
Wenn jemand ein Zimmer betritt, verändert sich das Multipath-Reflexionsmuster der Funkwellen. Wenn jemand atmet, bewegt sich der Brustkorb in einem Rhythmus von 0,1 bis 0,5 Hz und moduliert das Phasensignal. Ein Herzschlag erzeugt subtilere Schwingungen zwischen 0,8 und 2,0 Hz. RuView filtert diese Frequenzbänder aus dem CSI-Datenstrom, wertet sie mit einem kleinen neuronalen Netz aus — und braucht dafür keine Kamera, kein Wearable, keine App auf dem Telefon der beobachteten Person.
Das Modell ist öffentlich auf Hugging Face verfügbar: ruvnet/wifi-densepose-pretrained, 12,2 Millionen Trainingsschritte auf 60.000 Frames, 4-bit quantisiert auf 8 KB. Auf einem Raspberry Pi läuft es in Mikrosekunden.
Was heute funktioniert
Das README ist ungewöhnlich ehrlich darin, was geht und was noch nicht. Für Präsenzerkennung wird 100% Accuracy auf dem Validierungsset angegeben — die Phase-Varianz-Methode als Fallback braucht nicht einmal das Modell. Atemfrequenz (6–30 BPM) und Herzrate (40–120 BPM) funktionieren in Echtzeit. Sturzdetektion antwortet in unter 200 ms über einen Phasenbeschleunigungs-Schwellwert mit Entprelllogik. Personenzählung funktioniert selbstkalibrierend.
Das sind solide, einsatzreife Fähigkeiten — Felder, in denen kommerzielle Systeme mehrere hundert Euro kosten und proprietäre Cloud-Anbindung erfordern.
Was noch in Entwicklung ist: Die 17-Keypoint-Poseerkennung (Skelett-Tracking ohne Kamera) wird im README explizit als unvollständig markiert. Die kamerafreie Variante erreicht derzeit PCK@20 ≈ 2,5% mit Proxy-Labels — zu ungenau für praktischen Einsatz. Die kameraüberwachte Feinabstimmung zielt auf 35%+ PCK@20, die Pipeline ist implementiert, aber die Datenphasen P7–P9 stehen noch aus. Das ist kein versteckter Vorbehalt, sondern steht prominent im README — ein ungewöhnlich transparenter Umgang mit dem aktuellen Stand.
Hardware und Setup
Die Mindestanforderung: ein ESP32-S3 für rund 9 Dollar. Das Chip unterstützt CSI-Streaming, der ESP32-C3 und der originale ESP32 (beide Single-Core) nicht — wichtig für die Kaufentscheidung.
Ein einzelner ESP32-S3 hat begrenzte räumliche Auflösung. Für bessere Ergebnisse empfiehlt das Projekt 2 oder mehr Nodes oder ein Cognitum Seed – ein kleines Appliance für rund 140 Dollar Gesamtkosten, das persistenten Vektorspeicher, kNN-Suche und kryptografische Attestierung per Ed25519-Witness-Chain hinzufügt. Die Nachbarn-Router im Umfeld werden automatisch als kostenfreie Radar-Illuminatoren mitgenutzt: Multi-Frequency-Mesh scannt über 6 WiFi-Kanäle parallel.
Zum Ausprobieren ohne Hardware gibt es ein Docker-Image mit simulierten Daten:
docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
Für echtes CSI-Sensing mit dem ESP32-S3:
python -m esptool --chip esp32s3 --port COM9 --baud 460800 \
write_flash 0x0 bootloader.bin 0x8000 partition-table.bin \
0xf000 ota_data_initial.bin 0x20000 esp32-csi-node.bin
python firmware/esp32-csi-node/provision.py --port COM9 \
--ssid "YourWiFi" --password "secret" --target-ip 192.168.1.20
105 Edge-Module (Cogs)
Das interessanteste Konzept von RuView ist die Erweiterbarkeit durch sogenannte Cogs — kleine, signierte Binärdateien (~400 KB), die direkt auf dem Cognitum-Appliance laufen und über das Sensing-Signal informiert werden. 105 Module sind verfügbar, gruppiert in 11 Kategorien.
Einige Beispiele, die die Bandbreite zeigen:
Gesundheit: sleep-apnea erkennt Atemaussetzer im Schlaf (4 KB), cardiac-arrhythmia erkennt unregelmäßige Herzrhythmen (8 KB), dream-stage klassifiziert Schlafphasen (14 KB), gait-analysis bewertet das Gangbild auf Sturzrisiko (12 KB).
Sicherheit: behavioral-profiler lernt normales Verhalten und flaggt Abweichungen, intrusion schlägt Alarm bei unberechtigtem Raumzutritt, tailgating erkennt, wenn jemand hinter einem Berechtigten einschleicht.
Gebäude: meeting-room zeigt Belegung ohne Kamera, hvac-presence steuert Klimaanlage nach tatsächlicher Anwesenheit, occupancy-zones zählt Personen pro Raum durch Wände hindurch.
KI/Edge: cognitive-pipeline kombiniert FastGRNN-Anomalieerkennung mit SmolLM2-Sprachmodell-Inferenz für kognitive Events direkt auf einem Pi Zero 2W, federated-learning trainiert Modelle über mehrere Geräte ohne Rohdaten zu teilen, rag-local macht lokale Dokumentensuche per KI auf dem Seed möglich.
Jedes Modul wird gegen eine Ed25519-Signatur verifiziert, bevor es installiert wird. Updates kommen over-the-air über eine Registry-API.
Der Datenschutz-Aspekt
RuView macht explizit keine Kamera-Aufnahmen, speichert keine Bilder, sendet keine Rohdaten in die Cloud. Das Sensing geschieht vollständig lokal auf dem Edge-Gerät — kein Internet erforderlich. Wer den Cognitum Seed nutzt, bekommt kryptografische Attestierung jeder Messung per Witness-Chain. Wer lokale KI-Modelle und Datenschutz konsequent zusammendenken will, findet dort eine breitere Einordnung des Ansatzes.
Das unterscheidet den Ansatz grundlegend von kamerabasierten Systemen: Es gibt keine Bilder, die gespeichert, geleakt oder missbraucht werden können. Was entsteht, sind abstrakte Messwerte – Atemfrequenz, Herzrate, Anwesenheit ja/nein – keine personenidentifizierbaren visuellen Daten.
Gleichzeitig ist das keine vollständige Entwarnung. Ein System, das zuverlässig erkennt, ob jemand in einem Raum ist, wie er atmet und ob er schläft, hat ein eigenes Missbrauchspotenzial — auch ohne Kamera. Das Projekt thematisiert das nicht explizit, aber es ist eine Frage, die jeder Betreiber für seine Anwendung beantworten muss.
Einordnung
RuView ist kein fertiges Produkt — es ist ein ambitioniertes Open-Source-Projekt mit klar kommunizierten Lücken und einem bemerkenswert breiten Scope. Was heute stabil funktioniert (Präsenz, Atemfrequenz, Herzrate, Sturzdetektion) ist bereits praktisch einsetzbar. Die 17-Keypoint-Poseerkennung ohne Kamera ist noch nicht praxistauglich — das README sagt das direkt.
Was das Projekt interessant macht, ist weniger der aktuelle Stand als der Ansatz: WiFi-Hardware, die sowieso überall vorhanden ist, wird zur Sensor-Infrastruktur. Kein separates Gerät, kein Kamerainstallation, keine Datenschutzfragen rund um Videoaufzeichnung. Das 9-Dollar-ESP32-Setup mit offenem Code und lokalem Betrieb ist eine Kombination, die bisher so nicht existiert hat. Wer Smart Home ohne Internet lokal betreiben will, findet dort verwandte Ansätze für vollständig offline-fähige Hausautomatisierung.
Der Rust-Code, 1.463 Tests, Multi-Arch-Docker-Images und die klar strukturierte ADR-Dokumentation (Architecture Decision Records, 101+ Dokumente) zeigen, dass hier ernsthaft entwickelt wird. Ob das Projekt die ambitionierten Ziele bei der Poseerkennung erreicht, bleibt abzuwarten — aber die Richtung ist deutlich.