Using the RFSpace Cloud-IQ with CuteSDR on the Raspberry Pi 2

Few days ago, I have been playing with CuteSDR on Linux and Mac and came to think, would this work on a Raspberry Pi? While there is nothing conceptually impossible about running CuteSDR on the Raspberry Pi 2, I often run into obstacles trying to port Qt application to embedded devices, so here are my notes about how to make it work.


Cloud-IQ with CuteSDR on the Raspberry Pi 2

In the following I assume you are somewhat familiar with using the Raspberry Pi 2. You know how to open and edit files and how to use the terminal.

Start with standard Raspbian Jessie image that is fully up to date and configured to run the desktop. Also make sure to have the correct audio output selected in raspi-config, otherwise you will not hear any audio.

Install the prerequisites by typing the following in the terminal:

sudo apt-get install subversion qt5-default qt5-qmake qtbase5-dev \
qtmultimedia5-dev libqt5multimedia5-plugins

Next, fetch the source code from SourceForge:

svn checkout svn://svn.code.sf.net/p/cutesdr/code/trunk cutesdr-code

The source code is now located in the cutesdr-code subdirectory.

Before building, I recommend disabling the use of double precision floating point numbers since the Raspberry Pi does not have hardware support for it. Open the file dsp/datatypes.h, locate and comment out the following line:

#define USE_DOUBLE_PRECISION

becomes:

//#define USE_DOUBLE_PRECISION

Now we are ready to build. Type the following in the cutesdr-code subdirectory:

mkdir build
cd build
qmake ..
make

Wait for the build to finish, when done you should have a CuteSdr executable .

Start with network settings and find your Cloud-IQ SDR, or any other RFSpace networked SDR. The audio settings should be good as they are. It will run at about 30 % CPU load up to 500 kHz bandwidth. If compiled with double precision it will only work up to 200 kHz.

You can download my binary here: cutesdr-1.20b1-rpi2.tar.gz

Enjoy!

Updates

2016/01/10:

  • Updated to take latest code changes into account. The code can now be built without modifications.