G0ORX’s pihpsdr is a HPSDR client intended for small touchscreens connected to a Raspberry Pi or similar. While it does not (yet) support all features that the hardware supports (missing Diversity reception and Predistortion), it still supports all the features one would usually expect from a software-defined radio, partly thanks to the WDSP library, which is also used by PowerSDR.
In addition to touchscreen controls, pihpsdr also offers support for buttons and rotary encoders, which can be connected via GPIO pins. An example is the Apache Labs PiHPSDR Controller, featuring a collection of buttons, rotary encoders, a Raspberry Pi 3 as well as a touchscreen.
As a first step to supporting all C25 features, controls for the preamp and attenuator have been added to pihpsdr. For this purpose, the controls for the 0-31dB step attenuator have been replaced with two sliders, allowing independent control of amplification and attenuation level.
For now, the necessary changes can be found in a seperate branch here. Please note that the binaries in the repository have not been recompiled with the new features, so users will have to compile the code themselves. The required steps to do so for a Debian-based system can be found in the repository under
While the interface was designed for screens with a resolution of 800×480 pixels, it is possible to use pihpsdr on a Desktop PC or Laptop with a bigger screen. This requires a few changes in
main.c, starting at around line 181:
display_height=480;lines enables the window to take an arbitrary size.
full_screen=0;causes the pihpsdr to go into fullscreen mode, even for screen wider than 800 or taller than 480 pixels.
gtk_window_set_resizable(GTK_WINDOW(top_window), FALSE);a few lines further down makes the window resizable.
GUI_OPTIONS+= -D FORCE_WHITE_MENUin
make clean, and compile again.
On 12 November 2017, Version 1.2 of pihpsdr was released, including support for PureSignal (predistortion), among other features. As the release is a pretty big commit (featuring over 6000 lines of code added!), and my released C25 modifications were slightly rushed, those will be reimplemented cleaner and on top of version 1.2 soon.
However, one RedPitaya/STEMlab-related change has been made so far. By uncommenting the
STEMLAB_DISCOVERY=STEMLAB_DISCOVERY option in
Makefile, pihpsdr can be built with support for discovering RedPitaya/STEMlab devices. This means that figuring out its IP address and opening the web interface is no longer necessary in order to use it as an SDR with pihpsdr. This feature requires additional software, which might come standard with your Linux distribution: Avahi and cURL. To install those on Debian-based systems, you can run
sudo apt-get install avahi curl.