SignalBloom (A Wi-Fi Visualizer)
Wi-Fi signals are all around us, but they are invisible to the human eye.
The idea of this project is to visualize Wi-Fi signal strength using LEDs. By detecting Wi-Fi packets and measuring signal strength (RSSI), the ESP32 converts invisible radio signals into a visible light pattern.
A decorative tulip lamp is used so that the final output looks both functional and aesthetic, making it suitable for competitions and exhibitions.
Supplies
A Tulip Lamp
A ESP32 Dev Kit
Lamp Selection and Enclosure Design
A tulip-shaped decorative lamp was selected as the outer body of the project because it provides good light diffusion and enough internal space to hide the electronics. The wooden base of the lamp was carefully drilled to accommodate the ESP32 and internal wiring, allowing all components to remain concealed while maintaining a clean external appearance.
LED Modification and Wiring
The lamp originally contained SMD 1206 LEDs connected in series, which did not allow individual control.
To enable visualization:
- The original LED connections were separated
- Each LED was rewired individually
- LEDs were connected to different GPIO pins of the ESP32
This modification allows independent control of each LED.
Hardware Assembly
The ESP32, LEDs, and wiring were assembled inside the wooden base of the lamp. Proper insulation was applied to exposed connections, and the wiring was arranged neatly to prevent short circuits. This step ensured the system was both reliable and compact.
Wi-Fi Sniffing and Channel Hopping
In this project, the MAC address of the target Wi-Fi router is already known and directly defined in the program. The ESP32 is configured to operate in Wi-Fi promiscuous (sniffing) mode, allowing it to listen to Wi-Fi packets without connecting to any network. Only packets originating from the predefined router MAC address are processed, while all other packets are ignored.
The ESP32 continuously scans Wi-Fi channels from 1 to 13. As the router may transmit packets on different channels, this channel hopping ensures that packets from the target router are detected reliably. During scanning, RSSI values are collected from all channels.
RSSI-Based LED Control Logic
From the RSSI values detected across channels 1 to 13, the ESP32 continuously updates and tracks the most recent RSSI value associated with the target router. This value represents the effective signal strength at the current location and is used for visualization.
The detected RSSI value is converted into a corresponding number of LEDs using predefined signal strength ranges. Strong Wi-Fi signals cause more LEDs to glow, while weaker signals result in fewer illuminated LEDs. This creates an intuitive visual representation of signal strength.
To prevent the same LEDs from glowing repeatedly, the program randomly selects which LEDs turn ON during each update cycle. Even when the RSSI level remains constant, different LEDs are chosen each time, creating a dynamic and visually engaging effect while still accurately representing signal strength.
Conclusion
The completed tulip lamp dynamically responds to nearby Wi-Fi signal strength. As the signal changes, the number and pattern of illuminated LEDs change in real time, making invisible wireless activity visible. This project demonstrates an effective combination of embedded systems, wireless communication, and creative design, making it suitable for DIY competitions, academic exhibitions, and educational demonstrations.