Skip to main content

Building SDR++ from source code on a Raspberry PI 4 4GB

SDR++, The bloat-free SDR software

This assumes that you have already installed your SDR drivers, for the RTL-SDR I use the Osmocom ones from https://www.rtl-sdr.com/rtl-sdr-quick-start-guide/

Having found how good SDR++ is on Windows 11, I wanted it on my Raspberry PI 4 too. I did find a YouTube article from 2021 by Kevin Loughin https://www.youtube.com/watch?v=rNhh9eueYZg&t=2s who used Alexandre Rouma's install script and source code https://github.com/AlexandreRouma/SDRPlusPlus/

Kevin was using an older version of Raspberry Pi OS and also discovered that the installation script had been written blind (untested) and had a couple of issues, he referred to cloning direct from GitHub which is common practice, but that command was simply missing. No matter, I managed to change the commands script as below and started to compile it myself discovering that the Volk software v1.0 was no longer available. A helpful bash message informed me that v2 was available and I changed the script for that.  I also had to include sudo and a mkdir for the CMake folder and set those permissions for it to work. After a very long wait and a few edits as I am running the current version of Raspberry PI OS 32 bit Buster. I compiled it for an RTL-SDR, but you can change one command and compiling for other versions should be really straightforward.

My script for the RTL-SDR is below, I will put this on my GitHub too. 
https://github.com/TekMaker/SDRplus

#!/bin/sh
set -e

[ $(id -u) = 0 ] && echo "Please do not run this script as root" && exit 100

echo "Installing dependencies"
sudo apt update

sudo apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libairspy-dev \
libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev libbladerf-dev liblimesuite-dev p7zip-full wget

git clone https://github.com/AlexandreRouma/SDRPlusPlus

cd SDRPlusPlus

echo "Preparing build"
sudo mkdir -p build

cd build
sudo mkdir -p CMakeFiles

cmake .. -DOPT_BUILD_RTL_SDR_SOURCE=ON

echo "Building"
make

echo "Installing"
sudo make install

echo "Done!"


Save this file as rpi_install.sh

then chmod +x rpi-install.sh

./rpi_install.sh

If it doesn't go smoothly try entering the commands one line at a time into the terminal, you can skip the echo commands. I have built this on two installs so far with no problems.

If you want to compile for other radios either edit or add extra lines like this one "cmake .. -DOPT_BUILD_RTL_SDR_SOURCE=ON", for more information about this go to the Module List, and look for the Sources list on the github page https://github.com/AlexandreRouma/SDRPlusPlus/blob/master/readme.md.


Let me know how you get on with this!

Comments

Popular posts from this blog

DMR - How it works and how to get set up

And why you shouldn’t import too many repeaters to your codeplug like I did! I have made an accompanying video on YouTube at https://youtu.be/dNkdYzQbISY Setting up DMR takes some patience but once you access the repeaters and talk groups you will be rewarded with many QSOs from all over the world in glorious digital quality. DMR (Digital Mobile Radio) is a great transmission/reception mode, it is clear audio in a resilient wrapper that can withstand a lot of QRM - interference and fading. It is pretty much either working, or not with no real distortion. It has been developed due to the availability of cheap micro processors which can process audio into digital encoding and manage complex transmission systems. The DMR amateur radio system allows people to talk one to one or through a repeater in either simplex mode (same TX and RX frequencies) or duplex mode. You can probably access many DMR repeaters in your surrounding area and they provide access to hundreds of talk groups. Now mode

Getting started with the Anytone AT-D878UVII Super, making a codeplug

I passed my Foundation Amateur Radio Exam and have been using the Baofeng UV-S9 for over a couple of months (the first month just listening). I decided it was time for a better radio as a lot of activity seems to be on digital channels and links like Echolink, All Star etc. and the Baofeng scan facility is limited to either all channels, or all frequencies in one waveband. So I pre-ordered the Anytone AT-D878UVII Super as this is the only budget radio that seems to have enough memory to download the entire DMR contact list which now exceed 200,000 registred users.  My new Anytone AT-D878UVII Super The Anytone can hold upto 500,000 so it should be good for a few years. When programming a radio like this people refer to a codeplug, it is not a physical plug, rather it is data that is specific to your radio's frequencies, repeater channels, DMR contacts and personal settings. It will also contain your DMR Id so beware of exporting the data plug to other people without first removing

The Trident multi Band aerial for scanners and sdr reception and transmitting

I wanted a Discone type aerial, they look great! Then I read some reviews and people said that a dual band dipole worked better. I also wanted to be able to use it for different bands. So on YouTube I found the best dual band aerial design I could. Then I found this 2M ground plane aerial/antenna . why not combine elements of both? So why would this work? Well, when an antenna or aerial is resonant it's impedance falls to around 50 Ohms. When it is outside resonance the impedance rises to several thousand Ohms and becomes irrelavent as it reduces the signal. So when you are on 2M the other tripod elements are ignored and you can achive good power transfer and gain. The same is true for each other band. I have seen this on other aerial designs too. It does work I promise you! Antenna vs aerial, what is the difference?  An aerial is to receive radio signals only, there are other design considerations but an Antenna has to cope with high voltages and heat. An antenna is designed to