Reader-supported. GopherTrunk is free, open-source software. Some
hardware links on this page go to Amazon with our Associates tag
(gophertrunk-20); if you buy through them we may earn a small
commission at no extra cost to you. It never changes which gear we recommend, and
the software stays free either way. How GopherTrunk is funded →
Best SDR for P25 Trunking (GopherTrunk)
The best SDR for P25 trunking is the cheapest one that cleanly hears your site’s control channel: a ~$35–40 RTL-SDR for a single site, or a wideband Airspy when you need to channelize several control channels at once. GopherTrunk decodes both P25 Phase I and Phase II in software, so the radio is the only variable.
Key takeaways Single P25 site: RTL-SDR Blog V4 or NESDR SMArt v5 (~$35–40) — one dongle tracks the control channel and follows grants. Multi-site / wideband: Airspy R2 channelizes several control channels from one capture. Phase I & II both decode on any good dongle — it is software. Simulcast is hard for every receiver; more dynamic range helps. No SDR decodes AES-encrypted P25.
Quick picks
RTL-SDR Blog V4
around $40
One dongle tracks a P25 site's control channel and retunes to each voice grant. Decodes Phase I and Phase II. The default P25 receiver.
V4 on Amazon →NESDR SMArt v5
around $35
0.5 ppm TCXO and a shielded case — rock-stable tuning for tracking a control channel all day. Always in stock.
NESDR on Amazon →Airspy R2
around $170
12-bit ADC and up to ~10 MHz capture — channelize several control channels at once and pull P25 out of congested or weak conditions.
Airspy on Amazon →How P25 trunking uses your SDR
A P25 trunked system does not park voice on a fixed frequency. One or more control channels continuously broadcast which talkgroup is active and on which voice frequency. GopherTrunk locks the control channel, reads those grant messages, and follows the conversation. That is why a single RTL-SDR can follow an entire site: it only needs to hear one control channel and retune to grants.
The question that decides your hardware is simply: how many control channels do you need to watch at once, and how far apart are they?
One dongle per site vs a wideband Airspy
| Scenario | Best approach | Why |
|---|---|---|
| One local P25 site | Single RTL-SDR | Tracks the control channel, follows grants — done |
| Two sites, control channels close together | One wideband Airspy R2 | Channelize both from one capture |
| Several sites spread across a band | Multi-dongle pool | Assign a dongle per site/role |
| Congested band, weak signal, simulcast | Airspy | 12-bit front end resists overload, cleaner samples |
Read your system on RadioReference first. Note how many sites you can hear and where their control channels sit. If they fall inside a few MHz of each other, one wideband Airspy can channelize them all at once. If they are scattered, a pool of cheap dongles is more flexible and often cheaper.
Phase I, Phase II, and simulcast
P25 Phase I uses C4FM/FDMA; Phase II uses H-DQPSK TDMA to fit two voice paths in one channel. GopherTrunk decodes both — and importantly, the SDR requirement is identical. Any good RTL-SDR receives Phase II; the difference is entirely in software decoding, not hardware.
Simulcast is the one place hardware really strains. When several transmitters send the same signal in sync, their overlapping arrivals create multipath distortion that smears the constellation. A higher-dynamic-range Airspy gives GopherTrunk cleaner input to work with, which helps, but be honest: no receiver fully escapes simulcast distortion, and dedicated Uniden SDS scanners still hold the edge on the worst simulcast fringes. See the honest comparison in police scanner vs SDR.
What an SDR can’t do
No SDR — and no scanner — decodes AES-encrypted P25. GopherTrunk will identify encrypted calls but cannot break them. Check RadioReference to see which of your local talkgroups are still in the clear before buying; in most areas that still includes plenty of dispatch and nearly all fire/EMS.
Bottom line
For one P25 site, buy the cheapest capable dongle — a RTL-SDR Blog V4 or NESDR SMArt v5 — and GopherTrunk will track the control channel and follow every grant, Phase I or Phase II. Step up to a wideband Airspy R2 only when you need to channelize multiple control channels, fight congestion or weak signal, or claw back some simulcast margin. See the full lineup in best SDR for GopherTrunk and the software side in the P25 scanner guide.
Frequently asked questions
What is the best SDR for P25 trunking?
For a single P25 site, a ~$35–40 RTL-SDR Blog V4 or NooElec NESDR SMArt v5 is the best pick — one dongle tracks the control channel and follows voice grants across the site’s channels. For multi-site systems or control channels spread across a band, a wideband Airspy R2 that channelizes several at once is the better tool.
Can one RTL-SDR follow a whole P25 system?
One RTL-SDR follows one P25 site: it locks the control channel and retunes to each voice grant. That covers most listeners. A system with multiple sites on widely separated frequencies needs either several dongles or a wideband Airspy capturing the whole span at once.
Does GopherTrunk decode P25 Phase II?
Yes. GopherTrunk decodes both P25 Phase I (C4FM/FDMA) and Phase II (H-DQPSK/TDMA) trunked voice. The SDR hardware requirement is the same for both — any good RTL-SDR receives Phase II; the decoding is done in software.
Can an SDR decode P25 simulcast?
Simulcast is difficult for every receiver because multiple synchronized transmitters create multipath distortion. A higher-dynamic-range SDR such as an Airspy gives GopherTrunk cleaner samples to work with, which helps, but no receiver fully escapes simulcast distortion — dedicated Uniden SDS scanners have the strongest simulcast front ends.
Do I need an Airspy for P25?
No. An 8-bit RTL-SDR decodes P25 voice perfectly well on a clean single site. Step up to an Airspy only when the band is congested, signals are weak, you fight simulcast, or you want to channelize multiple control channels from one wideband capture.
Can an SDR decode encrypted P25?
No. No SDR and no scanner can decode AES-encrypted P25 talkgroups. GopherTrunk decodes clear P25 (and identifies encrypted calls) but cannot break the encryption. Buy based on the talkgroups still transmitted in the clear.