Pi 5 And SDR Team Up For A Digital Scanner You Can Actually Afford

Listening to police and fire calls used to be a pretty simple proposition: buy a scanner, punch in some frequencies — or if you’re old enough, buy the right crystals — and you’re off to the races. It was a pretty cheap and easy hobby, all things considered. But progress marches on, and with it came things like trunking radio and digital modulation, requiring ever more sophisticated scanners, often commanding eye-watering prices.

Having had enough of that, [Top DNG] decided to roll his own digital trunking scanner on the cheap. The first video below is a brief intro to the receiver based on the combination of an RTL-SDR dongle and a Raspberry Pi 5. The Pi is set up in headless mode and runs sdrtrunk, which monitors the control channels and frequency channels of trunking radio systems, as well as decoding the P25 digital modulation — as long as it’s not encrypted; don’t even get us started on that pet peeve. The receiver also sports a small HDMI touchscreen display, and everything can be powered over USB, so it should be pretty portable. The best part? Everything can be had for about $250, considerably cheaper than the $600 or so needed to get into a purpose-built digital trunking scanner — we’re looking at our Bearcat BCD996P2 right now and shedding a few tears.

The second video below has complete details and a walkthrough of a build, from start to finish. [Top DNG] notes that sdrtrunk runs the Pi pretty hard, so a heat sink and fan are a must. We’d probably go with an enclosure too, just to keep the SBC safe. A better antenna is a good idea, too, although it seems like [Top DNG] is in the thick of things in Los Angeles, where LAPD radio towers abound. The setup could probably support multiple SDR dongles, opening up a host of possibilities. It might even be nice to team this up with a Boondock Echo. We’ve had deep dives into trunking before if you want more details.

27 thoughts on “Pi 5 And SDR Team Up For A Digital Scanner You Can Actually Afford

    1. Just make sure it’s optioned with an OTAR flash.
      Since the trunking software forces you to choose a method of remote
      “radio inhibit”. If you tell the radio to use “OTAR inhibit”, it’ll evade the
      normal means of a system manager stunning/bricking/inhibiting the

      TLDR: OTAR inhibit requires a KMF server and a ton of other supporing
      hardware, *and* a ton of specific programming to provision the unit on
      the system. There is no way that radio will ever receive an inhibit command
      via OTAR unless it was specifically planned to be set up in that manner.

      The arrogant pompous system managers on certain other sites love to
      brag how they’ll brick a bootleg radio – but this method will completely
      render their “super powers” mute.

  1. It sounds like the expensive part is it is to purchase a computer and purchase a large HDMI display.

    The application-specific part there, RTL-SDR, is cheap.

    Though, out of solution like this, a 2, 3, 10 iteration later, and you might have that cheap application specific product with just the right acceleration for it.
    – The PoC uses an HDMI display, but there is a CSI connector on the RPi for skipping HDMI costs.
    – The costly I/O interfaces are not used and a board without them could be used: Ethernet, USB3

    Nice project!

    1. I believe CSI is input-only, which is why it’s typically used for cameras. There is a DSI interface, but that seems to be fairly proprietary as well. The last option is to use up the Pi’s GPIO pins, but you’re only going to find fairly small displays using that method (the largest I know of off the top of my head are Pimoroni’s Hyperpixel displays).

  2. Hell it would have been cheaper and at least the same results to buy a Samsung Chromebook 3, for $30, remove the write protect screw, put linux on it and SDR-Trunk, and velcro the rtl-sdr to the back.

    Total cost ~$60, same results (I have that exact setup, because cheap)

    1. I am personally not a fan of “projects” like this, and I use the term project loosely. You just slapped together a bunch of off-the-shelf stuff, and used software for exactly what it was created for.

      1. Notice how I didn’t submit my stuff to be on here….because it is exactly that. Also why this “project” shouldn’t be on here.

        Next article: Person installs operating system and uses it!!!!!

        1. It actually took a few articles until we got “Running Unix on a Nintendo Entertainment System”, but I think you’d probably count that one as a hack :)

          I agree that this project is just some off-the-shelf stuff slapped together, but I think you’re being a bit harsh – hackaday readers are a diverse bunch, and even if we assume most of us know about RTL-SDR, we don’t necessarily know about software like SDRTrunk, or even if we saw the article on SDR trunking from 3 years ago, we may not have considered that SBCs and chromebooks are now powerful enough to run realtime audio decoding tools written in java(!)

          If I’d already *wanted* to build an SDR-based P25 decoder, I would have undoubtedly learned this myself, but since I didn’t, I now have a new project to pursue, and found both the article and your comment to be informative in that regard.

          (personally, I could do with fewer articles about “cyberdecks” that offer nothing besides a slightly different way to stuff a Pi into a 3D printed case, but to each their own)

        1. Yep because the ChromeOS install is long ago End of Life. Get the 4GB ram version. Also be prepared, you need to not only take off the back cover, but disconnect most cables on the mainboard and flip it over to get to the write protect screw.

  3. OP25 ( the boatbod fork) + $10 Chromebook that I put mint on + A first gen rtl-sdr dongle (before rtl-sdr blog had nice ones with txco etc.) is a much cheaper option if budget is a concern. really OP25 while less pretty can run on far more “potato” hardware then sdrtrunk , there is also DSD-FME for people that want more options for DMR and NXDN digital systems.

  4. They did some renovation in my area and unfortunately now I get massive noise when trying to receive stuff with SDR.
    I think it might be the wireless thermostats and such that people use.
    I tried turning everything off one by one but it seems that I can’t locate the issue inside my domicile so far.
    I need to figure out and external antenna, and one that might need to be directionally shielded. It’s frustrating.

  5. When the scanner stream in my town went down, I decided I would provide one.

    I found an old laptop, used SDRTrunk (like in the video above), Shoutcast, and Apache II, all running on Debian, and whipped up a rig (I’m a fan of free and/or FOSS software).

    The stream provided Police/fire/emt/hospital stream for several cities, as multiple towns used my town’s dispatch center.

    I made it a public website and submitted it to that one website I won’t name that all of the scanner apps get their scanner streams from, and they denied me, which seemed suspicious to me.

    I hyped the website up on the socials with groups for my town until it got popular. At that point, the city itself provided a stream to that website I won’t name, and suddenly all the scanner apps had my town back on it!

    I still have my setup running for personal use, but I don’t make it public anymore, since there’s a public source now.

    It was fun putting everything together. I learned about the P25 standard, how my state interconnected a ton of agencies using it, and also how to host a stream online. Good times!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.