3.2.10. SDR applications
Note
The obsolete Red Pitaya SDR module was moved here.
The Red Pitaya SDR applications allow you to use the Red Pitaya board as a Software Defined Radio. The following applications are available in the official Red Pitaya OS:
SDR Transceiver compatible with HPSDR.
SDR Receiver compatible with HPSDR.
SDR Transceiver.
The instructions in this section refer to operating the applications above on the official Red Pitaya OS.
Note
The applications listed above are third-party applications, as they are ported directly from Pavel Demin’s Alpine Linux image. Please note that we synchronise the applications with each official Red Pitaya OS release, so they may not reflect the latest community updates. For access to the latest community updates, please check the Pavel Demin's Red Pitaya Notes GitHub.
SDR Transceiver compatible with HPSDR
The High Performance Software Defined Radio (HPSDR) project is an open source hardware and software project that develops a modular Software Defined Radio (SDR) for use by radio amateurs and short wave listeners.
This version of the SDR transceiver makes it usable with the software developed by the HPSDR project and other SDR programs that support the HPSDR/Metis communication protocol.
This SDR transceiver emulates a HPSDR transceiver similar to Hermes with a network interface, two receivers and one transmitter.
The HPSDR/Metis communication protocol is described in the following documents:
Software
The HPSDR compatible SDR transceiver should work with most programs that support the HPSDR/Metis communication protocol:
PowerSDR mRX PS which can be downloaded from this link.
QUISK with the
hermes/quisk_conf.pyconfiguration file.ghpsdr3-alex distributed client-server system.
openHPSDR Android application described in more detail at this link.
Java desktop application based on the openHPSDR Android Application.
Note
Please note that the aforementioned programs are open-source third-party software that is not maintained by the Red Pitaya team. While these programs were previously working on Red Pitaya, the project developers may not be maintaining them anymore. For the most current information, please refer to the respective project pages.
Getting started
To start the HPSDR compatible SDR transceiver open the application on the Red Pitaya web interface and connect to the Red Pitaya board using the HPSDR compatible software.
Configuring inputs and outputs
The sdr-transceiver-hpsdr program running on the Red Pitaya board expects six command line arguments:
sdr-transceiver-hpsdr 1 2 2 2 1 2
The first four arguments are for the receivers (RX1, RX2, RX3, RX4), where 1 corresponds to IN1 and 2 corresponds to IN2.
The last two arguments are for the outputs (OUT1, OUT2), where 1 corresponds to the TX signal and 2 corresponds to the envelope signal.
For example, to send the TX signal to OUT2, the corresponding line in start.sh should be edited and the last argument should be set to 1:
sdr-transceiver-hpsdr 1 2 2 2 1 1
In the official Red Pitaya OS the start.sh script is located in:
/opt/redpitaya/www/apps/sdr-transceiver-hpsdrdirectory on STEMlab 125-14.
/opt/redpitaya/www/apps/sdr-transceiver-122-88directory on SDRlab 122-16.
More information
For more information on hardware connections, software configuration, and other details, please refer to the Red Pitaya Notes. Please select the appropriate version of the Red Pitaya board:
SDR Receiver compatible with HPSDR
This version of the Red Pitaya SDR receiver emulates:
STEMlab 125-14: a single Hermes module with eight receivers. It may be useful for projects that require eight receivers compatible with the programs that support the HPSDR/Metis communication protocol.
SDRlab 122-16: two Hermes modules with eight receivers. It may be useful for projects that require sixteen receivers compatible with the programs that support the HPSDR/Metis communication protocol.
The HPSDR/Metis communication protocol is described in the following documents:
Software
The HPSDR compatible SDR receiver should work with most programs that support the HPSDR/Metis communication protocol:
PowerSDR mRX PS which can be downloaded from this link.
QUISK with the
hermes/quisk_conf.pyconfiguration file.ghpsdr3-alex distributed client-server system.
openHPSDR Android application described in more detail at this link.
Java desktop application based on the openHPSDR Android Application.
Note
Please note that the aforementioned programs are open-source third-party software that is not maintained by the Red Pitaya team. While these programs were previously working on Red Pitaya, the project developers may not be maintaining them anymore. For the most current information, please refer to the respective project pages.
Getting started
To start the HPSDR compatible SDR receiver open the application on the Red Pitaya web interface and connect to the Red Pitaya board using the HPSDR compatible software.
To run a CW Skimmer Server and Revers Beacon Network Aggregator, see the links in the next chapter.
More information
For more information on hardware connections, software configuration, and other details, please refer to the Red Pitaya Notes. Please select the appropriate version of the Red Pitaya board:
SDR transceiver
The SDR transceiver consists of two SDR receivers and of two SDR transmitters.
The implementation of the SDR receivers is quite straightforward:
An antenna is connected to one of the high-impedance analog inputs.
The on-board ADC (125 MS/s sampling frequency, 14-bit resolution) digitizes the RF signal from the antenna.
The data coming from the ADC is processed by a in-phase/quadrature (I/Q) digital down-converter (DDC) running on the Red Pitaya’s FPGA.
The SDR receiver is described in more details at this link.
The SDR transmitters consist of the similar blocks but arranged in an opposite order:
The I/Q data is processed by a digital up-converter (DUC) running on the Red Pitaya’s FPGA.
The on-board DAC (125 MS/s sampling frequency, 14-bit resolution) outputs RF signal.
An antenna is connected to one of the analog outputs.
The tunable frequency range covers from 0 Hz to 60 MHz.
The I/Q data rate is configurable and five settings are available: 20, 50, 100, 250, 500 and 1250 kSPS.
The implementation of the SDR receivers is quite straightforward:
An antenna is connected to one of the high-impedance analog inputs.
The on-board ADC (122.88 MS/s sampling frequency, 16-bit resolution) digitizes the RF signal from the antenna.
The data coming from the ADC is processed by a in-phase/quadrature (I/Q) digital down-converter (DDC) running on the Red Pitaya’s FPGA.
The SDR transmitters consist of the similar blocks but arranged in an opposite order:
The I/Q data is processed by a digital up-converter (DUC) running on the Red Pitaya’s FPGA.
The on-board DAC (122.88 MS/s sampling frequency, 14-bit resolution) outputs RF signal.
An antenna is connected to one of the analog outputs.
The tunable frequency range covers from 0 Hz to 60 MHz. The I/Q data rate is configurable and five settings are available: 24, 48, 96, 192, 384, 768 and 1536 kSPS.
Getting started with GNU Radio
Connect an antenna to the IN1 connector on the Red Pitaya board.
Open the SDR Transceiver application on the Red Pitaya board.
Install GNU Radio
Clone the source code repository:
git clone https://github.com/pavel-demin/red-pitaya-notes
Run GNU Radio Companion and open AM transceiver flow graph:
cd red-pitaya-notes/projects/sdr_transceiver_122_88/gnuradio export GRC_BLOCKS_PATH=. gnuradio-companion trx_am.grc
Getting started with SDR# and HDSDR
Connect an antenna to the IN1 connector on the Red Pitaya board.
Open the SDR Transceiver application on the Red Pitaya board.
Download pre-built ExtIO plug-in for SDR# and HDSDR.
Copy
extio_red_pitaya.dllinto the SDR# or HDSDR installation directory.Start SDR# or HDSDR.
Select Red Pitaya from the Source list in SDR# or from the Options [F7] → Select Input menu in HDSDR.
Press Configure icon in SDR# or press SDR-Device [F8] button in HDSDR, then enter the IP address of the Red Pitaya board and set ADC sample rate to 122.88 MSPS.
Press Play icon in SDR# or press Start [F2] button in HDSDR.
More information
For more information on hardware connections, software configuration, and other details, please refer to the Red Pitaya Notes. Please select the appropriate version of the Red Pitaya board:
macOS compatibility
Red Pitaya SDR applications expose an HPSDR/Metis (Hermes) compatible network stream. On macOS the SDR client ecosystem is smaller than on Windows or Linux, and most popular clients either do not natively support Hermes/Metis or require additional configuration.
Known issues on macOS
SDR++ does not include a Hermes/Metis source plugin by default on macOS.
SparkSDR / Spark++ may fail to discover Red Pitaya if there is a Hermes protocol version mismatch. Inconsistent behaviour (works once, then crashes) often points to mismatched protocol versions or a corrupted configuration file — try clearing the application preferences between reinstalls.
Gqrx requires a SoapySDR or OsmoSDR backend and cannot connect to Red Pitaya directly.
macOS firewall or content/privacy settings can silently block the UDP/TCP ports used by the Hermes/Metis protocol.
Recommended approaches
Use ghpsdr3-alex on a Linux host or Linux VM (recommended)
Install ghpsdr3-alex on a Linux machine (or a Linux VM running on your Mac via Parallels, VMware, or VirtualBox). Configure it to connect to Red Pitaya over Hermes/Metis. ghpsdr3-alex will act as a server that many SDR clients — including macOS ones — can connect to, bypassing the protocol mismatch.
Use PowerSDR mRX in a Windows VM
PowerSDR mRX PS with the Red Pitaya/HAMlab profile is known to work reliably. Run it inside a Windows VM on your Mac (Parallels, VMware, or VirtualBox) and use remote desktop or audio/IQ streaming to macOS if needed.
Hermes → SoapySDR bridge (advanced)
SDR++ supports SoapySDR backends. A bridge that translates Red Pitaya’s Hermes/Metis stream into a SoapySDR-compatible source allows SDR++ to use Red Pitaya as a Soapy device. No official bridge exists at the time of writing, but community tools or a small wrapper using
libmetis/ghpsdr3code can be used. This approach requires Linux or macOS build toolchain knowledge.