Table of Contents
OpenWebRX
OpenWebRX is a multi-user SDR receiver that can be operated from any web browser without the need for any additional client software.
Raspberry Pi + SDR Play Setup Walkthrough
This guide does assume some Linux terminal experience.
There are multiple variants of OpenWebRX out there - this guide is for the basic “official” version. You can easily switch later after you've got this basic version up and running.
Please read this entire page first to ensure you pick the most appropriate method for you.
Hardware
- Raspberry Pi 4b
- SDR Play RSP1
Docker version
NB there is an issue when using Docker with the initialisation of the RSP1 when used with Docker which requires 'sudo docker compose restart' after the host system boots. More info
- Burn Raspberry Pi OS Lite 64 bit to a micro SD card
- Boot Pi, SSH into it
- Then, execute the following, replacing the admin username/password as required. (You can remove them after first startup.)
curl -sSL https://get.docker.com/ | sudo sh mkdir openwebrx cd openwebrx echo "version: '3.3' services: openwebrx: restart: unless-stopped environment: - OPENWEBRX_ADMIN_USER=admin - OPENWEBRX_ADMIN_PASSWORD=rad10 tmpfs: /tmp/openwebrx devices: - /dev/bus/usb ports: - '8073:8073' volumes: - 'openwebrx-settings:/var/lib/openwebrx' image: 'jketterl/openwebrx:stable' volumes: openwebrx-settings:" > docker-compose.yml sudo docker compose up -d sudo docker compose restart
Then in your browser, access:
http://hostname-or-ip-of-your-pi:8073
You can access the settings screen by clicking Settings in the top right, and using the username admin
and password rad10
. In here, you would set up things like SDR profiles, waterfall settings, decoding etc.
Remember, due to the issue outlined above, the following is required on host reboot:
cd openwebrx sudo docker compose restart
If this is a non-starter for you, you might like to go for the bare OS approach instead, removing Docker from the equation, which follows:
Bare OS version
Download and install 64 bit Raspberry Pi OS Lite. Then:
Install SDRPlay driver:
mkdir sdrplay cd sdrplay wget https://www.sdrplay.com/software/SDRplay_RSP_API-ARM64-3.07.1.run chmod +x SDRplay_RSP_API-ARM64-3.07.1.run ./SDRplay_RSP_API-ARM64-3.07.1.run
Install SoapySDR module for SDRPlay:
sudo apt install -y libsoapysdr-dev git build-essential cmake g++ libpython3-dev python3-numpy swig python3-distutils cd ~ git clone https://github.com/pothosware/SoapySDRPlay.git cd SoapySDRPlay mkdir build cd build cmake .. make sudo make install
Install OpenWebRX:
wget -O - https://repo.openwebrx.de/debian/key.gpg.txt | sudo gpg --dearmor -o /usr/share/keyrings/openwebrx.gpg sudo sh -c "echo 'deb [signed-by=/usr/share/keyrings/openwebrx.gpg] https://repo.openwebrx.de/debian/ bullseye main' > /etc/apt/sources.list.d/openwebrx.list" sudo apt update sudo apt install -y openwebrx
Settings
- Delete unused SDR devices (RTL, Airspy)
- Keep device running at all times - turn on
- See notes on gain here: https://github.com/jketterl/openwebrx/wiki/SDRPlay-device-notes
- Set up profiles as required