Sync Dev: Software Defined Radio

Developing on the BitTorrent Sync API? Our developer evangelist is here to work with you.

What I love about working in technology is that there is always something new to tinker with and new tech on the horizon to look forward to. I’ve been eagerly anticipating the arrival of Great Scott Gadget’s HackRF One Software Defined Radio. I missed out on the original Kickstarter campaign last year, but got an early pre-order in with NooElec for the SDR, a Ham It Up RF Upconverter and an ANT500 antenna.  Everything arrived last week while I was on the road and I finally had a chance to get things set up today.

So what is Software Defined Radio, why does it matter, and what sorts of cool things can we do with this new HackRF unit?  I like to think of SDR as a computer sound card (remember Sound Blaster 16?), but for digitizing radio waveforms instead of audio waveforms.  The breakthroughs we’ve seen in technology have enabled the implementation of components like amps, mixers, modulators, etc. — once pieces of hardware as software on an embedded system like the HackRF One.  In theory, an SDR can be used to interface with just about any wireless radio technology, from cellular to Bluetooth to FM Radio to Ham frequencies.  The possibilities for fun and exploration here are endless — some quick poking around turned up a talk on reversing tire pressure monitors using SDR from Toorcon last year, for example.

The HackRF One can transmit/receive radio signals from 10 Mhz to 6 Ghz.  Think about the items you use every day that fall into that range, from wireless keyboards to your home telephone to your garage door opener.  I’m currently experimenting with the HackRF One in Pentoo Linux because it comes with support for HackRF and GNU Radio.  Setup is pretty straightforward – download the .iso, install it onto a (preferably high speed) USB flash drive using a tool like UNetbootin, then boot from the USB key.  The reason I am doing this natively vs in a virtual machine is because USB devices like the HackRF occasionally don’t work from within a virtual machine.  I will eventually try to get this running on Mac OS X with the installation of the Osmosdr drivers either via MacPorts or Homebrew, but for now Pentoo works well.

As a Ham radio operator and someone who grew up occasionally listening to and tinkering with police scanners, the first thing I plan on trying to implement is a scanner for Fire and EMS as described by Luke Berndt.  The plan is to then set up a cron job to have Sync back up recorded transmissions to one of my file servers, as all of my laptops run on SSDs that are somewhat-limited in capacity compared to my much larger (to the tune of 33TB) NAS storage arrays at home. Working in San Francisco means that there is all sorts of fun radio chatter that you can listen to, but I was previously limited to listening to just one stream at a time using a Uniden digital trunking scanner like the BC396T.  Since the HackRF is plugged into a computer, I will – in theory – be able to process and decode multiple transmissions, which should be fun.

There are some great resources out there for SDR if you are interested in trying this out for yourself – check out mossman’s blog (creator of the HackRF).  Are you already working on SDR or do you have some cool ideas in mind for what can be done with the HackRF?  Comment here and tell me about or send me an email/tweet.