Saturday, April 25, 2015

HackRF One Arrived Today

For those that don't know, a HackRF One is a small, Software-Defined Radio, meaning that it lacks most of the hardware in a "regular" Superheterodyne radio (mixers, local oscillators, IF filters, etc), and performs many of the normal radio functions in software, using Digital Signal Processing routines.

I've been on-the-fence about buying one of these since they came out (like I need another SDR in the house!), but a recent post over at The Silicon Graybeard's place pushed me over the edge.

My previous SDR experiments I've posted here have been about using the "$20 USB Dongles" to do things like receive pictures from the APT weather satellites, and the "FUNCube Pro" dongle, which is around $175 these days, but offers vastly superior performance compared to the "pocket change" USB dongles.

The HackRF One module goes for around $300, plus shipping and any accessories you order with it, and it will be interesting to see how the receive section compares to the FUNCube Pro + dongle I have.

One of the more interesting things about the HackRF is that it will also transmit, albeit at very low power levels, typically from +5dBm, about 3.2mW, to +15dBm, about 32mW.

I wasn't making much progress with it until I finally got some "permissions" set right so a normal user could access the USB port it runs on, but now I've done my first "Hello World" with it, using GNURadio Companion, an application that generates Python code to interface to GNU Radio, and run the radio from the flow-chart style elements you enter in to it.

Here's a screenshot of my first experiment:

The FFT Plot is a slice of the local FM radio spectrum out here in La-La Land.

I can't take any credit for coming up with this, as I learned how to do this from watching the excellent tutorials on the HackRF website.

I've always been put off by GNU Radio, as I've only tried to run it from the Command Line, and always had pretty mediocre results. It's one of those programs that's too configurable, and if you don't understand what you're doing, your results will be disappointing.

Enter the GNU Radio Companion, and now that I've viewed a few of the tutorials, one of those little light bulbs went "CLICK!" in my head, and I'll probably be able to make some progress.

For being FOSS, GNU Radio is a full-featured, industrial-strength developer environment for doing SDR experiments with a staggering array of hardware.

And now that I've started learning how to use the GNU Radio Companion, I might make use of GNU Radio in a much more efficient manner.


  1. I'll be interested to see how you like it after you figure out the ins and outs of working with it! ;-)

  2. I've been trying to get it run under Windoze today, as it's supposed to run with SDR#, but SDR# is squawking a whole lot about "driver not found or not configured properly", so I'm working that issue today.

    And I'm a bit disappointed that it's only an "8-bit" receiver, like the cheap dongles. This puts a definite limit on the Dynamic Range of the receiver.


Keep it civil, please....

Saturday Night Music

 One of my favorite songs, from one of my favorite bands, featuring one of my favorite guitar players. It was also written specifically for ...