John's Musings

Yeah, Me Neither

Create a Trunking Scanner for $25 (okay $50)

First of all some definitions:

Trunked radio - Unlike a conventional radio which assigns users a certain frequency, a trunk system takes a number of frequencies allocated to the system. Then the control channel coordinates the system so talkgroups can share these frequencies seamlessly.

Trunking Scanner - Most scanners that can listen to trunked radio systems (called trunk tracking) are able to scan and store individual talkgroups just as if they were frequencies. The difference in this case is that the groups are assigned to a certain bank in which the trunked system is programmed.

Here's my definition: Digital radio, bro. Analog radio was just one frequency or the other. Now you have various channels that support higher usage without congestion automatically.

Yep, you can buy one if you have a spare $350 or so laying around. One that barely gets the job done might cost about $100.

Now let's create a trunking scanner. First a little primer.

I live in New Bern NC. Let's google "New Bern Frequencies" and it leads us to here. Note that not only can you buy a Scanner you can have the dealer preprogram it for you. Go ahead and click that link and check the prices. First though they want personal information. Trust me, you'll do this my way.

If you keep scrolling down the page you'll see all the individual frequencies you can select for the various city services. Scroll all the way to the bottom and you'll find the Trunking systems. I'm going to snag New Bern Public Safety.

I can't quite squeeze it all in a screen shot but I show the frequencies and there is a list of the talk groups below.

We also want to take note of the Radio System Type. This is Project 25 Phase 1 or P25-1. Remember this for later.

Okay this isn't that hard but I'm going to do it on Ubuntu Linux. This program is cross platform written in Java so you should be able to do this on Windows or Mac as well. On windows there is a Program called Unitrunker that is probably more powerful than this. This however is a tutorial on Ubuntu Linux using a program called SDRtrunk. I watched a six part video series on how to set it up and was thinking I was in for a lengthy fight. Then I just followed the directions on the github link I just gave you. There's only a few things to do. All that being said the videos I saw are AWESOME. They are what attracted me to this project and the guy that did them did a great service to the SDR community. I was going to work through his videos then thought, "Let me try this first" and it worked.

I have done this to three Linux computers. One with LinuxMint 18.2, one with Ubuntu 17.04, and one with Debian Jessie 8. It worked the same on all.

First you need Java version 8 or better. Three commands. On Ubuntu do this:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Now that's done. Technically we can just download and launch SDRTrunk but we need a decoder for the P25 radio system.

But lets get SDRtrunk first.

Go here to download. Now unzip (and I unzipped this in my /home/john directory which created a folder called sdrtrunk)

tar -zxvf sdrtrunk_0.3.0-beta13.tar.gz

Go here and download the latest JMBE release. Get the jmbe_builder.tar.gz file.

Now run the following two commands (in the directory the file is located in)

tar -zxvf jmbe_builder.tar.gz


This creates a file called jmbe-0.3.3.jar

Now copy this file into sdrtrunk folder (making sure your path is right)

sudo cp jmbe-0.3.3.jar /home/john/sdrtrunk


Now lets start the program. Plug in your SDR Dongle (you don't have to have this one, any one will do)


Should start with a pretty waterfall. My dongle was tuned to the FM band. They always store the last frequency they saw.

Just below the waterfall click the tab that says "Tuner" and then select the device it finds. It will open up details on the right side for the Tuner. Just keep the defaults for the device however you need to tune the Control Channel frequency from that page at the beginning of this tutorial. Mine is 858.2625

Now click the Channels tab and select "New".

At a minimum fill out the following:

Name - Anything you want.

Now go to the source tab and type in that frequency again. 858.2625 (yours will be different, unless you're my neighbor).

Now go to the Decoder tab and select P25 Phase 1 and Simulcast (LSM) (This may vary depending on your radio system). Finally click the enable button bottom left.

It should show up on the "Now Playing" tab as a Control Channel. I have noted that my AirSpy SDR dongle (as depicted in this tutorial) doesn't work very well and freezes the program at higher bandwidths (10 MHz). If I set it to 2.4 MHz it works fine on this very old laptop.

Here's the problem with that. The first frequency is 854 MHz (approximately) and the last is 859 something. That's 5 MHz. You won't get all the channels unless you add another SDR dongle (Cha Ching $25 more dollars). Technically the AirSpy should cover this with its 10 MHz spread but alas all it does is Overflow errors on the talk channels. Actually it also could be that this program desires a big old fat Intel i7 chip with a massive clock speed. This is a very old laptop I'm doing this on. I read some forum posts on the internet that lead me to believe this might be the cause.

If my SDR card has a limited bandwidth of 2.4 MHz then lets say my Control Channel is tuned to 858. We'll just round it up to keep it simple. Basically you have 1.2 MHz of bandwidth on both sides or 856.8 to 859.2. That doesn't begin to capture the bandwidth. But what I can do is add another inexpensive dongle and say tune it to 855.6 (theoretically this should cover, YMMV). See how that works? Two or three $10 SDR's covers the bandwidth you need covered.

I can confirm that the AirSpy device works GREAT on a much newer laptop. I have a Windows 8 era Dell laptop at work and the AirSpy SDR works famously on it and utilizes all 10 MHz of bandwidth which covers the whole New Bern trunking frequencies. Awesome! That being said you can buy a whole handful of RTL-SDR dongles for the price of an AirSpy ($169 OUCH) . With this program you can add multiple devices and set the frequencies on them to cover the bandwidth you need. 2 or 3 cheap dongles is way cheaper than an AirSpy or other advanced SDR radio.

All that being said the AirSpy is AWESOME! If you need to step up your SDR game the cheap dongles just don't cut it forever.

Therefore I declare this project and SDRTrunk program to work BEST with the el cheapo RTL-SDR dongles. That's actually a good thing. Save some buckazoids.

Here we are in action:

Update: Since starting this project I have since added one additional SDR dongle (v3 stick) along with my Airspy which allows me to capture the entirety of two trunking radio systems here in New Bern. I'm tracking two Control Channels and essentially getting all the city EMS, Police, Police Helicopters, Fire, Public Works, Animal Control, etc.

Seems the Airspy and SDRtrunk are a match made in heaven.

Great little project.

blog comments powered by Disqus