Skip to content

Instantly share code, notes, and snippets.

@skord
Created June 1, 2020 20:43
Show Gist options
  • Save skord/da45388b1e6cb27d226c20586206acba to your computer and use it in GitHub Desktop.
Save skord/da45388b1e6cb27d226c20586206acba to your computer and use it in GitHub Desktop.
How to make a scanner

You can buy a really expensive police scanner and listen to a channel at a time, or buy several expensive scanners and listen to a few. Then you'll still need some sort of way of recording them and well, it's all a mess.

With a powered USB hub, some cheap software defined radios (re-purposed european tv tuners really), antennas, and a raspberry PI (or other linux box) you can build a scanner that will receive, decode, and record every single conversation happening on every talk group that your radios are configured to recieve.

So yeah:

As far as SDR dongles go, the $20-25 ones on Amazon don't have a lot of difference between them. They generally cover about 2Mhz of bandwidth each.

Here's the hardest part -- you'll need to figure out how many radios you'll need to ensure you don't miss any traffic.

So for instance, I live in Franklin County and if I want to pick up safety traffic, I'll need to find the line in the chart at RadioReference for the MARCS-IP system for my county.

From https://www.radioreference.com/apps/db/?sid=6643 :

348 1 (1) 061 (3D) Franklin County Franklin 772.35625 772.60625 772.85625 773.13125 773.38125 773.68125 856.2625 856.8625 857.2625a 857.6125c 858.2625a 859.2625a

What you can't see from this copy/paste is that three of the channels are data channels that tell all the radios where the trunk traffic is happening. Eight of the frequencies are where the talk activity happens. Essentially, they're multiplexing channels with the control frequencies so they have a large number of virtual talk groups with limited frequency use.

The 2Mhz slices of radio frequency that each SDR can capture at once are better at the center than at the edges. I'm eyeballing it here, but may be wrong, but I think you actually need two to cover low 772-773Mhz bands and 3-4 to cover 865-859Mhz. I'm entirely uncertain without getting out spreadsheets and doing the math. You do however, want to make sure you're covering the entirety of the spectrum with your SDR's.

Now, these SDR's aren't exactly fine machinery and they'll have some sort of tuning errors, especially if they get hot (which they will). I recommend using an app like GQRX (https://gqrx.dk/) to dial in where the SDR thinks a frequency is visually, then using that value in your trunk recorder config. Oh yeah, you'll need to get that installed and configured. So here: https://github.com/robotastic/trunk-recorder

Trunk recorder will record and optionally copy/stream out every talk group you configure it to record. It can easily decode all of my county's traffic -- even radio to radio traffic that most scanners don't pick up, which is a LOT of extra chatter since all traffic doesn't happen on main channels. Configuring it is out of the scope of this gist, if you need help, get a hold of me, but it's docs are spot on.

For the advanced classes, you can actually stream the recorded files out to a streaming server with something like liquidsoap: https://www.liquidsoap.info/.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment