LakeShark: The Handheld ESP32-P4 SDR Scanner for P25, ADS-B, MeshCore and Sub-GHz

TL;DR: LakeShark by SAMS0N1TE turns the LILYGO T-Display P4 into an open source handheld SDR scanner with no PC required. On the LR2021 variant the onboard LoRa chip itself does software defined reception, P25 Phase I voice, FM, ADS-B aircraft, pagers and MeshCore messaging with no external SDR. The SX1262 variant adds an RTL-SDR for the same RF apps. Around that core sit Sub-GHz capture and Flipper .sub replay, offline maps with aircraft trails and APRS, GPS with GPX tracks, a compass fox hunting mode, drone Remote ID detection, NFC reads, WiFi war driving with WiGLE export, and a Flipper Zero control head mode, all installed from a browser flasher with one tap WiFi updates. Free under GPL-3.0 with 220 stars and 279 commits, currently at v2.15.

The photo above is the whole concept in one bench shot. A LakeShark handheld paints a live waterfall and spectrum around 154.7 MHz while the Flipper Zero beside it sits on a P25 channel at 154.78500 MHz. One device finds the signal, the other works it, and in the newest builds the Flipper can even become LakeShark’s display and controls over Bluetooth. For scanner listeners, P25 monitors, foxhunters and MeshCore operators, that’s a field kit that fits in a jacket pocket.

LakeShark handheld SDR scanner showing live waterfall next to a Flipper Zero on P25 channel 154.78500 MHz

What Is LakeShark?

LakeShark is an open source handheld SDR scanner firmware for the LILYGO T-Display P4 and other ESP32-P4 boards that receives P25 digital voice, FM and AM, ADS-B aircraft, pagers, LoRa and MeshCore traffic and Sub-GHz signals with no PC attached.

The tagline from the repo says it directly: handheld T-Display P4 and ESP32-P4 SDR scanners with RTL-SDR or LR2021 SDR, P25 Phase 1, FM and AM, ADS-B and POCSAG, plus onboard LoRa and MeshCore, GPS and Flipper .sub capture. Installation runs from a browser flasher, docs and show live on Terminal Bay, releases ship on GitHub, and the roadmap plus feature requests stay public.

Three facts define the product:

  1. The LoRa chip is the SDR. On LR2021 boards LakeShark drives the onboard chip’s raw signal path for software reception and decoding. No dongle, no extra hardware, no USB host stack in the way.
  2. Everything runs on the handheld. Decoding, waterfalls, maps, GPS tracks, message stores and the console all live on the device. Normal operation never needs a computer.
  3. It plays well with the tools you own. RTL-SDR Blog V3 and V4 dongles add external reception, HackRF One is coming up experimentally, Flipper Zero becomes a wireless control head, and MIX-RF keyboards add CC1101, nRF24 and NFC hardware.

The LR2021 Trick: A LoRa Chip Doing SDR Duty

Conventional LoRa chips move packets. The LR2021 also exposes enough of its raw receive path that LakeShark can treat it as a small software defined radio: raw I/Q capture, live waterfalls, software demodulation of P25, FM, ADS-B and POCSAG, and even experimental I/Q transmission of short waveforms with amplitude and phase preserved, including P25 test tones.

The companion project lr2021-sdr documents the P25 pipeline, voice capture and signal capture work separately. Practical notes from the repo: OOK replay at 433 MHz is verified over the air while FSK replay isn’t yet, LR2021 I/Q recording and replay works, and custom short waveform TX remains research grade. This is genuine SDR experimentation on a chip that was never sold as one, which is exactly why the project is worth watching.

Choose Your Hardware

LakeShark runs on both T-Display P4 radio variants, and the choice decides what works with no dongle:

Hardware Capabilities
T-Display P4 plus LR2021 Onboard P25 voice, FM, ADS-B, pagers, MeshCore and LoRa tools with no external SDR
T-Display P4 plus SX1262 MeshCore, LoRa and POCSAG onboard. Add an RTL-SDR for FM, P25 and ADS-B
RTL-SDR Blog V3 or V4 External SDR reception, P25 Phase I trunking and Sub-GHz captures
MIX-RF keyboard Optional physical controls plus CC1101 energy monitoring, nRF24 scans and NFC detection
Waveshare ESP32-P4 Nano Headless operation over serial console or Flipper, for portable nodes and remote installs
Flipper Zero Wireless control head over Bluetooth or GPIO via the LakeShark-Flipper app

Board notes that save headaches: the default target is the 568 by 1232 AMOLED with 16 MB flash, the HI8561 TFT needs its board defaults file, LINK mode needs ESP-Hosted firmware on the ESP32-C6 because factory ESP-AT is unsupported, and T-Display P4 Flipper control runs over Bluetooth. The original 480 by 800 Waveshare LCD-4.3 build still exists for old hardware, but development focuses on the P4.

