How it works
Your radio --USB--> Host computer --network--> Your SDR application
(runs SoapySDR + driver (your PC, Mac
+ SoapySDRServer) or tablet)Three pieces go on the computer with the radio attached: SoapySDR (the translator layer), SoapyRemote (which makes it a network receiver), and one device driver for your particular radio.
Step 1 — install the three pieces (pick your operating system)
🍏 macOS (easiest)
Install Homebrew if you don't have it, then:
brew install soapysdr soapyremote brew install soapyrtlsdr # swap for YOUR device: soapyairspy, soapyhackrf, soapysdrplay3 … SoapySDRServer --bind
No driver-flashing, no Zadig. SDRplay users: install the SDRplay macOS API first from sdrplay.com/downloads.
🐧 Linux
sudo apt install soapysdr-tools soapysdr-module-rtlsdr # swap module for your device SoapySDRServer --bind
Driver/binary index for all distributions: Pothosware downloads.
🪟 Windows
The simplest route is the all-in-one PothosSDR bundle, which includes SoapySDR, SoapyRemote and most drivers together:
- Download & tutorial: github.com/pothosware/PothosSDR/wiki
Then start the server: SoapySDRServer --bind. SDRplay users: install the SDRplay Windows API v3 first from sdrplay.com/downloads.
🛠 From source (any OS)
git clone https://github.com/pothosware/SoapySDR.git cd SoapySDR && mkdir build && cd build && cmake .. && make && sudo make install git clone https://github.com/pothosware/SoapyRemote.git cd SoapyRemote && mkdir build && cd build && cmake .. && make && sudo make install
Check it sees your radio: SoapySDRUtil --find then SoapySDRUtil --probe="driver=rtlsdr" (use your driver name).
Step 2 — the driver for your radio
SoapySDR has no device drivers on its own; you add the one matching your hardware. On Windows, the PothosSDR bundle already includes most of these. Bit-depth shown is the device's native ADC resolution (usable resolution can be lower at the highest sample rates — check each device's own documentation).
| Receiver / family | Official driver source | ADC bits | Notes |
|---|---|---|---|
| RTL-SDR (RTL2832U dongles, Blog V3/V4) | SoapyRTLSDR | 8-bit | The popular low-cost dongle. Also works locally over USB without SoapyRemote. |
| SDRplay RSP — incl. RSP1, RSP1A, RSP2, RSPdx, RSPduo, nRSP-ST | SoapySDRPlay3 | 14-bit | Needs SDRplay API v3 first. Lets the otherwise-stranded RSP1 work over a network. |
| Airspy R2 / Mini | SoapyAirspy | 12-bit | Vendor downloads at airspy.com. |
| Airspy HF+ Discovery/Dual | SoapyAirspyHF | ~16-bit | Strong HF / 6 m receiver. |
| HackRF One | SoapyHackRF | 8-bit | Wideband 1 MHz–6 GHz. |
| LimeSDR USB / Mini | LimeSuite | 12-bit | SoapySDR support ships inside LimeSuite. |
| ADALM-PLUTO (PlutoSDR) | SoapyPlutoSDR | 12-bit | Needs libiio. |
| BladeRF 1.0 / 2.0 micro | SoapyBladeRF | 12-bit | |
| USRP / Ettus | SoapyUHD | varies | Bridges Ettus UHD into SoapySDR. |
The complete, always-current driver list lives at the Pothosware GitHub organisation: github.com/pothosware.
Step 3 — KiwiSDR & Web-888 owners
The KiwiSDR and Web-888 are web/audio receivers. In their normal firmware they serve a Kiwi/OpenWebRX web interface — there is no SoapySDR device to connect to, so SoapyRemote does not apply to them. Use an application that speaks the KiwiSDR protocol directly instead. Owner references: kiwisdr.com · rx-888.com/web.