Exploring the Invisible World with the ESP32
Jeija's ESP32 antenna array allows us to visualize the hidden world of Wi-Fi signals, and it can even be used to support indoor navigation.
There is a whole world out there that we will never experience. Just because our eyes are tuned to the so-called visible light spectrum does not mean that there is nothing to see aside from Roy G Biv. But with some tricks, we can (sort of) view radiation outside of the visible spectrum. One of the easiest ways to do this involves simply pointing an infrared light (like an older remote control) at a phone’s camera. Because these cameras’ infrared filters generally have a cut-off outside of the visible spectrum, we can see a visible representation of the infrared radiation.
YouTuber Jeija has created a much more sophisticated setup that allows us to view something a lot more interesting — Wi-Fi signals. Using this setup, Jeija demonstrated what the emissions of a device communicating via Wi-Fi look like. It was also shown that one can see the signals reflecting off of metal like a mirror, or even through a wall. And aside from making cool visualizations, the system can also be used for some practical things, like tracking robots in motion.
The system is composed of an ESP32 antenna array, which is specially designed to process and visualize Wi-Fi signals. To function properly, the microcontrollers must be able to measure very small differences in the arrival time of signals. This requires precision synchronization of multiple ESP32 chips to maintain phase coherence. Achieving this requires a 40 MHz frequency reference that is shared among all the ESP32 devices. While this ensures that the local oscillators in each ESP32 are frequency-synchronized, it is not enough to maintain phase coherence across the system.
To solve this problem, an additional ESP32 was introduced to generate phase reference packets. These packets travel along microstrip lines on the back of the circuit board, with lengths that are precisely known. By measuring the phase of these reference packets at each receiver, the system can compensate for phase uncertainty through software calibration. This calibration process needs to be performed only once after each ESP32 boots up or when the Wi-Fi channel is changed.
Once synchronized, the ESP32 antenna array can analyze incoming Wi-Fi signals using Channel State Information. Each ESP32 receives a phase and amplitude measurement for every subcarrier within the Wi-Fi bandwidth. By applying a Fourier transform to this data, the system obtains a channel impulse response. This response provides a detailed view of how the signal propagates through the environment, revealing reflections and obstacles in real time.
With this data, the system applies array processing algorithms to determine the angle of arrival of Wi-Fi signals. This enables the creation of Wi-Fi "images" that show how signals interact with their surroundings. By using multiple antenna arrays, the system can even be used for indoor navigation by triangulating signal sources based on angle of arrival from different viewpoints.
With this project, Jeija has opened a new window into the unseen world of Wi-Fi signals, allowing us to explore radio waves with inexpensive technology from the comfort of our own homes. Whether for scientific research or simply out of curiosity, this ESP32-based system offers an exciting glimpse into the invisible networks that surround us every day.