LakeShark HOME launcher grid on T-Display P4 showing P25, FM, ADS-B, FALLS, MESH, LoRa Labs, Sub-GHz and Drones apps

The HOME launcher: P25 trunking, FM analogue, ADS-B aircraft, FALLS spectrum, CELL WATCH survey, MESH MeshCore, LORA LABS, EXPERIMENTS, SUB-GHZ watch plus replay, FILES, MUSIC, MIX-RF and DRONES Remote ID detection.

The Application Tour

Radio and signal decoding

App What it does
P25 Phase I trunking and conventional digital voice, auto or manual demodulation, channel lists, DMR activity view and call archive. Phase II is experimental.
FM Analog FM and AM, band scanning, mixed P25 and FM channel lists, POCSAG, CTCSS and DCS, APRS, AIS and SAME EAS alerts
ADS-B 1090 MHz aircraft tracking with traffic history, offline mini map, remembered home and spoken aircraft notifications
FALLS Live P25, FM and LoRa waterfalls with touch to tune markers
CELL WATCH Cellular band survey, new in v2.15

Mesh and LoRa

App What it does
MESH MeshCore messaging, node discovery, notifications, spoken messages, route inspection and node telemetry
LORA LABS Direct radio controls, packet visualization, signal history and compass bearings

Sub-GHz and RF tools

App What it does
SUB-GHZ Read, analyzer, saved captures, raw recording, learning and settings. OOK and FSK replay experimental.
REC Signal capture with .sub export, playback, inline power display and animated waveforms, plus LR2021 I/Q record and replay
MIX-RF Keyboard CC1101 energy monitoring, nRF24 activity scans and NFC detection
NFC MIFARE Classic 4K reads with block maps, key entry, hex and ASCII views and saved dumps
DETECTOR Background alerts for Remote ID drones and SWEEP categories, built in rules or your own SD card rules file
EXPERIMENTS LR2021 trials including RS41 weather sondes and LR433 sensors with history and saved readouts

Mapping and navigation

App What it does
MAP Offline maps with aircraft trails, Mesh nodes, ships, APRS, GPX routes, layers, markers and eight palettes. Touch to add and move markers, draw routes, share markers over MeshCore.
COMPASS Tilt compensated heading with true north, transmitter finding, channel scanning, dual radio monitoring, hit logs and RADAR plus HEAT views for fox hunting
GPS Position, navigation and GPX track recording
NOTES SD card Markdown notes with checklists plus live GPS, heading and radio data

Media and system

MUSIC plays SD card audio with VFD meters and spectral views, FILES browses the SD card with .sub previews and direct playback, UPDATE applies signed firmware over WiFi in one tap, SET handles display themes fonts sounds speech and daylight mode, RADIOS controls power antenna selection and radio startup, LINK scans WiFi and Bluetooth with signal graphs and WiGLE CSV war driving export, DIAG reports memory radios sensors and logs, and TERMINAL gives an on device console with keyboard input.

Capture, Replay and Aircraft Tracking Without a PC

The scanning workflow deserves its own look because it’s the core loop: capture a signal, inspect the transmission, replay the recording, and track what moves.

LakeShark RECORD app signal replay screen with playback controls and waveform

RECORD replay: captured signals play back with inline power and animated waveforms, exportable as Flipper compatible .sub files.

LakeShark ADS-B aircraft tracking screen with offline mini map of New Hampshire area

ADS-B with an offline mini map: aircraft table plus map tiles with no network needed, remembered home and spoken notifications on top.

LakeShark SUB-GHZ scanner screen sweeping sub-GHz frequencies

SUB-GHZ scan: sweep, analyze, save and replay Sub-GHz captures including Flipper .sub files.

LakeShark RADIOS screen with Wi-Fi Bluetooth and radio startup controls

RADIOS startup controls: radio power, antenna selection and WiFi plus Bluetooth behaviour in one place.

The web tools extend the loop by generating P25 profiles, GPS scan lists, channel memories and offline map tiles on a computer, and CartoTUI ASCII map integration is in development.

Getting Started in Fifteen Minutes

  1. Pick the installer. Open the browser installer in Chrome or Edge on a computer, choose the T-Display P4 build, and follow the first flash guide. Grab the latest firmware while there.
  2. Power it correctly. Feed the T-Display P4 through its own USB-C input. Never loop the keyboard’s 5V USB output back into the P4; testing caused repeated power cycling even with no RTL-SDR attached.
  3. Open an app and fit an antenna. FM or P25 for a first signal, MESH for MeshCore, ADS-B with a 1090 MHz antenna for aircraft. Match the antenna to the target band.
  4. Update over WiFi afterwards. The built in UPDATE app applies signed firmware in one tap. Note that versions 2.8 and earlier need one USB update first.
  5. New in v2.15. DETECTOR aircraft alerts, an LTE cell monitor, one tap antenna selection and steadier screens. Read the v2.15 notes before upgrading.

More Ways to Run It

