Using SDR to Build a Trunk Tracker – Police, Fire, and EMS Scanner

Ray Felch //


I recently came across an interesting article about using software defined radio (SDR) to create a scanner for police, fire, EMS and public safety systems. Looking at a few of these trunk tracking scanners on Amazon, I quickly discovered that they are not cheap at all. See the article : “Alexa, Stop Listening To Me Or I'll Cut Your Ears Off” – Hackaday. You can spend several hundred dollars on a Trunked Radio tracking scanner; however, we can build one with just two SDR USB dongles for $25.

how Tworking systems work

Trunking systems carry extremely large volumes of analog and digital radio traffic and are a frequency hopping system. Trunk systems are controlled by computers and broadcast information to all radio stations in the network via a control channel. In the following diagram, notice that the control channels are shown in red.

The channels shown in green are the allocated frequencies for a given talkgroup (assigned group in a trunked radio system).

Wikipedia defines talkgroup as follows:

A talk group is assigned a group in a trunked radio system. Unlike a conventional radio that assigns users a specific frequency, the trunk system receives a few frequencies distributed to the system. Then the control channel coordinates the system like this chat groups can share these frequencies without a problem.

If we tune to the control channel frequency using SDR# (software defined radio), we find the following waterfall. Not only is it visually recognizable, but it also has an incredibly unique (scratchy/metallic) digital sound.

All radios in the talkgroup monitor the control channel to know which frequency to listen to. Virtual trunks are created by an administrator and assigned talkgroup numbers (listed in the Target column of UniTrunker).

When the user presses the push-to-talk (PTT) key, a request is sent to the control computer. The control computer then sets a frequency and all radios in that talkgroup switch to that set frequency so they can hear the transmission.

When the transmission is answered, this process is repeated and usually a different frequency is assigned for the answer. It becomes obvious that if we monitor a single frequency, we will miss most of the radio traffic for a given talkgroup system.

Why was the pipeline system created?

Trunking systems provide very efficient use of the radio frequency spectrum. Prior to its implementation, the radio frequencies that were assigned were static. An example can be given that a police agency that needs a dozen conventional channels would lose that part of the spectrum if the channel is inactive for a significant period of time. In a trunking system, employees will be assigned to a talkgroup rather than a dedicated channel and will share a smaller set of channels. It is common for more than 350 talkgroups to share only 20 channels.

Another advantage of a trunking system is that multiple sites in different locations can be linked together. All school campuses consisting of multiple buildings in different parts of the city can be connected. Even cities, states and provinces can be linked together. My location here in Iowa borders Illinois so the law enforcement, fire and safety talkgroups share a common control channel.

UniTrunker: Trunk Radio decoding software

UniTrunker is a Trunk Radio decoder that supports Motorola Type II, EDACS, MPT1327, P25 systems and works well with RTL based SDRs.

To build our SDR-based Trunked Radio scanner, we’ll need to install UniTrunker as well as a few other necessary dependencies.

Note: When I first tried to install these programs, I ran into a few problems, mostly due to the order in which I installed things. That being said, I will try to present this information in a structured, step-by-step manner and hopefully prevent you from making the same mistakes.

