Thursday, May 28, 2015

FM Radio On Your PC For 17 Bucks

Ever since discovering my new favorite toy a month or so ago, the SDR radio USB dongle for my computer, I've been finding all these fun things I can do with it.

Currently I'm living in a cabin in the woods which barely has reliable power and Internet. The big power items are my fridge and desktop computer, all being powered by a long strand of romex to the neighbor's house, and I'd rather not push it with more devices like an FM stereo receiver. I already have a sound system on my PC.

So, finding out that this SDR dongle receives stereo FM was immediately appealing to me. It took a week of playing with it, but I finally have about a half dozen radio stations getting a good signal here in a valley which is known for not getting a reliable signal for anything!

1. Get An SDR Dongle

There's a million of these dongles out there based on the Realtek RTL2832U chipset. They vary in price from about $24 all the way down to $10. I paid about $12 for mine, and I've noticed the price fluctuates a little bit in either direction with every seller almost, so look around before you buy it.

2. Get An MCX Male To Coax Male Connector

This little dongle comes with a tiny antenna which is barely good enough to show you what an awesome device you have. It might even be good enough for an urban area depending on where you are. But I'm in the middle of nowhere, so I need a real antenna. The problem is that most FM antennas are coax, and this dongle comes with an MCX connector.

In order to attach a third party antenna, you'll want to make sure you have the adapter.

Above you can see the special adapter allowing me to plug in the FM antenna

3. Get An FM Antenna

The market is flooded with thousands of different kinds of FM antennas. There's enough antennas to devote an entire blog too, not just an article. But once you have the adapter above, you can connect it to anything coax and even make an old school dipole antenna if you want.

What I ended up doing was using a fancy amplified indoor antenna like this one that my sister gave me. I bought another strand of coax cable to make it longer and ended up mounting it outside. We'll see whether it stands up to the elements. It works awesome and I haven't even connected the little signal booster it comes with.

The flat indoor antenna sitting right below the cellular signal booster antenna

4. Install The Software

Once you have the dongle plugged into a USB port  and connected to a real antenna, all that's left is to install some software. I have personally connected my SDR dongle into Android tablets and even my Raspberry Pi 2, but so far I like running it best on Windows with SDRSharp because it's so easy to use.

Below is a screen shot of what I've heard referred to as "the most complicated way possible to listen to FM radio" but I think it's cool. You also have so many more settings to fiddle with. The taller the wave form, the better the signal.

Notice that it even shows the song and station info if the station supports it

5. Fine Tune Your Antenna

Once it's all setup and you're receiving FM radio, you can move the antenna around and experiment by seeing which stations get a better signal with the antenna in different positions. I picked a spot outside right next to the cellular GSM signal booster where it gets the best reception for my favorite station and also gets good reception for the local police / fire / medical services.

Final Thoughts

Combined with a good sound system, this setup gives me great sound from my favorite station, 97.1 Charlie FM in Portland, OR. It came in at a total cost of about $17: $12 for the dongle and $5 for the adapter. If you can't find an antenna lying around or don't want to build one for free / cheap, then add the cost of an antenna and you're still nowhere near what a good FM receiver costs, and I consider this setup a good FM receiver.

Another thing to keep in mind is that most of the software programs to play FM radio could use a good chunk of your CPU's processing power if you are using an old PC or tablet. My PC is older but it has a 6 core AMD Phenom II inside of it, so there's no problem. My new quad core Raspberry Pi also plays FM radio with no problem, though I have read that older versions could have trouble with certain software.

Friday, May 1, 2015

Adventures in SDR: Software Defined Radio For Cheap

Background (Not For TV!)

My quest originally involved looking for a cheap TV tuner while I stay out in a cabin in the woods, rehabbing my sister's property in a very rural area. I can get satellite but I don't watch much TV. I could stream Netflix or something but I'm lucky to have this semi-reliable, low-bandwidth Wi-Fi connection across a small valley to the neighbor's house.

