Fun with the FUNcube Dongle

Posted by Nate Bargmann on Wed, Jul 27, 2011

Late last year a new Software Defined Radio (SDR) project hit the amateur radio market place, the FUNcube dongle from AMSAT UK (FCD).  It is a receiver covering the spectrum of approximately 64 to 1700 MHz and presents a USB audio device to the computer with in-phase (I) output on one channel and quadrature (Q) output on the other.  Any SDR software capable of working with IQ from an audio stream should “just work” ™, however setting the center frequency may require use of third-party software until the SDR software in question is updated for FCD control.


At the most basic level of control is the Hamlib funcube backend which is a part of the kit backend, rig model 2513.  With this backend a program such as Gpredict can set the center frequency.  At this time the Hamlib backend does not offer any additional means of control of the FCD although that may change as I become more familiar with the HID API of the FCD (how’d you like that bit of TLA soup?).  Perhaps the most simple means is to use the Hamlib rigctl utility to set the center frequency:

rigctl -m 2513 F 162425000

and then use Quisk as the SDR software which is easy to setup.  Setup consists of a custom configuration file as detailed by Alex, OZ9AEC.  I will detail my setup in a later post on Quisk.

Next up in the software food chain are SDR programs that can control at least the center frequency of the FCD.  At the moment the Funcube Dongle source block for GNU Radio fits this category.  Running the grc (GNU Radio Companion) XML file from within the GNU Radio Companion results in a spectrum analyzer display with frequency and other controls for the FCD.  Again, I will detail my setup in a later post.

Finally, there is the FCD HID control program Qthid, courtesy of Alex OZ9AEC.  Thanks go to Alex for the yeoman’s  work he has done with the FCD under Linux.  Without his effort and contributions, getting started with the FCD would have been much more difficult.

Initial FCD setup

For someone like me who pulls a device out of the package. plugs it in, only to find “it doesn’t work”, life depends on Google to find the answers.  Actually, the answer was right on the FUNcube Dongle and Qthid pages although I had to dig a bit and put together a few clues.  For starters, the dongle is shipped with a very basic firmware that allows operational tests at the factory but is incomplete for use as an SDR receiver.  However, the latest version of Qthid won’t recognize the firmware as shipped.  The answer is to use the earlier version of Qthid, Version 2.2, to update the firmware to at least 18f and then Qthid 3.0 will work.  Pay particular attention to the section detailing the udev rule!

Once the firmware is updated, Qthid 3.0 can be used to control all aspects of the FCD.  Don’t worry that the toolbar buttons and most of the menu entries are grayed out as these are place holders for future functionality.

How does it perform?

So far I’ve been playing with my FCD for a couple of weeks even though it arrived back in May.  I have been getting familiar with the SDR offerings on Linux—Quisk and GNU Radio thus far—by doing tests of receiving various narrow-band FM signals.  So far I have concentrated on local NOAA weather stations and a couple of local amateur radio repeaters.  The WX stations have the advantage of transmitting 24×7 providing a stable signal source.  The sensitivity appears to be reasonable although I’ve yet to try receiving any signals above the amateur radio 440 MHz repeater subband.

As the FCD’s primary purpose is as a receiver for amateur radio satellites, my next project is to build an antenna suitable for satellite reception and experimenting with controling the FCD with Gpredict.