Can Wi-Fi count people in a room?
I found an open-source project claiming it can detect human presence and movement from changes in Wi-Fi signals — without cameras.
I'm testing how much of that actually works.
An independent experiment with RuView, the open-source project by ruvnet ↗. I haven't personally verified its sensing claims.

Wi-Fi changes when people move through it.
People alter the radio channel around them. RuView explores using Channel State Information — CSI — to turn those changes into spatial sensing.
The project claims presence detection, person counting, movement and entry/exit tracking, activity sensing, contactless vital signs and camera-free pose estimation.
Those are capabilities to investigate, not my results. The interesting question is how much survives contact with a real room.
A camera needs to see you.
Wi-Fi doesn't.
If the sensing is reliable enough, that changes where occupancy data could come from. Camera-free sensing still raises privacy questions.
Start with the boring question.
I'm not starting with skeletal pose. First: is the room empty? Then: how many people are in it?
- 0 people
- 1 person
- 2 people
- 3 people
- Entering
- Leaving
- Moving
- Sitting still
These are planned, controlled scenarios. I'll compare what the system predicts with what is actually happening.
The Wi-Fi card in my laptop isn't enough.
For the sensing I want to test, RuView's documentation distinguishes coarse RSSI-based presence and motion on ordinary laptops from advanced sensing using CSI-capable hardware.
Its hardware guidance includes ESP32-S3 nodes for live CSI capture. That's the low-cost route I'm exploring; the exact setup is still being decided.
- Wi-Fi signal
- CSI sensor
- RuView
- Occupancy estimate
- My test dashboard
Running a demo isn't the same as sensing a room. The documented Docker evaluation can use simulated data, and the project describes its CSI-only pose model as first-cut.
A demo isn't enough.
I want to know whether the sensing is correct, not whether the visualisation looks convincing. Each test will record actual and detected people, confidence where available, movement state, response time and notes.
Planned measurements include exact count and presence accuracy, false positives, false negatives, count error, and response time when someone enters or leaves. No measurements yet.
If it says three people,
I want to know there were three people.
The interesting result might be where it fails.
Buildings already have a reason to know whether spaces are occupied.
I've spent years working on software for commercial buildings. Room utilisation, bookings versus actual use, cleaning, after-hours presence and energy decisions are the kinds of problems that made this interesting to me.
A booking tells you who planned to use a room. A sensor might tell you whether anyone actually did.
These are possible applications, not implemented features. This is my independent experiment, with no commercial deployment or involvement from Amica or International Towers. Even aggregate occupancy data needs care around privacy and consent.
Could this become another signal during an emergency?
Much further out: could validated sensing give trained responders an additional indication that a supposedly cleared area may still contain someone?
Perhaps: possible human presence.
Never: proof an area is clear.
This experiment is not a life-safety system, and I would never use an unvalidated sensing prototype to declare an area safe.
A reliable indication of possible presence might eventually add information. A lack of detection must not be interpreted as proof that nobody is there.
Presence is easy to claim. Reliability is the product question.
- Empty / occupied
- People count
- Enter / leave
- Stationary people
- Rough location
- Pose
The goal isn't to prove RuView right. It's to discover: what can Wi-Fi sensing actually tell me reliably enough to build something around?
I don't know if this works yet.
That's why it's in Experiments. I've found the technology. I'm starting the hardware setup. Next comes the controlled test.
If it works, I'll keep pushing it. If it doesn't, the failures may be more interesting than a polished demo.
Next test / Empty room → one person
- Test 01Empty vs occupiedStatus / Not run
- Test 02People countStatus / Not run
- Test 03Enter / leaveStatus / Not run
- Test 04Stationary peopleStatus / Not run