This project turns a Raspberry Pi 5 into a simple control point for an SDRplay RSP1B-based SDR server.
The long-term goal is a small web switchboard that can start and stop different SDR backends remotely. That makes it easier to move between operating modes without repeatedly logging in over SSH and managing services by hand.
A single Raspberry Pi can host several SDR-related services, but the SDR hardware itself should only be controlled by one backend at a time. This project is designed to coordinate those services safely and provide a cleaner operational workflow.
project-root/
├── switchboard/
│ └── switchboard.py
├── custom-iq/
│ └── server.py
└── logs/
Discone Antenna
↓
SDRplay RSP1B
↓ USB
Raspberry Pi 5
<<<<<<< HEAD
<<<<<<< HEAD
├── Example 1: SDRconnect Server
├── Example 2: OpenWebRX+
├── Example 3: Custom IQ Streamer
├── Example 4: SDR Recorder
=======
├── Example 1
├── Example 2
>>>>>>> 8a4d72b (Begining)
=======
├── SDR Backend 1
├── SDR Backend 2
>>>>>>> 8aec2a9 (6-22-2026)
└── Web Switchboard
↑
Laptop / Phone / Desktop
Only one SDR-owning backend should run at any given time.
<<<<<<< HEAD These are example SDR backends that the switchboard can control.
<<<<<<< HEAD
SDRconnect Server lets the Raspberry Pi control the SDRplay RSP1B and stream/control it from another device running SDRconnect Client.
Use this when you want the easiest official SDRplay remote-control setup.
OpenWebRX+ turns the Raspberry Pi into a browser-based SDR receiver.
Use this when you want to listen and view the spectrum/waterfall from a web browser.
A custom IQ streamer is your own Python, C++, GNU Radio, or SoapySDR-based service that reads IQ data from the SDR and sends it over the network.
Use this when you want to build your own SDR data pipeline.
An SDR recorder service records IQ data or audio from the SDR to storage.
Use this when you want unattended recording, logging, or later signal analysis.
=======
Only one SDR-owning backend should run at a time.
Valid example:
Backend 1 running
Backend 2 stopped
Backend 3 stopped
Backend 4 stopped
Also valid:
Backend 1 stopped
Backend 2 running
Backend 3 stopped
Backend 4 stopped
Not valid:
Backend 1 running
Backend 2 running
Backend 3 running
Backend 4 running
If multiple services try to access the SDRplay RSP1B at the same time, the result can be device lock conflicts, unstable behavior, or service crashes.
Once the full setup is in place, the Raspberry Pi should behave like a managed SDR host:
Raspberry Pi 5 SDR Server
├── SDR Backend 1
├── SDR Backend 2
├── SDR Backend 3
├── SDR Backend 4
└── Web Switchboard on port 8080
The web interface should make it easy to select the active SDR mode while keeping backend control explicit and predictable.