RF Field Observer & Heatmap: Visualizing Invisible Radio Environments
by sanjula nipun in Circuits > Wireless
89 Views, 3 Favorites, 0 Comments
RF Field Observer & Heatmap: Visualizing Invisible Radio Environments
Making the Invisible Visible!
Today Iβve brought you a very valuable lesson along with a fun and interesting project ππ§.
We all use Wi-Fi a lot in our day-to-day lives, right? π‘ But have you ever thought about how Wi-Fi signals behave around us π€β
Even though Wi-Fi and GSM signals from our phones are all around us πΆπ±, we can never actually see them with our eyes π.
Supplies
ESP32
WS2812 Matrix PCB ( 4x4 or 8x8)
Breadboard
Jumper Wires
Doubleside Tape
Soldering Iron
Soldering Wires
Power Bank
RF Field Observer - Hacker Mode!
First, letβs look at how to build an RF Field Observer. ππΆ To make things a bit more exciting, I decided to design this with a hacker themed style. π’π₯οΈ
At the moment, I donβt have a GSM module, so I displayed some fake data for demonstration purposes. π
However, if you use this project for school or educational activities, it can still be very useful. I included this feature with that in mind. π
I believe that if you slightly modify and improve this design, you can turn it into a really nice and creative project. πβ¨
Hardware Assemble
First, I started with a WS2812 LED matrix. π‘ I soldered three small circuit wires to it if you prefer, you can also use three jumper wires. π§
To make the LEDs look clearer and more visible, I placed and neatly fixed a thin white paper sheet on top of the matrix. π€β¨ Next, I mounted the matrix onto the breadboard using doubleβsided tape so it stays firmly in place. π§²
Then, I inserted the ESP32 into the breadboard and connected all the wires properly. Iβve included the wiring diagram for reference. ππ
Since this ESP32 prototype is meant to be carried around, itβs important to make sure all the connections are secure and wonβt come loose. πΆββοΈβ‘
While moving around, I powered the prototype using a power bank. π If you prefer, you can also use a battery to power this setup.
Software Configurations
Once all the hardware connections are done correctly, we can upload the required code to the ESP32. πβ‘οΈπ₯οΈ
Iβve shared the RF Field Observer code below, so anyone who needs it can download and use it. π₯π
In the code, donβt forget to enter your Wi-Fi network name and password on lines 8 and 9. πΆπ
Also, if youβre using a larger WS2812 LED matrix than mine, such as an 8Γ8 matrix, donβt forget to update line 13 in the code accordingly. π’π§©π
After setting everything up correctly, you can upload the code to the ESP32. ππ₯οΈ
Once the code is uploaded, you also need to upload the ESP32 sketch data. πβοΈ
Iβve shared the step by step process using photos to make it easy to follow. πΈβ‘οΈ
Once both the code and sketch data are uploaded, you can open the Serial Monitor to check whether the ESP32 has successfully connected to your Wi-Fi. πΆπ
If itβs connected, youβll be able to see the ESP32βs IP address displayed there. ππ₯οΈ
Next, open a web browser such as Google Chrome π and enter that IP address in the address bar, then open it. πβ‘οΈ
Now you can see the Hacker Mode RF Field Observer interface running beautifully. ππ’π»
Final Interface - Invisible to Visible!
On this interface, you can first see a large Wi-Fi Heatmap and a GSM Heatmap. πΆπΊοΈ
I designed this heatmap so you can visually understand how your Wi-Fi signal behaves around you. π
The heatmap fills up block by block, continuously scanning the Wi-Fi signals around you. π²β‘οΈ
It takes a few minutes for the entire heatmap to fill, and once itβs complete, you can clearly see how Wi-Fi signals behave depending on your location. π
Sometimes, you may even notice clear and interesting patterns forming on the heatmap. π
While the scan is running, try walking around with the ESP32, πΆββοΈπ‘ youβll see the heatmap change in real time as the signal strength increases or decreases.
Iβve also added a REAL TIME SIGNAL STRENGTH panel on the side. This lets you quickly monitor signal changes instantly without waiting for the full heatmap to update. π
Iβm hoping that someone will complete the GSM part of this project as well. π€π±
Unfortunately, I wasnβt able to finish that section at the moment.
Overall, this is a super cool and powerful tool. π₯π οΈ
You can build this project and impress your friends at school or university. πππ
WS2812 LED Matrix
While the heatmap is filling up, youβll also be able to see the LED matrix working beautifully in sync with it. This allows you to visually experience the signal activity not only on the screen but also through the LED display. ππ‘π‘
Manual Mapping Mode
So, earlier we built the Hacker Mode π’π».
That mode doesnβt require any manual control it simply displays how your Wi-Fi signal behaves. πΆπ
Now, in this step, weβre going to map the Wi-Fi signal and generate a heatmap. πΊοΈ
So, what can we use this for? π€
- You can use it to find weak Wi-Fi signal areas in a large hall or building. π’π
- Or imagine using it to discover the strongest Wi-Fi spot in your school. π
If you take this project one step further, you can even improve it for indoor mapping applications. π πΊοΈ All of this really depends on your creativity. π
Just like before, in the code for this mode, donβt forget to enter the Wi-Fi network name and password for the network you want to map ππΆ
Make sure to update lines 8 and 9 accordingly. πβοΈ
After that, you can configure the details of your LED matrix here. π§©π‘
After setting everything up, upload the code first, and then upload the sketch data, just like before. β¬οΈ
Once thatβs done, check the IP address in the Serial Monitor. π₯οΈ
Then, open a web browser π and enter that IP address. πβ‘οΈ
Now youβll be able to see the WiβFi mapping interface working properly. πΊοΈ
Wi-Fi Signal Heatmap Visualizer
Now you can see a more advanced interface compared to the previous one. ππ»
At the top, youβll be able to view your current Wi-Fi signal strength, πΆ followed by the signal quality. π then the mapping points being collected, πΊοΈπ and finally, you can also see your network name. (SSID) ππ‘
Below that, youβll find the LED Matrix control interface. ποΈπ‘
From here, you can adjust the brightness of your matrix and use the dropdown menu to change the display mode easily.
There are four display modes available π
- Signal Strength Bar πΆ
- Mini Heatmap πΊοΈ
- Rainbow Animation π
- Signal Pulse π
Iβve explained how each mode works separately in the sections below.
Auto Mapping
In Auto Mapping mode, the ESP32 maps the received signal every second. β±οΈπΆ
Once you start auto mapping, you should walk from one corner to the other of the hall or room you want to map. πΆββοΈπ
As you move, youβll be able to see the heatmap updating accurately based on your position. πΊοΈβ¨ It takes a few minutes to complete the full mapping process. β³π₯
Manual Mode Mapping
By default, the system is set to Manual Click Mode. π±οΈ In this mode, you can click on the heatmap to add and display mapping data points. ππΊοΈ
Manual mode allows you to map only specific areas, making it easy to identify where the signal is strong and where it is weak. πΆπ
On the heatmap, the signal levels are shown using colors:
- π’ Green β Excellent (-30 to -50 dBm)
- π‘ Yellow β Good (-50 to -60 dBm)
- π Orange β Fair (-60 to -70 dBm)
- π΄ Red β Poor (-70 to -90 dBm)
By looking at the colors on your map, you can easily understand the signal behavior and overall quality.
This is an example of a hall that I mapped. πΊοΈ
Around the edges, the signal is quite weak, while the Wi-Fi router was placed in the center. πΆπ
Thatβs why the signal strength is much better in the middle of the map.
I believe this will be a very useful tool for you π‘π οΈ. If you have any questions, feel free to ask in the comments below... π¬π