This project aims to detect periodic movements in your environment using Wi-Fi signals. For this, I use two ESP32-S3 devices to extract Wi-Fi CSI (Channel State Information). CSI is data that represents how Wi-Fi signals change as they travel through the environment, allowing us to analyze the wireless channel in detail.
As you might guess, wireless signals don’t always travel directly from transmitter to receiver — they often prefer to bounce around. Sometimes they pass through your body, reflect off a ceiling fan, or even bounce off a construction worker’s pickaxe outside (true story). My project tries to capture a 1Hz signal from any such periodic disturbances.
The goal is not to precisely detect a 1Hz signal — it’s more about hoping something nearby just happens to have a 1-second rhythm.
- Hoping you're having a calm day and your heart is beating exactly 60 times per minute.
- Hoping your ceiling fan rotates once per second (though that’s debatable).
- Hoping the construction worker outside doesn’t take too many breaks.
I use Python to perform a basic Fourier Transform (FFT) on CSI amplitude data collected over Wi-Fi. The result is a live graph that shows rhythmic peaks and prints the detected period. Since I’m only interested in slow, periodic motion, I filter out everything below 0.5 Hz and above 2.5 Hz. If you wish, you may modify the code.

Ergun PAYAL

Ryan Kinnett
Alvaro Villoslada
Jonas
Michael Zhang