Headless ESP32-P4 nodes. The Waveshare ESP32-P4 Nano and WIFI6 run without a display, controlled over serial console or a Flipper Zero. Useful for portable radio nodes and remote installs where no screen is wanted.

Flipper Zero as control head. The LakeShark-Flipper app turns the Flipper into LakeShark’s display and buttons over Bluetooth or GPIO: offline aircraft map, ADS-B traffic, app launcher and P25 VFO. The Flipper advertises and the radio connects automatically with no pairing code. See the Flipper setup guide.

Legacy and square displays. The 480 by 800 LCD-4.3 firmware remains for existing hardware with its own quick start, and Touch-LCD-4B plus Smart 86 Box have 720 by 720 source builds.

Experimental Frontiers, Honestly Labelled

Feature Status
P25 Phase II Bench tested on public recordings, live RF unverified, disabled after restart
HackRF One support Experimental FM, POCSAG, ACARS, P25, recording and ADS-B. Pagers verified, live P25 unconfirmed.
LR2021 I/Q TX Short custom waveforms with preserved amplitude and phase, P25 tones and temperature packets. Research grade.
LR2021 I/Q replay 433 MHz record and replay. OOK verified, FSK not yet verified over the air.
C6 firmware update SD card installs verified for the shipped version. Recovery still needs the UART header.
LoRa bearing plots RSSI grouped by compass heading. Not a validated direction finding system.
Location scanning Mixed P25 and FM lists with GPS filtering and CSV or JSON import
RadioReference adapter Needs an approved API key and Premium account. Live authentication unverified.

Building from Source

LakeShark builds on ESP-IDF 5.4.3 plus six small patches in bench that apply once to your checkout, with one build directory per target (P4 AMOLED, P4 TFT, headless Nano, LCD-4.3). Board defaults and partition layouts live in boards, dependencies pin in main/idf_component.yml, and host verification runs through bench scripts. PORTING.md covers new boards.

LakeShark vs the Alternatives

Option Form PC needed Key strengths Best for
LakeShark on T-Display P4 Handheld touchscreen No Onboard SDR via LR2021, P25, ADS-B, MeshCore, maps, Flipper head Scanner listeners, P25 monitors, foxhunters, MeshCore ops
OrcSDR on M5Stack Tab5 Handheld touchscreen No after flashing RTL-SDR full SDR, RF lab measurements, 6 visualization modes Portable SDR listening and field measurements
Flipper Zero alone Handheld No Sub-GHz, NFC, RFID, IR, GPIO modules Short range hacking and access control
Uniden scanner Handheld No Polished trunking and database Appliance grade public safety monitoring
Laptop plus SDR++ Laptop workstation Always Wide bandwidths, plugins, deep analysis Desk analysis and wideband search

LakeShark wins where an all in one pocket scanner with messaging, maps and transmit capable Sub-GHz matters. It concedes raw bandwidth and polished trunking databases to the alternatives, and it says so in its experimental table rather than hiding it.

Honest Limitations and Legal Notes

  • Reception and transmission follow local law. Sub-GHz replay, I/Q TX experiments and NFC work are for your own devices and authorized testing only. Check your national regulations before transmitting anything.
  • Power it right. The USB-C input on the P4 itself is the only supported feed. Backfeeding from the keyboard causes power cycling.
  • Battery plus RTL-SDR plus custom case are still in development. Plan bench power for now and follow the case renders on the show page.
  • Experimental means experimental. Phase II, HackRF P25, FSK replay and bearing plots are unverified or bench only. Validate before relying on them in the field.
  • Some integrations need accounts or hardware. RadioReference needs a Premium key, LINK mode needs ESP-Hosted C6 firmware, and locator features improve with a real GPS lock.

Frequently Asked Questions

Which board should I buy for full onboard reception?
The T-Display P4 with the LR2021 variant receives P25, FM, ADS-B and pagers with no dongle. The SX1262 variant needs an RTL-SDR for those apps but keeps MeshCore, LoRa and POCSAG onboard.

Does LakeShark need a PC to operate?
No. Flashing uses a browser installer once, then decoding, maps, GPS, recording and updates all run on the handheld, including one tap signed WiFi updates.

Can it replay Flipper Sub-GHz captures?
Yes. REC and SUB-GHZ read and write Flipper compatible .sub files, with OOK replay verified and FSK replay still experimental.

How does the Flipper Zero control head work?
Install the LakeShark-Flipper app, connect over Bluetooth or GPIO, and the Flipper shows maps, traffic, launcher and P25 VFO screens. Connection is automatic with no pairing code.

Is LakeShark free and open source?
Yes, GPL-3.0 with third party components keeping their own licences, documented in the credits table and the third party notices file. Credits span Osmocom, OP25, dump1090 lineage, MeshCore, LVGL, ESP-IDF and LILYGO drivers.

Sources and Further Reading

73 de 9M2PJU

Post Comment

You May Have Missed