Using the DL1YCF version of PiHPSDR with the RadioBerry

(This information is also for the Hermes Lite 2, Adalm Pluto, Pluto+ and LibreSDR)

During my RadioBerry build I started out using the version of PiHPSDR that was created just for the RadioBerry. The problem with this is that it is hard coded for a very small screen making it hard to use on a big screen since the user cannot resize the window dynamically.

I decided to look for a forked version of the PiHPSDR software that had the ability to change the window size to suit all use cases. During my search I stumbled across the DL1YCF fork of the source code that has some enhancements, one of which is the ability to change the display size.

In no time at all I had the source code downloaded and compiled only to find that it didn’t work with the RadioBerry. After some investigation I found that this was due to the fact that the RadioBerry software has compiled into it code that is used to access the GPIO pins on the RaspberryPi so that it can communicate with the RadioBerry HAT. This is fine except that the DL1YCF version of PiHPSDR also has code in it to use the GPIO pins. This of course causes a conflict and the net result is that nothing works.

Reading through the source code and Makefile I found that all I needed to do was to compile a version of PiHPSDR without GPIO support. This would then remove the conflict and allow the RadioBerry software to operate correctly.

To this end I put together a download/compile/install script for the DL1YCF version of PiHPSDR that will work on a RaspberryPi with a RadioBerry HAT and give the ability to resize the window to fit any size screen.

The script also works on a Linux Desktop PC running Ubuntu/Kubuntu/Linuxmint/Debian operating systems. (It will most likely work on other distro’s too but, these are all I have to hand currently). You can of course also use this software with a Hermes Lite 2 transceiver.

DL1YCF PiHPSDR running on RaspberryPi 4 with RadioBerry HAT on a large monitor
DL1YCF PiHPSDR running on RaspberryPi 4 with RadioBerry HAT on a large monitor

To install this enhanced version of PiHPSDR on your RaspberryPi/Desktop PC with GPIO support disabled, download the installation script below, unzip it and run it in a terminal on your RaspberryPi/Desktop PC in your home directory. (/home/<your-username>).

The script will download the latest source code from the DL1YCF github, disable the GPIO code and then compile and install it to your computer. If installing on a RaspberryPi it will create an icon on the desktop for you to use to start the software.

If installing on a PC then you will need to create your own desktop icon as the one created only works on a RaspberryPi. You can of course just start the software from the command line in a terminal. (My preferred method).

If you have a RaspberryPi 5 then I highly recommend that you run this version of PiHPSDR on it as it has a lot more computing power and handles using dual receive with ease. It will run on a Pi4 but, you will load the CPU more as it’s not as powerful as the later model Pi5.

The script will ask if you want to compile in SOAPYSDR support so that PiHPSDR will work with RTL-SDR, Adalm-Pluto, Pluto+ and LibreSDR. Enter Y to compile in support or N if you don’t need it.


I hope this proves useful to all the RadioBerry, Hermes Lite 2 and Pluto users out there who want to use PiHPSDR on a big screen.

More soon …

RadioBerry Software Install

For the last week or so I’ve been playing with a RadioBerry HAT for my RaspberryPi computer. The RadioBerry is a cut down version of the Hermes Lite 2 with just 20mW output power and separate TX and RX antenna ports. It’s a really neat little package that sits on top of a RaspberryPi4/5 and creates a neat little HF transceiver.

RadioBerry HAT
RadioBerry HAT

I initially started with the RadioBerry HAT on my Pi5 but, I soon realised that the software really doesn’t work well at all on the Pi5. I’m not 100% sure as to why but, for some reason it holds one core at 100% continuously. It seems that the RadioBerry software is single threaded. The end result is that on the Pi5 you cannot use a sample rate above 9600 before the IQ stream starts to stutter.

By contrast, installing the RadioBerry software onto a Pi4 it performs perfectly upto the maximum sample rate of 384000 without any stuttering. I’ll need to spend some time going through the source code to try and determine why it doesn’t work correctly on a Pi5.

Whilst going through the source I discovered that the developer has put some code in that collects data from the running computer and sends it to the developer’s website. Some of this data is then made public via his website, http://www.pa3gsb.nl/radioberry/api/read.php

One of the things displayed on the website is the Mac address of the RaspberryPi on which the RadioBerry is running. This is a security risk and should never be done!

The most annoying thing is that this is done without authorisation. The installation doesn’t state that it’s going to collect data every time you start your RaspberryPi computer nor does it offer the ability to opt out. It also doesn’t inform the user that it’s going to pass the data on to a third party. In some cases it even collects HAM Radio Callsign and location data and displays it on a public website, a clear breach of the UK/European Data Protection Law.

Finding spyware in open source software is really poor and something most open source developers would never consider doing.

To this end I have disabled the spyware in the version of the RadioBerry software that I am using and am making it available to everyone else to use via this blog.

So, to install the RadioBerry software you just need to download the installation script and run it in a terminal on your RaspberryPi computer.

The script will download the modified source code, compile it and install it on your RaspberryPi ready for you to use.


I encourage everyone that downloads the script and the source code to take a look at it and ensure you are happy with it. It’s important to know what you are running on your computer and what it does.

