Wavelens

Works anywhere in the world · follow your local laws

Put agency names on every talkgroup with a RadioReference export

31 Oct 2026 · 5 min read · RadioReference · P25 · talkgroups

RadioReference's database is the reference for who uses which talkgroup. A premium subscription lets you export a county's data as CSV; the bridge reads three of those files and overlays them on what it hears.

Export three files

  1. Open your county on RadioReference → Download data (premium).
  2. Export Trunked Sites (the control channels, each site's frequencies, lat/lon, mode), Talkgroups (decimal ID, alpha tag, description, mode, tag like "Law Dispatch" or "Fire-Tac"), and the conventional Frequencies list.
  3. Copy them to the Pi, e.g. /var/lib/wavelens/rr/, and give each file to --rr-pack (the bridge tells sites, talkgroups and frequencies apart by their columns).
sudo mkdir -p /var/lib/wavelens/rr && sudo cp ~/pinellas-*.csv /var/lib/wavelens/rr/
sudo sed -i 's|^WAVELENS_ARGS="|WAVELENS_ARGS="--rr-pack /var/lib/wavelens/rr/sites.csv --rr-pack /var/lib/wavelens/rr/talkgroups.csv --rr-pack /var/lib/wavelens/rr/frequencies.csv --rr-county Pinellas |' /etc/default/wavelens-bridge
sudo systemctl restart wavelens-bridge
sudo journalctl -u wavelens-bridge -n 20 | grep RadioReference
bridge: RadioReference overlay loaded, 2140 frequencies, 61 trunked sites, 812 control channels, 3310 talkgroups

What changes

  • Names. Every call shows TG 532 · FD 1K (Fire-Tac) instead of a number, and each ranked system is named.
  • Decoder per system. The site's mode (P25, DMR, EDACS, Motorola Type II) picks the right decoder, and "Simulcast" in the site name makes the bridge try QPSK first.
  • The category filter. Each talkgroup's tag maps to PUBLIC SAFETY / FIRE / EMS / OTHER. The Scanner tab's buttons mute everything outside the category you pick — and since the rotation knows a utility or an airport has no public-safety talkgroups, it doesn't waste time on those systems while Public safety is on. The default is Public safety.
  • Nearest site. Statewide systems reuse frequencies across dozens of sites. With the phone sharing its position, the bridge names the site within 80 km of you, not "Holmes (North)" 400 km away; without a position it uses --rr-county, and when it can't tell it shows the system name alone rather than guessing.

Without an export

Everything still works. Systems are named by their NAC, calls by talkgroup number, and the filter buttons let unknown talkgroups through (muting what it can't classify would silence an unlisted system). The export is a label layer, not a dependency.

And the FCC pack

For conventional (non-trunked) hits the bridge has a second overlay: a local FCC license pack, built from the FCC's public ULS database for your county. That's what names a 453 MHz hit "City Public Works · keying up nearby". It's free; the companion page has the one command that builds it.

Rather not build it?

Spotter $64 · Full Spectrum $499: the builds on this blog, programmed and tested, set up for where you drive, with free updates for life. The guides stay here, free, if you change your mind.

Shop Join the free Android beta

Open firmware and bridge on GitHub · receive only · every command on this blog is copied from a Pi we run

Next: Streaming scanner audio over Bluetooth LE without it falling apart · all articles