Compiling WSPR For The pcDuino
I was working my way through my pile of development boards looking for project ideas when I ran across my pcDuino. I originally bought it to put together a small Linux SDR system but set it aside since the kernel at that time didn’t contain support for my USB sound card. Since then there have been a number of updates to the kernel so I decided to have another go at it.
We all have to start somewhere and I decided to start with the WSPR software. Using the instructions provided on George Smart’s Compiling WSPR page, it was only a few hours before I had a working system.
I started with the pcDuino base Lubuntu installation on a bootable SD card. The SD card is required since the pcDuino has only 2 GB of flash memory on board, which isn’t enough to hold all the tools needed to build WSPR. Mine was a 16 GB card but I think you could do it with 8 GB.
A network connection to load the necessary tools is also necessary.
To build WSPR the following software from the repositories is needed:
These can all be installed using apt-get.
sudo apt-get install < package >
The pcDuino’s version of autoconf isn’t recent enough to use with the WSPR source so it will need to be updated. However, before that, the M4 macro preprocessor needs to be installed.
To do so, download the file m4-1.4.17.tar.gz from the site ftp://ftp.gnu.org/gnu/m4 and untar it to a convenient location.
tar -xvf m4-1.4.17.tar.gz
Change to the created directory and build using the standard commands:
cd m4-1.4.17 ./configure make sudo make install
Once that’s done repeat the process for autoconf. Download the file autoconf-2.69.tar.gz from the site ftp.gnu.org/gnu/autoconf, untar it, and build.
tar xvf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure make sudo make install
You’ll also need Pillow (a fork of the Python Imaging Library) from the python repositories:
sudo easy_install3 pip sudo pip install -I --no-cache-dir pillow
Configuring The Source Code
On my system a link to the f2py utility didn’t exist so I had to create it:
sudo ln -s /usr/bin/f2py3.2 /usr/bin/f2py
Once that’s done, check the WSPR source code out of the repository:
svn checkout svn://svn.code.sf.net/p/wsjt/wsjt/branches/wspr wspr
and configure the Makefile:
cd wspr ./autogen.sh
Building The Software
When I first tried to build the software I had problems with the man pages. Since I didn’t anticipate a need for them I updated the Makefile to remove references to them. Change the line:
all: libwspr.a WsprMod/w.so fmtest fmtave fcal fmeasure wsprcode wspr0 manp user-guide
to remove references to manp and user-guide so the line reads:
all: libwspr.a WsprMod/w.so fmtest fmtave fcal fmeasure wsprcode wspr0
Once this is done, save the updated Makefile and perform the build.
Assuming everything completes without error, you can run the software with the command:
The picture below shows the WSPR software running on the pcDuino. I like the idea of having a small, low power system running my SDR software so I think I’ll try a few more packages. I don’t think there’s enough power here to run something like gnuradio but rtlsdr and perhaps HDSDR are definite possibilities.