So I bought this $13 dongle from Amazon which says "TV" in its name. I didn't catch that other identical versions of this product from other sellers had obvious reviews complaining that this USB dongle did not decode ATSC, meaning you can not use it to watch TV in the USA. The only reviews I noticed just mentioned how awesome this device is.

For anyone who doesn't understand, the irony of these USB devices based on the RTL2832U chipset is that they can basically receive anything but TV.

I was about to return this dongle when I did a little research, stumbling on one of the coolest hobbyist toys I've ever owned, and the second most fun I've ever had for 13 bucks.

Software Defined Radio: SDR

It's exactly what it sounds like: a programmable tuner. Mine has the Rafael Micro R820T tuner in it, meaning it can receive radio frequencies from 24 MHz to 1766 MHz, which is a very wide range for something under 20 dollars.

Lucky for us, an electronics enthusiast discovered a fluke (?) in the chipset of these dongles a few years ago, and now there's a whole community and a boat load of software making use of this dongle. There are applications for Linux, Android and Windows which can do everything from receive FM radio transmissions to police scanners and even some exotic things like pick up airplane transponder data and satellite signals.

Magnetic base stuck to a wood screw!

What Can It Pick Up? 

This dongle can basically pick up any signal in its frequency range, which is wide. Not only is the frequency range large, but so are the implications for its use because most of us take for granted all the little wireless gadgets we have.

  • CB: Citizen's Band
  • FM Stereo Radio 
  • Standard Police and Fire Frequencies
  • Weather and Emergency Broadcasts
  • CDMA and GSM celluar signals from phones and towers
  • Family Radio and other store-bought walkie talkie frequencies
  • Store bought baby monitors and similar devices
  • Automotive key fobs and garage door openers
  • Weather balloons
  • Radio Astronomy
  • Airplane transponder data

Jeez, What Can't It Pick Up?

  • American ATSC TV, which it doesn't have the bandwidth for.
  • Ham radio is below its range, and so is AM radio
  • Wi-Fi is above its range
  • Most land-line wireless phones are above its range
  • It obviously can't decrypt encrypted radio transmissions

The Sky Is The Limit

Actually since this thing can pick up signals from airplane transponders and satellites, so the sky isn't the limit. For the most part, the capabilities of this device is limited more by the software than the hardware. It can't fully decode ATSC television signals, though there is an app which can partially decode TV and give you an almost clear black-and-white TV picture ... no thanks.

The great thing about these RTL2832U dongles is that they run on so many platforms. I just ordered a Raspberry Pi 2 kit yesterday and I intend to hook it up to my dongle and put my SDR device on the network.

SDR# Software For Windows

If you are using this device for Windows, which most of us are, then your best best is probably SDR# which is pronounced "SDR Sharp" because it is written in the C# language and is open source. Here is a link to their web site. Once you download the ZIP file, all you need to do is:
  1. Unzip the ZIP file into its own folder
  2. Run the installer batch file and let it download the software
  3. Run the zadiag.exe diagnostic program, list the devices, and install the driver for your dongle
  4. Run SDR sharp and choose "RTL-SDR / USB" for your device
  5. Press the Play button
To listen to FM radio, just tune somewhere between 88,000,000 and 108,000,00 making sure to select "WFM" as your modulation setting. What's nice about SDR#'s built in FM radio is that it picks up the song and station information as you can see in the screen shot below. I've seen it called "the most complicated way possible to listen to FM radio"

There are lots of plugins on their web site, and I use one as a scanner, where I can set the frequency range and cut it loose to listen to local fire, police and medical. Below the scanner stopped to listen to the local police dispatch. 

More Resources for Software Defined Radio

The SDR Wiki Page is a good starting point
RTL-SDR.COM is a good resource
OSMOCOM who are the experts
SDR# is a must if you are using Windows
Hack RF is a powerful but expensive alternative platform
Web SDR radios can be connected to and controlled over the web!
Reddit has a whole community devoted to SDR