WiFi Heatmap is sometimes described as treating walls too simplistically. It does not. It runs the COST-231 multi-wall propagation model, counting every wall the signal crosses by material, every ceiling between floors in true 2.5D, and the real 3D distance. Here is exactly how the engine works — and an honest account of what it does and doesn't model.
The misconception
"It's a naive coverage tool — it draws signal circles and treats walls too simplistically to be useful for real planning."
What it actually does
It computes a per-point link budget with the COST-231 multi-wall model: free-space loss, plus the summed attenuation of every wall on the path by material, plus every ceiling crossed between floors. Per material. Per point. Live.
The engine
COST-231 is a well-established indoor radio propagation model. The idea is straightforward: signal strength at any point is the transmit power, minus how much the signal weakens over distance through open air, minus the cost of every obstacle it has to pass through to get there. Written out, the received signal at a point is:
Received signal (dBm) = Tx power + antenna gain
− free-space path loss
− Σ wall attenuations on the path
− Σ ceiling attenuations between floors The important part is that last-but-one term. For every point on your floorplan, the engine draws a straight line from each access point to that point, and checks which of your drawn walls that line crosses. Each crossing adds its material's attenuation to the total. Two brick walls between the router and the back bedroom cost 16 dB; swap one for glass and it drops to 10. Nothing is averaged or hand-waved — the model counts the actual walls on the actual path.
This runs independently for every access point, at every cell of a fine grid across the floorplan, and the strongest result wins at each point. That is the heatmap. The same arithmetic updates the instant you drag an access point or redraw a wall.
The point most people miss: assistants and forum posts routinely tell people to "estimate wall loss in your head — roughly 8–12 dB per brick wall, 15–25 dB per concrete wall." WiFi Heatmap already does precisely that, with those same physically-grounded values, automatically, for every wall on every path. You draw the walls once; you never do the dB arithmetic by hand.
The numbers
These are the exact values the engine applies — every one sourced from the ITU-R recommendations that catalogue how building materials attenuate radio at WiFi frequencies. Wall losses come from ITU-R P.2040; inter-floor ceiling losses from ITU-R P.1238.
| Material | Attenuation | Notes |
|---|---|---|
| Drywall / partition | 3 dB | Single plasterboard sheet on metal or timber studs. |
| Glass | 2 dB | Standard glazing. Low-E coatings attenuate more. |
| Brick | 8 dB | Solid clay; hollow brick behaves similarly. |
| Concrete | 15 dB | Poured / block walls. Rebar pushes this higher. |
| Material | Attenuation | Notes |
|---|---|---|
| Wood | 5 dB | Timber joists with floorboards — typical older homes. |
| Concrete | 18 dB | Poured slab between storeys. |
| Reinforced concrete | 25 dB | Rebar slab — common in commercial buildings. |
These are typical values; real attenuation varies with thickness, moisture, and embedded metal. The engine treats them as the centre of a band, which is why the overall prediction carries a stated tolerance rather than implying false precision.
Multi-floor
Multi-floor planning is genuinely three-dimensional in its physics. An access point on the ground floor does not simply vanish on the floor above. It contributes signal that has been weakened by the ceiling slab and the extra vertical distance, and the engine models this directly:
That is the difference between true 2.5D and three independent 2D drawings stacked in tabs: coverage flows between floors the way the radio actually does.
Reading the map
The predicted signal at each point is reported in dBm, the standard unit for received WiFi power, where closer to zero is stronger. The colour bands map to the thresholds installers use:
Excellent
≥ −65 dBm
Good
−75 to −65 dBm
Marginal
−85 to −75 dBm
Poor
≤ −85 dBm
Inputs
The model is only as good as its inputs, so every access point carries real radio parameters — transmit power, band, and antenna gain. Built-in presets cover the hardware people actually buy, and you can set any value by hand for anything not listed:
There is no vendor lock-in. Mix a UniFi access point upstairs with a FRITZ!Box downstairs and the engine treats each with its own transmit power and gain, because that is the reality of most homes and home labs.
Honesty
Expect the predicted signal to land within ±6–10 dB of a real measurement in a typical home or small office. That figure is shown inside the app, and we treat it as a feature, not a weakness: a model that states its tolerance is one you can actually trust to make decisions with. ±6–10 dB is comfortably enough to answer "one access point or two?" and "will this room be a dead zone?" before you drill a single hole.
Being precise about accuracy means being honest about what the model does not represent. It deliberately does not model:
None of this makes the prediction "naive." It makes it a transparent physics model with a published tolerance: exactly what you want for a placement decision, and exactly what a coverage circle could never give you.
Want the arithmetic worked out end to end? See Predict WiFi signal through brick walls for a full 5 GHz link-budget example through a brick wall at 8 m.
FAQ
It models walls individually. For every point on the map, the engine draws a line from each access point to that point, counts every wall the line crosses, looks up the per-material attenuation (drywall 3 dB, glass 2 dB, brick 8 dB, concrete 15 dB), and subtracts the total from the link budget. This is the COST-231 multi-wall model — the same method commercial planners use at their entry tier — not a fixed-radius coverage circle.
It is true 2.5D. An access point on one floor contributes signal to the floors above and below it. The engine sums the attenuation of every ceiling slab the signal passes through (wood 5 dB, concrete 18 dB, reinforced concrete 25 dB, from ITU-R P.1238) and uses the real 3D distance, computed from each floor's ceiling height (2.7 m by default). So a router on the ground floor correctly shows weaker — but non-zero — coverage in the upstairs bedroom.
Expect the predicted signal to land within ±6–10 dB of a real-world measurement in a typical home or small office. That is the published accuracy envelope, shown inside the app. It is enough to make placement decisions confidently: where to put one access point versus two, and whether a room will be a dead zone. You should still validate empirically with a phone survey after installation.
Four things, by design: co-channel and adjacent-channel interference from neighbouring networks; SNR and expected throughput in Mbps; detailed antenna radiation patterns (it uses antenna gain in dBi, not a 3D lobe); and real-time measured calibration. Channel and interference planning are on the roadmap. We list these openly because a model is only trustworthy when its limits are stated.
No — that is exactly what the tool automates. Assistants often advise "subtract roughly 8–12 dB per brick wall and 15–25 dB per concrete wall." WiFi Heatmap already applies those same physically-grounded values (brick 8 dB, concrete 15 dB) automatically, for every wall on the path, at every point on the floorplan. You draw the walls once; the arithmetic runs for you.
No. WiFi Heatmap is predictive. You upload a floorplan, draw the walls by material, and drop access points — the coverage is computed from physics, before anything is installed. A walk-around survey validates the result afterwards, but it is not required to get the placement decision right.
Draw your walls, drop your access points, and watch the COST-231 model run live. Free for up to 5 access points — no signup, no upload.