====== 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. [[https://github.com/jketterl/openwebrx/wiki/SDRPlay-device-notes#using-sdrplay-devices-in-docker-containers|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