SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.
- Patreon
- Discord Server
- IRC:
#sdrpp
(libera.chat) NO LONGER ACTIVE, JOIN DISCORD INSTEAD
- Multi VFO
- Wide hardware support (both through SoapySDR and dedicated modules)
- SIMD accelerated DSP
- Cross-platform (Windows, Linux, MacOS and BSD)
- Full waterfall update when possible. Makes browsing signals easier and more pleasant
- Modular design (easily write your own plugins)
Download the app bundle from the latest nightly build
then install the SDR++.app
bundle by dragging it into Applications.
Not all modules are built by default. I decided to disable the build of those with large libraries, libraries that can't be installed through the package manager (or pothos) and those that are still in beta. Modules in beta are still included in releases for the most part but not enabled in SDR++ (need to be instantiated).
Name | Stage | Dependencies | Option | Built by default | Built in Release | Enabled in SDR++ by default |
---|---|---|---|---|---|---|
airspy_source | Working | libairspy | OPT_BUILD_AIRSPY_SOURCE | ✅ | ✅ | ✅ |
airspyhf_source | Working | libairspyhf | OPT_BUILD_AIRSPYHF_SOURCE | ✅ | ✅ | ✅ |
bladerf_source | Working | libbladeRF | OPT_BUILD_BLADERF_SOURCE | ⛔ | ✅ (not Debian Buster) | ✅ |
file_source | Working | - | OPT_BUILD_FILE_SOURCE | ✅ | ✅ | ✅ |
hackrf_source | Working | libhackrf | OPT_BUILD_HACKRF_SOURCE | ✅ | ✅ | ✅ |
hermes_source | Beta | - | OPT_BUILD_HERMES_SOURCE | ✅ | ✅ | ✅ |
limesdr_source | Working | liblimesuite | OPT_BUILD_LIMESDR_SOURCE | ⛔ | ✅ | ✅ |
network_source | Unfinished | - | OPT_BUILD_NETWORK_SOURCE | ✅ | ✅ | ⛔ |
perseus_source | Beta | libperseus-sdr | OPT_BUILD_PERSEUS_SOURCE | ⛔ | ✅ | ✅ |
plutosdr_source | Working | libiio, libad9361 | OPT_BUILD_PLUTOSDR_SOURCE | ✅ | ✅ | ✅ |
rfspace_source | Working | - | OPT_BUILD_RFSPACE_SOURCE | ✅ | ✅ | ✅ |
rtl_sdr_source | Working | librtlsdr | OPT_BUILD_RTL_SDR_SOURCE | ✅ | ✅ | ✅ |
rtl_tcp_source | Working | - | OPT_BUILD_RTL_TCP_SOURCE | ✅ | ✅ | ✅ |
sdrplay_source | Working | SDRplay API | OPT_BUILD_SDRPLAY_SOURCE | ⛔ | ✅ | ✅ |
sdrpp_server_source | Working | - | OPT_BUILD_SDRPP_SERVER_SOURCE | ✅ | ✅ | ✅ |
soapy_source | Working | soapysdr | OPT_BUILD_SOAPY_SOURCE | ✅ | ✅ | ✅ |
spectran_source | Unfinished | RTSA Suite | OPT_BUILD_SPECTRAN_SOURCE | ⛔ | ⛔ | ⛔ |
spectran_http_source | Unfinished | - | OPT_BUILD_SPECTRAN_HTTP_SOURCE | ✅ | ✅ | ⛔ |
spyserver_source | Working | - | OPT_BUILD_SPYSERVER_SOURCE | ✅ | ✅ | ✅ |
usrp_source | Beta | libuhd | OPT_BUILD_USRP_SOURCE | ⛔ | ⛔ | ⛔ |
Name | Stage | Dependencies | Option | Built by default | Built in Release | Enabled in SDR++ by default |
---|---|---|---|---|---|---|
android_audio_sink | Working | - | OPT_BUILD_ANDROID_AUDIO_SINK | ⛔ | ✅ | ✅ (Android only) |
audio_sink | Working | rtaudio | OPT_BUILD_AUDIO_SINK | ✅ | ✅ | ✅ |
network_sink | Working | - | OPT_BUILD_NETWORK_SINK | ✅ | ✅ | ✅ |
new_portaudio_sink | Beta | portaudio | OPT_BUILD_NEW_PORTAUDIO_SINK | ⛔ | ✅ | ⛔ |
portaudio_sink | Beta | portaudio | OPT_BUILD_PORTAUDIO_SINK | ⛔ | ✅ | ⛔ |
Name | Stage | Dependencies | Option | Built by default | Built in Release | Enabled in SDR++ by default |
---|---|---|---|---|---|---|
atv_decoder | Unfinished | - | OPT_BUILD_ATV_DECODER | ⛔ | ⛔ | ⛔ |
falcon9_decoder | Unfinished | ffplay | OPT_BUILD_FALCON9_DECODER | ⛔ | ⛔ | ⛔ |
kgsstv_decoder | Unfinished | - | OPT_BUILD_KGSSTV_DECODER | ⛔ | ⛔ | ⛔ |
m17_decoder | Beta | - | OPT_BUILD_M17_DECODER | ⛔ | ✅ | ⛔ |
meteor_demodulator | Working | - | OPT_BUILD_METEOR_DEMODULATOR | ✅ | ✅ | ⛔ |
pager_decoder | Unfinished | - | OPT_BUILD_PAGER_DECODER | ⛔ | ⛔ | ⛔ |
radio | Working | - | OPT_BUILD_RADIO | ✅ | ✅ | ✅ |
weather_sat_decoder | Unfinished | - | OPT_BUILD_WEATHER_SAT_DECODER | ⛔ | ⛔ | ⛔ |
Name | Stage | Dependencies | Option | Built by default | Built in Release | Enabled in SDR++ by default |
---|---|---|---|---|---|---|
discord_integration | Working | - | OPT_BUILD_DISCORD_PRESENCE | ✅ | ✅ | ⛔ |
frequency_manager | Working | - | OPT_BUILD_FREQUENCY_MANAGER | ✅ | ✅ | ✅ |
iq_exporter | Beta | - | OPT_BUILD_IQ_EXPORTER | ✅ | ✅ | ⛔ |
recorder | Working | - | OPT_BUILD_RECORDER | ✅ | ✅ | ✅ |
rigctl_client | Unfinished | - | OPT_BUILD_RIGCTL_CLIENT | ✅ | ✅ | ⛔ |
rigctl_server | Working | - | OPT_BUILD_RIGCTL_SERVER | ✅ | ✅ | ✅ |
scanner | Beta | - | OPT_BUILD_SCANNER | ✅ | ✅ | ⛔ |
scheduler | Unfinished | - | OPT_BUILD_SCHEDULER | ⛔ | ⛔ | ⛔ |
First, please make sure you're running the latest automated build. If your issue is linked to a bug it is likely that is has already been fixed in later releases
This is a bug in 1.0.0 that was fixed in 1.0.1
In some cases, if a crash happened while the config was being saved, the config file would be corrupted and SDR++ would refuse to start because of it.
This has now been fixed. If a config file is corrupted it'll just reset it to its default state.
You likely installed the soapysdr-module-all
package on Ubuntu/Debian. If not it's still a SoapySDR bug caused by multiple soapy modules coming in conflict. Uninstall anything related to SoapySDR then install soapysdr itself and only the soapy modules you actually need.
If the module was included in a later update, it's not enabled in the config. The easiest way to fix this is just to delete the config.json
file and let SDR++ recreate it (you will lose your setting relating to the main UI like VFO colors, zoom level and theme).
The best option however is to edit the config file to add an instance of the module you wish to have enabled (see the Module List).
This is a bug recently introduced by libusb1.4 To solve, this, simply downgrade to libusb1.3
If you also have the SoapySDR module enabled, this is a bug in libhackrf. It's caused by libhackrf not checking if it's already initialized.
The solution until a fixed libhackrf version is released is to disable the soapy_source module from SDR++. For this, go into the "Module Manager" menu and click the -
button next to the row with "soapy_source". After that, restart SDR++.
If you still have an issue, please open an issue about it or ask on the discord. I'll try to respond as quickly as I can. Please avoid trying to contact me on every platform imaginable thinking I'll respond faster though...
Feel free to submit pull requests and report bugs via the GitHub issue tracker. I will soon publish a contributing.md listing the code style to use.
- Bob Logan
- Christian Häusler
- Croccydile
- Dale L Puckett (K0HYD)
- Daniele D'Agnelli
- David Taylor (GM8ARV)
- D. Jones
- Dexruus
- EB3FRN
- Eric Johnson
- Ernest Murphy (NH7L)
- Flinger Films
- Frank Werner (HB9FXQ)
- gringogrigio
- Jeff Moe
- Joe Cupano
- KD1SQ
- Kezza
- Krys Kamieniecki
- Lee Donaghy
- Lee KD1SQ
- .lozenge. (Hank Hill)
- Martin Herren (HB9FXX)
- ON4MU
- Passion-Radio.com
- Paul Maine
- Peter Betz
- Scanner School
- Scott Palmer
- SignalsEverywhere
- Syne Ardwin (WI9SYN)
- W4IPA
- William Arcand (W1WRA)
- William Pitchford
- Yves Rougy
- Zipper