SDRTrunk Setup Guide: P25 Trunking with RTL-SDR V4
SDRTrunk turns a couple of USB dongles into a P25 trunking scanner that rivals a $600 dedicated unit. This guide covers the hardware you need, how to install it, and how to follow a P25 Phase II system without missing calls.
Hardware Shopping List
For P25 Phase II, the reliable setup is:
- Two RTL-SDR Blog V4 dongles β one for the control channel, one for voice. The V4's 1 PPM TCXO is essential; older no-TCXO dongles drift and lose the control channel. See our V4 review for why this is the right dongle.
- A powered USB 3.0 hub β at least 5V/3A output, ideally one with individual port power. Anker, Sabrent, and UGREEN all make reliable models for about $25.
- A wideband antenna β a discone like the Tram 1411 is the standard choice because it covers VHF, UHF, and 700/800 MHz bands with a single element.
- Two short SMA-to-coax jumpers (or a splitter if you only want one antenna) β RTL-SDR V4s use SMA female; most discones come with PL-259 (UHF) connectors, so you'll need adapters.
- A modern PC with Java 21 β Windows, Linux, or macOS all work. At least 8 GB of RAM.
Total budget: about $130 for the full kit if you already own a PC. That's less than a used scanner and more capable for P25 trunking.
Step 1: Install Java and SDRTrunk
- Download Java 21 β grab the Adoptium Eclipse Temurin JDK 21 (or newer LTS) for your OS. SDRTrunk requires Java 21 or later.
- Download SDRTrunk β from GitHub at
DSheirer/sdrtrunk. Grab the latest release ZIP for your platform (Windows, Linux x64, macOS). - Extract and run β on Windows, run
bin/sdr-trunk.bat. On Linux/macOS,bin/sdr-trunk. The GUI opens on first launch. - Install RTL-SDR drivers β on Windows, use Zadig to swap the default USB driver for WinUSB on each RTL-SDR. Make sure you're using the RTL-SDR Blog V4 driver branch; older R820T2-only builds won't tune HF on a V4.
Step 2: Plug In the Hardware
- Connect the powered USB hub to your PC with its included USB 3.0 cable.
- Plug each RTL-SDR V4 into the powered hub (not directly into the PC).
- Attach short SMA jumpers from each V4 to the antenna feedline. If you're using one antenna feeding two dongles, add a 2-way splitter rated for 1 MHz to 2 GHz.
- Connect the Tram 1411 (or your chosen wideband antenna) to the feedline.
- In SDRTrunk, open
Tunerβ the two V4s should appear. Name them "Control" and "Voice" to keep track.
Step 3: Import Your System from RadioReference
SDRTrunk doesn't come preloaded with US public safety systems. You pull them from RadioReference.com (a RadioReference Premium subscription at $15/year makes this much easier). In SDRTrunk:
- Go to
Playlist EditorβImport. - Choose
Import RadioReference Systemand enter your credentials. - Search for your agency's trunked system (for example, a statewide P25 system) and import it.
- SDRTrunk will pre-populate the control channels, site frequencies, and known talkgroups.
If you don't subscribe to RadioReference, you can manually enter the system information β system ID, WACN, control channel frequency, and talkgroups. It's tedious but free.
Step 4: Configure the Channels
In the playlist editor, create two channels:
- Control channel: set the decoder to
P25 Phase 1 Control. Assign your first V4 ("Control") as the tuner. Set center frequency to the system's primary control channel (for example, 773.44375 MHz for a Phase II system). - Voice channel: set the decoder to
P25 Phase 2(or Phase 1 if it's a Phase 1 system). Assign your second V4 ("Voice") as the tuner. SDRTrunk will automatically tune this dongle to voice channels as the control channel announces them.
Start both channels. Within 10β30 seconds you should see the control channel lock and status changing to "Sync" or similar.
Step 5: Tune Gain and Verify
Each RTL-SDR has a tuner gain setting. Start around 28β32 dB. If you see a lot of decode errors, try lowering gain first; if the signal is weak, raise it. Avoid maxing gain β it adds more noise than signal in most urban environments.
In the Now Playing tab, you should see call activity. Each call will show:
- Source radio ID and talkgroup
- BER (bit error rate) β under 3% is healthy
- Encryption status β if you see
AES-256orDES-OFB, that call is encrypted and won't produce audio - Duration and signal strength
Common Problems and Fixes
Dongles dropping out under load
Your USB hub isn't supplying enough power. Switch to a 5V/3A or higher powered hub with individual port power.
Control channel won't lock
Check the frequency against RadioReference β many systems have moved control channels. Also verify your V4 is on the V4 driver branch, not the older R820T2 driver.
Every call shows encrypted
Your agency has encrypted their system. No fix exists on the receive side. See our action playbook on pushing back.
High BER on voice only
The voice dongle may be drifting. Confirm it's an RTL-SDR V4 (1 PPM TCXO). If it's an older dongle, swap it for a V4.
Java version errors
SDRTrunk requires Java 21+. Older versions will throw cryptic class-loading errors. Uninstall older JDKs or explicitly point SDRTrunk at the correct JAVA_HOME.
Audio stutters during busy periods
CPU is saturated. Close other apps, or move SDRTrunk's data directory to an SSD. Raspberry Pi users: P25 Phase II may exceed Pi 4 CPU on very busy systems.
Alternatives If SDRTrunk Isn't a Fit
SDRTrunk is the best free trunk-tracking software, but not the only option. For comparison:
- DSD+ Fastlane β paid, Windows-only, excellent Phase II decoder. Often paired with SDR# for the front-end. See our SDR software comparison.
- OP25 β free, Linux-focused, command-line trunking decoder with a GUI fork. Steeper learning curve.
- Unitrunker 2 β follows analog and some digital trunked systems. Less maintained than SDRTrunk.
- A dedicated scanner β see our RTL-SDR vs dedicated scanner comparison for when the hardware solution is simpler.
Frequently Asked Questions
What is SDRTrunk?
SDRTrunk is free, open-source Java software that follows trunked radio systems across multiple channels using one or more SDR dongles. It supports P25 Phase I, P25 Phase II, DMR, NXDN, and LTR. It's the most common way to monitor modern trunked systems with SDR hardware.
How many RTL-SDR dongles do I need for SDRTrunk?
For P25 Phase I conventional, one dongle is enough. For P25 Phase II or any trunked system, two dongles are strongly recommended β one dedicated to the control channel, one for voice. With a single 2.4 MHz dongle you'll miss calls when the control channel and voice channel fall outside the same window.
Can SDRTrunk decrypt encrypted police traffic?
No. SDRTrunk detects that a call is encrypted and logs the encryption type (usually AES-256 or DES), but it cannot decrypt the audio. If your agency has encrypted, SDRTrunk will still follow the system and show who's talking and when, but the audio will be silent or static.
What are the minimum PC specs for SDRTrunk?
A modern quad-core CPU with 8 GB of RAM handles most P25 Phase II systems with two dongles. Java 21 is required. An SSD helps with log writes. SDRTrunk runs fine on a Raspberry Pi 4 or 5 for simpler systems but may struggle with busy Phase II sites.
Do I need a powered USB hub?
Yes, for any setup with two or more dongles. RTL-SDR V4s draw about 270β300 mA each at full tilt. Many laptop USB ports can't supply that to multiple devices simultaneously without voltage sag, which causes dropouts. A 5V 3A (or better) powered hub eliminates that problem.
Why is my SDRTrunk showing errors on the control channel?
Most common causes: (1) wrong tuner gain β start around 30 dB and adjust; (2) drift on a dongle without a TCXO β use RTL-SDR V4s or another TCXO-equipped dongle; (3) antenna isn't wideband enough β a discone like the Tram 1411 covers the typical control + voice range; (4) driver mismatch on V4 β you need the V4-aware driver branch.
Is SDRTrunk legal to use?
In the US, it is legal to receive unencrypted public safety transmissions under federal law, and in most states that permits scanning at home. Some states restrict scanner use in vehicles. The Electronic Communications Privacy Act prohibits divulging or acting on intercepted communications for illegal purposes. Always check your state law.
Take Action for Transparency
Your voice matters. Here are concrete ways to advocate for open police communications in your community.
Contact Your Representatives
Use our templates to email your local officials about police radio encryption policies.
Get StartedRead Case Studies
See how encryption has affected real communities - from Highland Park to Chicago.
View CasesSpread Awareness
Share evidence about police radio encryption with your network and community.
Public Testimony
Learn how to speak effectively at city council and public safety meetings.
Prepare to Speak