Shawn's Blog

Building a Portable Radio Scanner Part 1: The Hardware

RadioDeck

I’m building a portable radio scanner to listen in on communications by police forces, both trunked and untrunked, but unencrypted. My primary motivation for building my own is to develop a formula for hacktivists who could scrounge up spare hardware to create a police scanner at a fraction of the cost of a commercially-available scanner such as the SDS100.

There are a variety of reasons why being able to eavesdrop on police communications could be useful. For example, hacktivists supporting a cell could operate an early warning system; being able to listen in on communications aids in threat intelligence which in turn informs decisions.

This blog post is structured such that it not only tells the story of how I created this scanner, but a reader can also follow along and build their own. If you have any questions or want advice on the build, feel free to contact me using my email on my “About” page.

Legal Disclaimer

I do not endorse illegal activity. Check your local laws and legislations. I’m not a lawyer and I’m not your lawyer, and this isn’t legal advice.

Overview

Since this project is essentially a radio-focused cyberdeck, I’ve taken to calling it the “RadioDeck.” Oozing with creativity there, I know.

The RadioDeck consists of a Raspberry Pi, a touchscreen display, a few rotary encoders, an SDR, and a power bank. It’s that simple. The rotary encoders allow operation without needing a keyboard or mouse. The entire build is housed inside of a portable carrying case.

Once assembled, it can be loaded with any SDR software such as Gqrx or sdrtrunk. I’m currently working on writing some of my own SDR software specifically created for the RadioDeck, which I’ll be discussing in Part 2.

Parts

For my specific build, I’ve used the following parts:

I also used the following miscellaneous parts which I can’t find links to, but I’m sure you could find at your local hardware and electronic stores:

I recommend using thin and flexible cables wherever possible, with the exception of the coax cable for signal integrity. Using thin and flexible cables, as long as it’s able to fulfill requirements like power delivery, will help fit everything into place.

I additionally fabricated two parts and 3D printed them for the build: the base, and the plate. The base helps position everything and provides positioning for standoffs, and the plate is the top cover that helps hide all the wiring. These parts were specifically fabricated for my project case:

CAD

CAD

If you’re using the same specific parts as me, or want something to base your own off of, you can download them as STLs here:

If you want them in a different format, contact me and I’ll see what I can do.

Assembly

The base has some pilot holes for the threaded inserts to be melted into with a soldering iron.

Afterwards, you can attach the standoffs. I didn’t have any standoffs specifically the height of a standoff + 1.6mm (the thickness of the display’s PCB), so I added some 1.6mm nuts for structural standoffs around the display so that they’d all be the same height.

For the rotary encoders, I put some shorter standoffs underneath them – just enough for them to peek through the plate later on with the knob attached.

The wiring is pretty self-explanatory:

RadioDeck

Don’t worry if your cable management is a mess; that’s what the plate is for. You can attach the plate with M2.5 bolts. There’s a hole on the bottom right for you to pull the 3.5mm headphone cable through.

RadioDeck

Here’s what it looks like underneath. I initially expected to need some kind of adhesive to attach the base to the bottom of the case, but it fit so perfectly and snugly that it doesn’t budge once inserted thanks to friction alone.

RadioDeck

On the left side of the case, I drilled a hole for the SMA coax cable to mount to. I attached some velcro to use as an antenna holder.

After you drill the hole and mount the SMA coax cable into the slot, you can just drop your in-progress build directly into the case. If you have difficulty with this, you can attach the top plate separately after the rest of the parts are inside.

RadioDeck

I used some cable hooks and velcro to secure the power bank and RTL-SDR into place. My SMA coax cable was the perfect length to just fit directly into the RTL-SDR from the antenna mounting slot on the side. This is also the stage where I connected the power bank and RTL-SDR to the Raspberry Pi.

RadioDeck

After attaching some knobs to the rotary encoders, the build is complete. Here’s what it looks like:

RadioDeck

I additionally snuck a little Allen wrench on the bottom left corner of the case in the event that I ever needed to do maintenance on it – for convenience. I also fashioned a little prop bar out of some wire so that I don’t need to always be leaning the RadioDeck on something while it’s open.

I also slapped a sticker on it that a fellow radio hacker gave me while I was at DEF CON after spotting me wardriving. Thanks for the sticker, InkRF!

RadioDeck

Part 2

That’s the entire hardware build! In Part 2, I’ll be talking about the software I’m writing for the RadioDeck. TBD.

Happy hacking!