Note: We will use a very popular online site ( to find the control channels for our location.

We need to download the following software:

I’ll walk you through it. It’s not that bad, really!

  • SDR Sharp
  • UniTrunker
  • Virtual cable
  • DSDPlus
SDR Sharp (SDR#): Installation procedure

Note: You will not need SDR Sharp to build our UniTrunker tracking radio scanner, but it will be useful to ensure that the necessary RTL-SDR drivers and WinUSB drivers are installed correctly. We will also use SDR Sharp to verify that the specified control channel frequency is correct. The Radio Reference Group tries to keep its databases up to date, but sometimes the control channels listed may be out of date or recently changed (slightly shifted).

SDR Sharp is also a “fun to play” piece of software. You can tune in frequencies in the FM radio band from 88MHZ to 108MHz and find your favorite radio stations for your area!

I will usually use the SDR Sharp to tune the indicated frequency to the control channel to make sure the frequency is indicated accurately. I.e. for my location in southeast Iowa, the RACOM network control channel frequency for my neighboring city of Rock Island, Illinois is shown as 857.2375MHz. (Control channels are always shown in red)

However, checking this with SDR Sharp shows that the frequency should be 857.1375MHz (shifted down by 100KHz). We will need to remember this frequency when configuring the UniTrunker software later.

Note: I chose the unskinned version of the SDR Sharp for this demo.

  • Scroll down a few lines and find the link for “unskinned SDR#”, click where it says “here”.
  • Insert rtl-sdr usb key(s)
  • Download the SDR Sharp zip file
  • Double-click the zip file and extract the files to a folder of your choice
  • Navigate to the extracted folder
  • Run “install-rtlsdr.bat” (This installs RTL-SDR drivers and saves the “zadig.exe” file in the folder)
WinUSB driver (using zadig,exe): Installation procedure
  • Right click on “zadig.exe” and run as administrator
  • Answer “Yes” to “Allow this app to make changes to this device”
  • Select “Options – Device List”
  • Select “Bulk-In, Interface (Interface 0)”
  • Click “Install Driver”

Verify successful installation of SDR Sharp by running “SDRSharp.exe”

(Remember to select RTL-SDR under “Devices” after loading SDR Sharp)

DSDPlus (Digital Decoder Software): Installation Procedure


  • Click on the DSDPlus v1.101 link
  • Click on DSDPlus v1.101_DLL_Files
  • Navigate to the /Downloads folder
  • Right click on the DSDPlus v1 101 zip file and “extract all”
  • Right click on the DSDPlus v1 101 DLL zip file and “extract all”
  • Go to DSDPlus DLL extracted folder
  • Press CTL-A (select all) and move them to the extracted DSDPlus folder
  • Click on DSDPlus.exe (to start DSDPlus)

We will see several windows open and now we know that DSDPlus is working.

Virtual Cable: Installation Procedure
  • Navigate to the /Downloads folder
  • Right click on the zip file and “extract all”
  • Navigate to the extracted VBCABLE_Driver_Pack43 folder
  • Right click and run as administrator “VBCABLE_Setup_x64.exe”
  • Click “Install Driver”
  • When finished, restart Windows
After restarting

We can quickly verify that VB-Cable is installed correctly by clicking on “VBCABLE_ControlPanel.exe”.

We should see the following window open. This shows a successful installation and now we can close this window.

VB cable configuration

  • Hover over the speaker icon (bottom right of the taskbar) Select Sounds – Play
  • Make sure the speakers are the default for playback
  • Click the Save tab
  • Left click (once) on the VB cable (to highlight it)
  • Right-click and select “Set Default”
  • Click OK

Configure the UniTrunker

With all the necessary dependencies already installed, we are ready to install, configure and run UniTrunker.

UniTrunker Software: Installation Procedure
  • Navigate to the /Downloads folder
  • Double-click “UniTrunker-” (to install)

Information: UniTrunker will be installed in C:/Program Files(x86)

Note: Do not create a shortcut for ‘uniform.exe’ (UniTrunker), instead click on the Windows logo, type ‘unitrunker’, right-click the application and select ‘Pin to Taskbar’ or optionally ‘Pin to Start”.

  • Click the UniTrunker icon on the taskbar
  • Click on First Install
  • Click the plus button to add a receiver (we’ll need to do this twice, once for SDR-1 and then again later for SDR-2 (for now let’s configure SDR-1)
  • Click the RTL2832 button
The following is my configuration for both receivers (SDR-1 and SDR-2)

After completing the configuration for receiver #1 (SDR-1), repeat the process by clicking the plus button again and selecting the RTL2832 for receiver #2 (SDR-2).

Important: The settings highlighted in yellow are only differences between the two receivers and it is especially important that you list these settings exactly as shown above (The only exception is the name you give the receiver in the Model field. I chose to name the first receiver “SDR-1 Control Channel” and the second receiver “SDR -2 scanner”. You can call them whatever you like.)

Also, “Park” value (frequency) highlighted in red (SDR-1 receiver) is set according to my location here in Iowa and will need to be changed to one of your control channel frequencies (according to the radio reference database for your area).

Che is it! Everything is installed and we are ready to operate our trunk scanner!

Make sure DSDPlus is running and click the play arrow (Start). both receivers. You should now see the following in the UniTrunker window and the scanner should be up and running.


This was a fun project that opened up some new avenues for me in the field of software defined radio. To see also : Lebanon Begins Investigating Shooting Outside US Embassy that Caused No Injuries. There are many interesting features to explore as this is a very stable app! Interestingly, DSDPlus is also an amazing tool that takes care of decoding digital highway traffic into something we can hear.

While researching this project, I found that there is quite a bit of information about UniTrunker as well as the implementation of other SDR based projects. I even came across another SDR Trunk trace scanner app known as “SDR Trunker” although I haven’t reviewed it…yet.

Ready to learn more?

Level up your skills with affordable classes from Antisyphon!

Pay what you can training.

Available live/virtual and on demand

Comments are closed.