You can find the spyware code in the register.c file (It’s all commented out with “//” marks). The function now doesn’t pass any data at all to the public website.

I hope some of my readers who are experimenting with the RadioBerry transceiver find this useful.

I will soon be publishing an article on an enhanced version of PiHPSDR from DL1YCF to use with the the RadioBerry to complete the project.

Important Update:

There is an issue with the RadioBerry code that renders it useless if you use a kernel later than the version shown below:

Linux Radioberry 6.6.51+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 GNU/Linux

Updating the O/S Kernel to any version later than the version shown above will stop the RadioBerry software from working. Recompiling of the code also fails due to the Kernel update and at the time of writing this cannot be fixed without a code rewrite by the original developer.

I also recommend that once you have built a working RadioBerry on a RaspberryPi 4 you should disable the automatic updates of the O/S to stop the system from failing in the future.

You can disable the automatic updates by entering the following commands into a terminal:

sudo systemctl disable apt-daily.service
sudo systemctl disable apt-daily.timer

sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily-upgrade.service

You can check the version of the kernel you have installed using the following command in a terminal:

uname -a

Hopefully this will help anyone that is having issues with their RadioBerry after an O/S update.

More soon …

Taking the Hiss out of QO-100

I’ve been on the QO-100 satellite for about 7 months now and I have to admit I love it!

Having a “Repeater In The Sky” that covers a third of the world really is a wonderful facility to have access to however, there is one thing that I find tiring and that is the high level of background noise that is always present.

Even though the signals are mostly 59-59+15dB the background “hiss” is very pronounced and gets very tiring after a while, especially if like me you have tinnitus.

Currently I’m using a NooElec Smart SDR for the receiver and GQRX SDR software on my Kubuntu Linux PC. This works great but, there is one short fall, there is no DSP Noise Reduction (NR) in the software or hardware.

To fix this I recently invested in a BHI Dual In-Line Noise Eliminating Module. The unit itself is nicely put together and has a good combination of inputs and outputs making it easy to connect up to my MacBook Pro to record QSOs and connect my headphones at the same time.

M0AWS BHI Dual In-Line Noise Eliminating Module
M0AWS BHI Dual In-Line Noise Eliminating Module

At £189.95 plus postage from BHI direct it’s not cheap but, it is nicely put together and comes complete with a power lead and a couple of cheap audio cables. The quality of the knobs and mechanisms is good apart from the little grey DSP Filter Level knob that feels cheap and is very wobbly on the switch below. I’m not sure how long this is going to last with prolonged use and will most likely need replacing with something a little sturdier at some point in the future.

Overall noise reduction is good but, the audio amplifiers on the Audio Input Level and Line Out Level distort very early on in their range and you cannot get them much above level 5 before distortion starts to appear on the received signal. This is disappointing as my headphones are of reasonable quality and are let down by the distortion creeping in from the audio amplifier in the BHI unit.

I’ve tried altering the levels on the input from the IC-705 and no matter what I cannot get a good audio signal in my headphones without some distortion on the higher frequency ranges.

Overall the device does do what I want, it reduces the background “hash” considerably reducing the fatigue whilst chatting on the satellite. Below is a recording from a conversation on the satellite showing the noise reduction performance of the BHI module.

M0AWS Example BHI DSP NR Recording

The recording starts with the BHI DSP NR off, at 00:07 the DSP NR is switched on, you can clearly hear the difference. At 00:23 the DSP NR is turned off again and at 00:36 the DSP NR is turned on again. The BHI DSP NR Module is set with the DSP Filter Level set at 3 out of 8 which appears to be the best level to use. Switching to level 4 starts to introduce digital artefacts to the audio which only gets worse the higher the DSP Filter Level goes.

With a setting above level 3 there really isn’t much improvement in noise reduction and the audio becomes progressively more affected by the digital artefacts than it does from the background noise.

M0AWS BHI Dual In-Line Noise Eliminating Module with Icom IC-705 QO-100 Ground Station
M0AWS BHI Dual In-Line Noise Eliminating Module with Icom IC-705 QO-100 Ground Station

The only other problem I have with the BHI Dual In-Line Noise Eliminating Module is that is comes in a plastic case. The case itself is solid and of good quality however, it offers no RF shielding whatsoever and the unit is extremely susceptible to RF getting into the audio chain and then being heard during transmit in the headphones and via the line out connections. For the money I would had expected the unit to come in a metal case that provides proper RF shielding. This is a real shame as it lets the unit down considerably.

As setup in the photo above I am using 300mW O/P on 144Mhz from the IC-705 into a perfect 1:1 SWR presented by the DX Patrol 2.4Ghz Upconverter via some very high quality LMR-400 Coaxial cable from Barenco but, I get terrible RF interference via the BHI unit during the transmit cycle. Considering I am only using 300mW I dread to think what it may be like if I was using a 100w HF radio. This is something I need to investigate further as it really is very annoying.

Moving the unit to a different location in the radio room does help a bit but, doesn’t solve the problem completely. At 300mW RF O/P I really didn’t expect there to be a problem with RF getting into the BHI unit.

Having a proper line-out facility on the BHI unit really is nice as it makes it very easy to connect to my MacBook Pro to obtain good quality recordings of signals on the QO-100 satellite as can be listened to above.

Overall I am happy with the BHI Dual In-Line Noise Eliminating Module but, do wish that more care had been taken over using a metal case instead of a plastic case to protect the unit from RF ingress and better audio amplifiers within the unit that don’t distort/clip so early on in their O/P levels.

Is this the perfect noise reduction unit?


No but, overall it is better than nothing and does help to reduce the background noise to a more acceptable level reducing the overall fatigue during prolonged conversations on the QO-100 satellite.

UPDATE: I tried the BHI unit with my FTDX10 on the HF bands and the RF interference is horrendous, even when using QRP power levels! This device clearly hasn’t been designed to work in an RF environment and the total lack of shielding or isolation lets it down terribly. If you are an SWL then this unit is fine but, if like me you like to monitor your transmitted audio whilst on air through headphones then this isn’t the unit for you. To prove the problem isn’t in the radio shack I put the BHI unit in the house some 30m away powered by 12v battery with nothing connected but a pair of headphones and still the unit suffered from RF interference even at QRP levels.

More soon …