How to Detect Human Presence Using WiFi Signals

February 20, 2026 ⏱️ 10 min read Smart Home
WiFi presence detection — monitoring home without cameras

Imagine knowing whether someone is home — or whether an elderly parent has gotten out of bed — without placing a single camera in your house. No video feeds, no cloud subscriptions, no worrying about footage being hacked or leaked. This is exactly what WiFi presence detection makes possible.

By analyzing subtle fluctuations in the WiFi signals already bouncing around your home, modern software can reliably determine whether a room is occupied, whether the person inside is moving or resting, and in advanced setups, even estimate body posture — all with zero cameras and complete local privacy.

🔒 Why WiFi beats cameras for privacy:
  • No video data is ever captured or stored
  • Works entirely offline — your router never phones home
  • No footage that can be subpoenaed, hacked, or leaked
  • Family members and guests aren't unknowingly filmed
  • Still effective in the dark, behind furniture, or through walls

In this guide, we'll explain how WiFi presence detection actually works, what you can realistically detect with consumer hardware, how to set it up on a Mac, and where the technology shines (and where it falls short).

How WiFi Presence Detection Works

Your WiFi router constantly broadcasts radio signals at 2.4 GHz or 5 GHz. These signals reflect off walls, furniture — and the human body. When a person moves through a room, their body absorbs and scatters some of those radio waves, causing tiny, measurable changes in the signal strength received by nearby devices.

The metric most commonly used for this is RSSI (Received Signal Strength Indicator) — a value measured in dBm that every WiFi chip reports. When no one is present, RSSI stays relatively stable. When a person enters the room and moves around, RSSI fluctuates in characteristic patterns. Even breathing and a heartbeat can create micro-fluctuations detectable by sensitive hardware.

Two main approaches

The good news for most Mac users: RSSI-based sensing works right now with the built-in Apple WiFi chip, using free, open-source tools. CSI-based sensing is more powerful but requires additional hardware, covered in the Limitations section below.

📡 Key insight: Human bodies are ~60% water, making them excellent absorbers and reflectors of 2.4 GHz radio energy. This physical property is what makes WiFi-based presence detection possible without any dedicated sensor hardware.

What You Can Detect With WiFi

The capabilities depend heavily on your approach (RSSI vs CSI) and the quality of your signal environment. Here's a realistic breakdown:

🙋

Presence / Absence

Is anyone in the room? Works reliably with RSSI on most setups. Accuracy 90%+.

🚶

Motion vs. Stillness

Is the person moving or sitting still? RSSI variance patterns reveal this clearly.

🛏️

Sleep Monitoring

Detect whether someone is in bed and breathing normally. Possible with CSI hardware.

🫀

Breathing / Heart Rate

Micro-motion detection via CSI. Useful for elderly care. Requires specialized NIC.

🧍

Pose Estimation

Projects like wifi-densepose can estimate body keypoints. Needs CSI + ML model.

⚠️

Fall Detection

Sudden drop in motion signature can trigger an alert. Life-saving for senior living.

For a typical smart home use case — turning lights off when no one is home, adjusting the thermostat, or getting notified when someone enters — RSSI-based presence detection is entirely sufficient and requires no additional hardware.

Setting Up WiFi Sensing on macOS

macOS exposes WiFi RSSI data through its CoreWLAN framework and the airport command-line utility. Here's how to build a basic presence detector using Python on any modern Mac.

Prerequisites

  1. Install dependencies

    Open Terminal and install the required Python libraries.

# Install dependencies pip3 install numpy scipy pyobjc-framework-CoreWLAN # Verify airport utility is available /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
  1. Poll RSSI continuously

    Create a file called wifi_sense.py and paste the code below.

import subprocess, time, json, collections, statistics AIRPORT = "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport" WINDOW = 30 # seconds of history to keep THRESH = 4.0 # dBm std-dev threshold for "motion detected" history = collections.deque(maxlen=WINDOW) def get_rssi(): result = subprocess.run([AIRPORT, "-I"], capture_output=True, text=True) for line in result.stdout.splitlines(): if "agrCtlRSSI" in line: return int(line.split(":")[1].strip()) return None while True: rssi = get_rssi() if rssi: history.append(rssi) if len(history) >= 10: std = statistics.stdev(history) status = "🟢 Motion detected" if std > THRESH else "⚪ Room appears empty" print(f"RSSI: {rssi} dBm | StdDev: {std:.2f} | {status}") time.sleep(1)
  1. Run and calibrate

    Start the script and observe the output. Walk around the room, then sit still, then leave entirely. Adjust THRESH up or down until the motion / no-motion boundary feels accurate for your environment.

