SDR++ is a highly versatile software-defined radio (SDR) application that supports various SDR devices and platforms. By setting up an SDR++ server on a Raspberry Pi 4, you can connect to it from another computer on the network and use it remotely. In this guide, I'll will walk you through the steps to install and configure SDR++ on your Raspberry Pi 4.
Prerequisites
Before starting, ensure your Raspberry Pi 4 has the following:
- Raspberry Pi OS (64 bit) or another compatible Linux distribution installed.
- Up to date software packages.
- Internet access for downloading dependencies and source codes from GitHub.
Step 1: Install dependencies
The first step is to install the required libraries and tools for compiling the source code. These dependencies are essential for building and running SDR++ and its supported SDR drivers. Run the following commands:
sudo apt update
sudo apt install git cmake libusb-1.0-0-dev libfftw3-dev libglfw3-dev libvolk2-dev libzstd-dev libsoapysdr-dev libairspy-dev libairspyhf-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev
These commands update the package list and install the necessary libraries for USB communication, FFT computations, driver support for various SDRs, and more.
Step 2: Download and install the RTL-SDR drivers
If you're using an RTL-SDR dongle, you'll need to build and install the appropriate drivers. Start by cloning the rtl-sdr-blog repository and follow the steps below:
git clone https://github.com/rtlsdrblog/rtl-sdr-blog.git
cd rtl-sdr-blog
mkdir build && cd build
cmake .. -DINSTALL_UDEV_RULES=ON
make -j$(nproc)
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig
This installs the RTL-SDR drivers for the RTL-SDR v3 or v4 dongle and the necessary udev
rules, enabling the system to recognize your device automatically. The sudo ldconfig
command ensures that the libraries are correctly linked.
Step 3: Download and install SDR++
Next, download and compile the SDR++ source code by cloning its GitHub repository:
git clone https://github.com/AlexandreRouma/SDRPlusPlus.git
cd SDRPlusPlus
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
Step 4: Set up and run the SDR++ server
Once the compilation is complete, hopefully without errors, you can run SDR++ as a server. To start the server, execute the following command:
sdrpp -s
This starts SDR++ in server mode. Ensure that your Raspberry Pi's firewall and network settings permit connections to the server.
Step 5: Start SDR++ automatically on Raspberry Pi boot (optional)
To ensure SDR++ starts automatically when your Raspberry Pi reboots, you can use crontab
. Follow these steps to configure it:
-
Open the crontab configuration file for the current user:
crontab -e
If this is your first time using
crontab
, you'll be prompted to select an editor. Choose your preferred editor (e.g.,nano
orvim
). -
Add the following line to the end of the file to run SDR++ in server mode at boot:
@reboot /usr/bin/sdrpp -s
-
Save and close the file. If you are using
nano
, you can press Ctrl + O, then Enter, and Ctrl + X to exit. Forvim
, type :wq instead, then hit Enter. -
Finally, reboot your Raspberry Pi to make these changes effective:
sudo reboot
Conclusion
You now have a functional SDR++ server running on your Raspberry Pi 4. This setup may also work on the Raspberry Pi 5, though I haven't personally tested it. Enjoy your new SDR++ server!