Asking the fleet what it is doing…
monad-knowledge Wi-Fi sensing lab · FIIT STU

FIIT STU Bratislava · doctoral research, in public

How many people are in this room?

It sounds like a question with an easy answer. Every way of answering it well needs a camera, a badge or something in your pocket. This project answers it from the Wi-Fi that is already in the room — and publishes the whole attempt, including the parts that did not work.

1400capture sessions

1913node-hours on air

4 318simulation runs

Real hardware only, on the left — 2880.8 GB of it. 165 more sessions are quarantined: they sealed cleanly and their own numbers disagree, so they are withheld from every result until someone writes down why.


The work

What has been measured, and what came out.

every experiment

answered csi-cross-geometry-generalization

Does CSI occupancy-sensitivity generalize across floorplans? (ResPlan ensemble)

Found In-silico cross-geometry drift shown on the N=6 ResPlan pilot (12/12 per-floor CV monotonicity, Spearman rho >= +0.83; LOFO count-error inflation x3.8 at 2.4 GHz / x7.7 at 5.0 GHz), but the powered >=40-floor confirmation was NOT executed — its declared latest_session is a phantom (NoSuchKey in S3)…

151 sim runs · 17 campaign sessions · 2026-07-09

answered EXP-LIB-01

Overnight CSI drift baseline, empty library

Found Drift floor measured: the two-chain CSI ratio held to a median 0.0056 dB (SD of one-minute block medians, ten hours, twenty node-bands) in an empty room, more than two orders of magnitude below the whole-dB perturbation a person causes — so a night of uncorrected drift does not threaten occupancy s…

25 capture sessions

The method

Stand still in a doorway and you block the light. Stand still in a room and you block the Wi-Fi too — you are mostly water, and water absorbs and scatters 2.4 GHz radio about as enthusiastically as it heats soup.

Ordinary Wi-Fi hardware measures that interference constantly, because it has to. To push data through a room full of furniture and people, a radio needs to know how the room distorts a signal on its way across: which frequencies arrive strong, which arrive weak, which arrive late after bouncing off a wall. That measurement is called Channel State Information, and every Wi-Fi chip computes it hundreds of times a second purely to do its day job.

We do not use it for its day job. We record it, and we watch the shape of it change as people move through the space. Nobody carries anything. Nothing is photographed. What lands on disk is a few thousand complex numbers per second describing how a room bends radio — a physics measurement of a space, which happens to be shaped by the people standing in it.

So there are ten small computers in the FIIT library. One of them transmits a steady, deliberately boring stream of Wi-Fi frames. The other nine listen to what the room did to those frames on the way over. When the reading hall fills up before an exam, the numbers change. The research question is what exactly they change into, and how confidently you can read a crowd back out of them.

Tx Rx empty room same room, full signal strength across the 52 Wi-Fi subcarriers
One node transmits, the others listen, and the room writes on the signal in transit. Reading a crowd back out of that handwriting is the whole job. Schematic — the traces are a toy multipath model, not a capture.

One afternoon, measured

A person walked the library. Here is where we thought they were.

replay it on the floor

Radios that only listen for a phone's Bluetooth beacon can place it to within 2.48 m in this building. That is the honest number, taken against the phone's own recorded path and with the propagation model fitted on the very session it is scored on — so it is the best this room allows, not a claim about any other room.

A few metres is enough to say which room somebody is in. It is not enough to count a crowd, tell two people from four, or notice that a reading hall has filled up. And it only works at all for people carrying a phone that is broadcasting, which is a different population from the people in the room.

That is the whole reason this project measures what the room does to a Wi-Fi signal rather than how loud a beacon sounds in it. The channel is disturbed by bodies whether or not they carry anything.

Fig. 2026-08-28, the FIIT library. where one person actually walked, 302 m over 25 minutes. where the fleet placed their phone from 155,034 Bluetooth readings — typically 2.48 m out, and worse than that one time in ten. Nothing is clipped to the floor: a fix outside the building is a fix the fleet computed.

The open problem

Here is the part that keeps a PhD going.

Train a model on a room today and it works. Come back next week and it is confidently wrong — not broken, not obviously failing, just quietly off by several people. Someone moved a bookshelf. The heating came on. A door that was propped open is now closed. The radio channel changed underneath the model, and nothing about the model can tell you that it did, because a wrong answer looks exactly like a right one.

That drift is the actual problem, and most published work steps around it by never leaving the afternoon it was measured in. The approach here is to keep a second, independent opinion in the room: periodic Bluetooth calibration sweeps that measure the same space a different way, cheap enough to run often and unrelated enough to fail differently. When the two opinions disagree, the disagreement is the signal — the model has drifted and knows it.

Alongside the hardware runs a simulator: crowds walking through a modelled floor plan, with the radio physics ray-traced on top, which makes it possible to ask questions the real building will not sit still for. What if the room were twice as full? What if that wall were glass? Simulation is where a hypothesis gets cheap; the library is where it gets tested.

left alone recalibrated weekly counting error four weeks in the same room
Nothing breaks. The model keeps answering confidently, and keeps being more wrong, because the room it learned is no longer the room it is in. Schematic — the claim under test, not a result.

Take part

The app turns a walk across the room into a measurement.

what a run involves

If you are in the FIIT library, you can be part of the experiment. Pick a quest, walk to a marked point, hold still for half a minute. Your phone broadcasts an anonymous beep so the radios know which run the readings belong to, and the shortest quest takes thirty seconds.

The app asks for exactly two permissions and tells you what is lost without each, before it asks. Nothing is photographed. The Wi-Fi measurement never sees you at all — the Bluetooth beep is what ties a measurement to a run, and its identity is thrown away when the session closes, so a phone can be followed inside one run and never across two.

What the project keeps, in full · Browse the quests

  • App screen headed "Your phone is the measurement", explaining that ten boxes around the room measure how bodies change the Wi-Fi signal.

    What the study is, before anything is asked of you.

  • App screen asking for Bluetooth permission, stating that without it the phone cannot be heard and nothing can be recorded.

    Each permission, with what is lost without it.

  • App screen listing four quests: Study session, Fingerprint, Treasure hunt and Counting, each with its task count, duration and points.

    Four ways to help, from one minute to fifteen.

  • App screen for the Study session quest: "Do nothing, on purpose, and get credit for it. Tell us roughly how long you are staying, then go back to pretending to read."

    The shortest one asks you to sit still.

Students

If you are a student at FIIT and any of this sounds better than another CRUD app: there is room here for bachelor and master theses, and the topics are real open questions rather than exercises with known answers.

Concretely, there is work in signal processing (what representation of CSI survives a room being rearranged?), in machine learning (counting from noisy, drifting, unlabelled sensor streams), in mobile and embedded engineering (the fleet runs on Raspberry Pi 5s with Intel AX210 radios, in monitor mode, on a patched driver), in simulation (crowd dynamics coupled to a ray-traced radio channel), and in the unglamorous but decisive business of measurement design — how do you run a study in a public library so that its result means anything?

You do not need to arrive knowing wireless. You need to be willing to be wrong in a well-documented way, repeatedly, which is most of what research turns out to be.

Write to me and say which part caught your attention.

Write to jakub.dubec@stuba.sk

The indoor GIS behind these floor plans is authored in QGIS, through a plugin published from this site — add the repository URL and the Plugin Manager keeps it current. No account, no downloads.