WiFi signals are everywhere around us.
But most people only think of WiFi as internet connectivity.
What many don’t realize is that WiFi signals can also be used for experimental human sensing — including motion detection, presence estimation, breathing monitoring, and activity analysis.
Recently, I started building an experimental Flutter application called:
SenseWave: WiFi Motion Detector
The app explores how RSSI (Received Signal Strength Indicator) fluctuations can be analyzed in real time to estimate environmental changes caused by human movement.
This project combines:
- Flutter
- Android native WiFi scanning
- RSSI signal analysis
- Realtime visualization
- Signal processing
- Motion analytics
without using:
- Camera
- Microphone
- Bluetooth
- External sensors
What Is RSSI?
RSSI stands for:
Received Signal Strength Indicator
Every WiFi packet received by your device has a signal strength value.
Example:
-45 dBm → Strong signal
-72 dBm → Weak signal
When humans move inside a room, they affect:
- signal reflections
- attenuation
- multipath propagation
- interference patterns
These small fluctuations can be analyzed to estimate motion and environmental activity.
What My App Can Detect
The app is experimental, but currently focuses on:
1. Presence Detection
Estimate whether someone is inside a room by analyzing RSSI variance and signal instability.
Use cases:
- smart home occupancy
- room activity monitoring
- automation triggers
2. Motion Detection
Human movement causes rapid RSSI fluctuations.
The app analyzes:
- variance
- signal spikes
- temporal instability
to estimate:
- movement intensity
- room activity level
- motion events
3. Approximate Position Heatmap
Using RSSI changes from nearby access points, the app can generate an approximate activity heatmap.
Important:
This is NOT precise indoor positioning.
It is an experimental approximation based on signal disturbance.
4. Breathing Detection (Experimental)
Breathing creates micro signal fluctuations.
Using:
- FFT analysis
- low-pass filtering
- periodicity detection
the app attempts to estimate breathing rate under controlled conditions.
Best results:
- single person
- short distance
- minimal interference
5. Sleep Monitoring
The app can also analyze:
- breathing stability
- nighttime motion
- movement interruptions
to create experimental sleep activity analytics.
6. Walking Pattern Recognition
Walking generates periodic RSSI peaks.
By analyzing:
- frequency patterns
- step periodicity
- motion rhythm
the app estimates:
- walking activity
- movement intensity
- approximate step frequency
Signal Processing
RSSI data is noisy.
To improve stability, I use:
- moving average filters
- FFT
- Kalman filtering
- variance analysis
- peak detection
These help extract meaningful patterns from unstable WiFi signals.
Why This Technology Is Interesting
WiFi sensing could eventually enable:
- smarter homes
- contactless monitoring
- occupancy automation
- low-cost environmental sensing
without requiring cameras or wearable devices.
The combination of:
- RF sensing
- mobile apps
- realtime signal processing
- machine learning
opens many exciting possibilities.
Final Thoughts
Building SenseWave has been one of the most interesting Flutter projects I’ve worked on.
It combines:
- mobile engineering
- RF sensing
- signal processing
- realtime visualization
- experimental AI concepts
all inside a Flutter application.
WiFi signals contain much more information than most people realize.
And we are only beginning to explore what’s possible.
Follow My Project
App:
SenseWave: WiFi Motion Detector

Exploring realtime RSSI-based human sensing using Flutter and Android.
Top comments (0)