python3 wifi_sense.py # Example output: RSSI: -62 dBm | StdDev: 1.12 | ⚪ Room appears empty RSSI: -65 dBm | StdDev: 5.87 | 🟢 Motion detected RSSI: -61 dBm | StdDev: 6.34 | 🟢 Motion detected RSSI: -63 dBm | StdDev: 0.94 | ⚪ Room appears empty
  1. Trigger automations

    Once your script reliably reports presence vs. absence, connect it to Home Assistant via an MQTT broker, or use a shell script to toggle macOS Shortcuts, control HomeKit scenes, or send a push notification. The detection logic itself is the hard part — integration is straightforward.

💡 Pro tip — placement matters: For best results, position your Mac (or a dedicated Mac mini) centrally in the space you want to monitor. Walls between the device and the WiFi router reduce sensitivity. Open floor plans work best.

Real-World Applications

WiFi presence detection is no longer a research curiosity — it's a practical tool with real impact across several domains.

👴

Elderly Care & Safety

Monitor whether an elderly parent got out of bed on time, detect unusual inactivity, or trigger a fall alert — all without installing cameras in private spaces like bathrooms or bedrooms.

🌡️

HVAC Automation

Smart thermostats waste energy heating empty rooms. WiFi sensing provides real occupancy data to turn heating or AC on only when someone is actually present, cutting energy bills by 20–30%.

🔐

Security & Intrusion Detection

Detect unexpected presence when no one should be home. Unlike PIR motion sensors, WiFi sensing works through walls and covers a whole floor from a single device.

💡

Smart Lighting

Go beyond basic motion sensors. WiFi presence detection can tell the difference between someone sitting quietly reading and an empty room — keeping lights on when they should be on.

🏢

Office Space Optimization

Understand real desk and meeting room utilization without camera surveillance. Helps facility managers right-size office space and reduce real-estate costs.

🐾

Pet Monitoring

Know when your cat or dog is active vs. resting. Some setups can even detect unusual behavior patterns that might indicate a health issue.

Limitations — Being Honest

WiFi presence detection is powerful, but it's not magic. Here are the real-world limitations you should understand before investing time in a setup.

📡

RSSI alone can't do pose estimation

Detecting whether a room is occupied? Easy. Estimating body keypoints like shoulders, elbows, and knees (DensePose-style)? That requires CSI data from a compatible network card, plus a trained deep learning model (e.g., WiPose, P2-Net). RSSI-only setups are limited to coarse presence and motion classification.

🏗️

Environment-specific calibration required

Every home is different. Metal furniture, thick concrete walls, and interference from neighbors' networks all affect accuracy. You'll need to experiment with threshold values for your specific environment. What works in an open studio apartment may need tuning in a Victorian terrace house.

🐱

Pets cause false positives

A dog or large cat moving around a room will trigger motion detection just like a human. Distinguishing between a person and a pet requires additional signal processing or secondary sensors (e.g., floor pressure sensors, Bluetooth tags on pets).

🖥️

CSI requires specialized hardware

Getting full CSI data on macOS is not currently supported via public APIs. For research-grade sensing (breathing, heartbeat, pose estimation), you need a Linux machine with an Intel 5300 or Atheros AR9580 NIC, or dedicated commercial hardware like Cognitive Systems Aura or Everactive sensors. The macOS RSSI approach described above is great for occupancy — not for medical-grade monitoring.

📶

Multiple people are hard to count

RSSI-based sensing can tell you "someone is here" reliably. Counting exactly how many people are in the room is significantly harder, even with CSI, because signals from multiple bodies overlap and interfere with each other.

⚠️ Legal note: Before deploying any presence detection system in a shared space (rental property, office, or home with roommates), check your local privacy laws. In many jurisdictions, monitoring shared spaces — even without cameras — requires the knowledge and consent of all occupants.

The Camera-Free Future of Home Monitoring

WiFi presence detection represents a genuinely exciting shift in how we think about smart home automation and safety monitoring. The technology is mature enough today for practical deployments — especially for the core use cases of occupancy detection, energy management, and elderly safety.

The key insight is this: you don't need to compromise your privacy to have a smart, aware home. The radio signals already filling your space contain enough information to make meaningful decisions about lighting, heating, security, and care — without a single pixel of video ever being captured.

As hardware becomes more accessible and open-source tools like wifi-densepose mature, the line between "research prototype" and "works on my Mac" is disappearing fast. Whether you're a developer tinkering on a weekend project or someone looking for a privacy-respecting way to keep an eye on an aging parent, this is the right time to explore what WiFi sensing can do for you.

🛠️ More Free Tools While You're Here

ToolBox offers 50+ free online tools — no account required, no watermarks, no limits. Try our most popular tools below.

JSON Formatter Image Compressor PDF Compressor Browse All Tools →
Buy Me a Coffee at ko-fi.com