Samuel Reynolds, who publishes on GitHub as SAMS0N1TE, has released LakeShark. The open-source firmware turns LilyGO's ESP32-P4-based T-Display P4 into a handheld radio scanner and is licensed under GPL-3.0. With an RTL-SDR Blog V3 or V4 dongle plugged into the board's USB-A port, LakeShark decodes P25 Phase I voice, analog FM and AM, POCSAG pager traffic and 1090 MHz ADS-B aircraft positions. The latest release is v2.15 (tag v2.15.0).
What the firmware does
On the SX1262 version of the board, the main receiver functions rely on the external RTL-SDR. According to the repository, LakeShark covers:
- P25 Phase I trunking and digital voice (Phase II is experimental)
- Analog FM/AM, with band scanning
- POCSAG, APRS, AIS and SAME/EAS alerts
- ADS-B tracking on offline PMTiles maps with aircraft trails
- MeshCore messaging and node discovery over the board's onboard LoRa radio
- Sub-GHz capture, analysis and replay in Flipper .sub format. OOK/FSK replay is experimental.
- NFC (MIFARE Classic 4K reads) and WiGLE CSV wardriving
- DETECTOR alerts for drones broadcasting Remote ID
CNX Software also describes a tilt-compensated true-north compass with a FIND mode for finding the direction of a transmitter. It also lists a Markdown field journal that is saved to the SD card and logs live GPS, heading and radio data. RTL-SDR.com adds a spectrum display and waterfall, mixed P25/FM scan lists and GPS track recording with GPX export. It also describes passive sub-GHz pulse recording that exports to Flipper .sub files.
The decoders build on existing open-source work. RTL-SDR.com reports that LakeShark is built on xtrsdr, OP25 and other open-source projects. ADS-B Scope served as a reference for part of the aircraft position decoding.
What changed in v2.15
The v2.15 release adds DETECTOR aircraft alerts, an LTE cell monitor, one-tap antenna selection and steadier screens. The built-in UPDATE app installs signed firmware updates over Wi-Fi with one tap. Devices on version 2.8 or earlier need one USB update first.
The project has moved quickly. RTL-SDR.com covered version 2.2.0. At that point, manually tuned P25 Phase II, HackRF support, GPS-based scan filtering and the CELL WATCH app were experimental. The developer's planned work included live-RF validation, automatic call following for Phase II and more work on portable power. CNX Software's October 1, 2026 article covered v2.5.0, which was released September 27, 2026. That version added offline map improvements, a Night theme, spoken callouts and RAM optimizations so MeshCore can keep receiving while ADS-B is running.
Hardware it runs on
The main target is the LILYGO T-Display P4 with a 4.1-inch 568 × 1232 RM69A10 AMOLED and 16 MB of flash. An optional build is available for the HI8561 TFT (540 × 1168) version. CNX Software lists the rest of the board's relevant hardware:
- An ESP32-P4 main processor
- An onboard SX1262 for LoRa and MeshCore
- An L76K GPS receiver
- An ESP32-C6 for Wi-Fi and Bluetooth
- A USB-A port for the RTL-SDR
The firmware also supports a T-Display P4 variant with an LR2021 radio in place of the SX1262. On that variant, the repository says the board can receive P25, FM, ADS-B, pagers and MeshCore without an RTL-SDR.
Several other boards are supported:
- Waveshare ESP32-P4-NANO, as a headless receiver
- Waveshare ESP32-P4-WIFI6, as a headless receiver
- Waveshare Touch-LCD-4.3 (480 × 800), which remains supported for existing hardware while development focuses on the T-Display P4
A headless receiver can be run from a serial console or from a Flipper Zero. The Flipper provides the display and controls, connects over Bluetooth or GPIO, and LakeShark handles the radio. As RTL-SDR.com puts it, this lets the radio and antenna stay in a bag while you tune from the Flipper. LilyGO's optional MIX-RF keyboard adds physical controls along with CC1101, nRF24 and NFC. HackRF One support is experimental: pager decoding is verified, but live P25 is not yet confirmed.
Limits the developer spells out
The repository is clear about what some features cannot do. The LoRa bearing plots are "Not a validated direction-finding system." The repository describes CELL WATCH as a "Cellular band survey" that compares activity against a saved baseline. CNX Software states that it "is not an IMSI-catcher detector." RTL-SDR.com quotes the developer as saying the app is "meant for spotting changes worth investigating," not for identifying malicious cell sites or IMSI catchers. The README also carries a general warning: "Radio reception and transmission are subject to local laws and regulations."
What It Means for Makers
LakeShark suits scanner and SDR hobbyists who already own an RTL-SDR Blog V3 or V4. CNX Software notes that the setup works without a PC, Raspberry Pi or smartphone. If you want the main target, buy the AMOLED, 16 MB T-Display P4. The Waveshare boards are mainly headless receivers. Power the P4 through its own USB-C port. The repository warns: "Do not feed the keyboard's 5V USB output back into the P4." CNX says a battery setup for the P4 and RTL-SDR is still in development.
As of October 1, 2026, CNX Software estimated these costs:
- About $145 for the T-Display P4 with the AMOLED display
- About $74 for the MIX-RF keyboard
- $30 to $40 for a genuine RTL-SDR Blog V3 or V4
These are CNX's estimates, not maker list prices.
The firmware can be installed from Chrome or Edge with the TerminalBay web flasher. To build from source, the repository specifies ESP-IDF 5.5.4 with six small patches. CNX's article cites ESP-IDF 5.4.3. Source code and release notes are in the SAMS0N1TE/LakeShark repository.