Charly25 SDR project

pihpsdr for the Charly25 SDR

General description

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.

Charly25 adjustments

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 release/documentation/pihpsdr-build.pdf.

Desktop usage

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:

Version 1.2

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.