deskHPSDR by DL1BZ is an mature Open Source desktop application for Hamradio OpenHPSDR SDR transceivers that has been under active development for years. SDR devices based on the OpenHPSDR protocol P1 or P2 are fully supported and both protocol versions are fully supported. It is designed and built as an advanced SDR transceiver front-end application for macOS and Linux for "every-day-use" and runs now extremely stable and reliable. deskHPSDR is largely based on the WDSP software library by Warren C. Pratt (NR0V), similar to other SDR applications like Thetis for WINDOWS.
The very first codebase of deskHPSDR was forked ONCE from DL1YCF's pihpsdr codebase in October 2024 without any backward dependencies to pihpsdr.
A large part of the old pihpsdr code is rewritten now and/or replaced with my new own code. That means, today deskHPSDR can no longer be described as a fork of pihpsdr. The "pi" was removed from the app's name consciously, the reason why is explained later.
My goal was to make an more optimzed version running with focus on Desktop-OS like Linux and macOS, what means I don't support small displays less as 1280x600.
deskHPSDR is a dedicated SDR transceiver frontend application using OpenHPSDR protocols 1 or 2 for everyday use in amateur radio. Soapy SDR and GPIO code and support is official REMOVED now.
| Feature | Current deskHPSDR version 2.7 | Notes |
|---|---|---|
| TCI CAT | supported ✅ | TCI 2.0 |
| TCI Audio | supported (only 48k and 24k) ✅ | TCI 2.0 |
| TCI I/Q | supported (48k/96k/192k/384k) ✅ | TCI 2.0 |
| PTT external | supported (via serial RTS/CTS or MIDI) ✅ | |
| MIDI Control | supported ✅ | |
| Hamlib | supported (with own included rigctld) ✅ | |
| CW | supported ✅ | via MIDI & TCI |
| OpenHPSDR protocol 1 | supported ✅ | |
| OpenHPSDR protocol 2 | supported ✅ | |
| GPIO | GPIO code removed since V2.7 ❌ | |
| Soapy API / Soapy protocol | Soapy code removed since V2.7 ❌ | |
| Hermes Lite 2 N2ADR IO board | supported ✅ | |
| Use WDSP library ? | yes, current 2.00 ✅ | |
| Pure Signal / Pre-Distortion | supported up to 192k samplingrate ✅ | |
| Noise Reduction | NR1 - NR4 available ✅ | |
| CAT over TCP | supported (TS2000 & PowerSDR emulation) ✅ | |
| integrated Client-Server Mode | not supported ❌ | will never come |
| IF Mode / Panadapter mode | not supported ❌ | will never come |
| Hermes Lite 2+ expansion board | supported ✅ | |
| Bright / Dark Theme support | yes ✅ | |
| Screen Resolution | min. 1280x600 or higher 🚨 | |
| Input devices | Touchscreen, Mouse, Keyboard, MIDI | |
| OS support | macOS (15 or higher) ✅, Linux ✅, WINDOWS ❌ | |
| Audio layer support | CoreAudio (macOS), PulseAudio or ALSA (Linux) | |
| Audio devices support | mono,stereo (only 48kHz audio rate supported) | no resampling |
| TX Audio Monitor | not supported ❌ | will never come |
| DX Cluster support | yes, inclusive show Spots on RX Panadapter ✅ | |
| RBN support | yes, inclusive show Spots on RX Panadapter ✅ | |
| SDR TX support | yes, fully supported ✅ | |
| Used UI framework | GTK3 | |
| Programming language | C, partially Objective C/Swift (macOS only) | |
| Supported Compiler | clang (recommended), gcc | |
| App Publishing | Source code only, no binaries distributed | |
| except macOS (digitally signed & notarized) |
Other useful app features (availability depend from used SDR device):
- Noisefloor adjustment automatic for Panadapter ✅
- SDR device auto-detection ✅
- Autogain adjustment and ADC overflow protection (Hermes Lite 2 only) ✅
- Keyboard shortcuts (pre-defined) ✅
- Open Collector support (RX, TX, Tune) via OpenHPSDR protocol ✅
- Antenna selection (if SDR support this) ✅
- Transverter Support ✅
- External PTT support (e.g. footswitch) via MIDI or Serial port (RTS/CTS) if available ✅
- Full RX- and TX-WDSP Audio chain support (RX/TX-EQ, Leveler, CESSB, Limiter, CFC, Speech Processor, DEXP) ✅
- network optimizations if using WiFi for OpenHPSDR protocol P1 or P2 ✅
- 2 VFO, up to 2 Receiver and 1 Transmitter
- VFO split, swap, RIT/XIT supported ✅
- Save TX DRIVE and TUNE DRIVE per band, Bandstack available
- verified Digimode app compatibility: WSJT-X PLUS Improved, JTDX, JS8CALL, WSJT-Z, MSHV, cwTCI, rttyTCI ✅
- verified Log app compatibility: RumLogNG (using TCI) ✅
- options for display current solar data for propagation and Greyline DX window ✅
- Panadapter refresh rate adjustment (max. 60fps, prevent very high CPU consumption❗)
- some special SDR device-specific options supported 🔥
The app focus is fonie/SSB & digimodes, less CW. deskHPSDR has more added options integraded from the WDSP library like pihpsdr, especially tools for the WDSP RX and TX audio chain, and they are all user-acessible and user-adjustable (pihpsdr has many things only "hardcoded" without user-access). deskHPSDR support max. two RX and one TX, although some SDR hardware supports more, like the Hermes Lite 2 with up to four RX slices.
deskHPSDR is fully Open Source, but a full non-commercial hobby software project by DL1BZ, which can be used completely free without any kind of payments, but with full respect of all copyrights around the app deskHPSDR.
deskHPSDR need a screen size 1280x600 at minimum or higher for best GUI experiences, that's one of the difference against piHPSDR. deskHPSDR hasn't a special Client-Server-Mode like pihpsdr (make no sense, we HAVE network-connected SDR devices yet).
My main focus of deskHPSDR development is macOS, which is my primary development environment for deskHPSDR. Normally all should be running with Linux too. The second focus is Fonie/SSB/Digimodes and less CW. This SDR software app is made for SDR transceiver used in Hamradio as daily-used app, but not for special operations with wide-range RX-only SDR devices. If you agree with me and my ideas, deskHPSDR can be very useful for you. If not, look around for other solutions.
There are no plans whatsoever to ever port deskHPSDR to WINDOWS! It's made for UNIX style OS only like macOS or Linux.
I recommend using deskHPSDR on macOS, it's also being focused and developed on this OS platform. It can be build and run under Linux too, but my recommendation remains unequivocally macOS for for stable and stress-free operation with deskHPSDR. macOS will also remain the only platform, where I provide ready-made app bundles without build them first.
- modern Desktop-OS like macOS (15 or newer) or Linux with installed developer tools like compiler, linker etc.
- minimum screensize starts from 1280x600
- basic knowledge: how to use your OS, a shell, a text editor and how to compile applications from source code
- macOS only: please read the
COMPILE.macOSfirst - Linux only: please read the
COMPILE.linuxfirst - a SDR device or SDR transceiver, which supports HPSDR protocol 1 (older) like the Hermes Lite 2 or protocol 2 (newer) like the ANAN or similiar devices like Brick2/Brick3 series.
- a very good running network without any issues (Ethernet preferred, WiFi not recommended) and a DHCP server inside (without DHCP is possible too, but more complicated or difficult working with the SDR devices)
- for Hermes Lite 2 specific notes look into the
Notes_if_using_HERMES-Lite-2.md - if want using a Raspberry Pi: Revision 5 (aka "Pi5") with >= 8GB RAM is strongly recommended, but deskHPSDR is not optimized for such SoC
deskHPSDR is published exclusively as source code only (except macOS, meanwhile are ready-made app bundles available, look into releases ). You need to clone this Github repository and compile the app before you can use it. Please read all included instructions carefully to avoid installation errors by yourself. Additional notes you can find too under the discussion tab of this project. Please have a look there too from time to time.
I will never publish any ready-compiled binaries or appimages for Linux. The task of compiling it yourself remains.
deskHPSDR is under my active development, because software projects never finished.😉
My guiding principle is to adapt most of the core functions from Thetis to deskHPSDR, but without the surrounding playground. What I mean is, it will never be like Thetis, but we will get as close as we can.
I only accept user requests, if they a) fit the concept and b) are useful to everyone. I decline requests for "only one user" functions and regarding the following questions:
- porting deskHPSDR to WINDOWS -> NO
- provide ready-to-run binaries for Linux (regardless of the form) -> NO
- supporting SDR devices, which don't work with OpenHPSDR protcols P1 or P2 -> NO
- add any kind of additonal build-in or special client-server-support like pihpsdr -> NO
- add any kind of TX Audio Monitor -> NO
- help for solving OS problems, if these in my assessment do not directly concern deskHPSDR
Especially Linux environments are highly fragmented and differ from distribution to distribution, so I cannot guarantee that deskHPSDR will run on just any Linux distribution. I test only and exclusively Debian-based environments - but I’m not interested in anything else.
deskHPSDR is primarily developed for and under macOS. Made as an cross-platform app, it runs on Linux, but Linux is and will be not a priority.
CHANGES are located in the Discussions tab, category CHANGELOG deskhpsdr.
On March 4, 2025 the first final version 2.6 of deskHPSDR was published.
With publishing first new main version 2.7 in May 2026 all support for versions < 2.7.x were closed inclusive older versions with SoapySDR and GPIO support.
Current development start from version 2.7 in May 2026.
Most of the new functions need to be activated in the make.config.deskhpsdr as compiling option. Please look in the beginning of the Makefile and set the needed options only in make.config.deskhpsdr, but don't modify the Makefile itself !
- the Issues tab is only for reporting issues, bugs or malfunctions of this app !
- for all other things please use necessarily the discussions tab
Please note: My development focus is only macOS. Linux is of no interest to me. Yes, this app can run with Linux too, that's a result of how this app is programmed based on C program language. However, that does not mean I provide any kind of support for Linux. From time to time, I test whether the app can be built on Linux and whether it runs. If it does that successfully, the topic Linux is closed for me at this point. Read carefully my instructions for build with Linux in document COMPILE.linux.
From time to time I need rebase the deskHPSDR repository. This can break using git pull for update deskHPSDR.
Please make sure you set:
$ git config pull.rebase true
In the Makefile I add a comment "don't edit this Makefile". That's I mean so. I'm now add the editable, additional file for this called make.config.deskhpsdr.
If git pull failed, you can try this:
$ git pull --all
$ git reset --hard origin/master
$ git pull --all
This overwrite ALL local changes you are made, which are different from my current repo at Github.com and set the status equal between local and remote.
If this not help, please delete the complete codebase of deskHPSDR and clone it again, then you have a fresh current copy.
So far, deskHPSDR has been successfully tested on the following systems:
- Macbook Air M1 running macOS 26 aka Tahoe
- Mac mini M4 2024 running macOS 26 aka Tahoe
- old Macbook Pro i7 & LENOVO Desktop PC running Linux Mint "Faye" Debian-Edition
- Raspberry Pi5 & CM5 with NVMe SSD running current official 64bit PiOS ("Trixie") and X11 environment (no Wayland!)
All radio tests are made with my Hermes Lite 2 SDR-Transceiver using OpenHPSDR protocol P1 and my Brick2 14bit SDR transceiver with P2 OpenHPSDR protocol under macOS 26. It is not possible for me to check ALL types of OpenHPSDR SDR devices.
Big thanks and huge respect to all involved developers for their work on pihpsdr and make the application accessible as Open Source under the GPL. Many thanks also to the users who gave me feedback and reported issues which I hadn't noticed by myself.
Special thanks to:
- my lovely wife any my family for her great patience and understanding
- John/G0ORX, Steve/KA6S & Jae/K5JAE and all those involved for initial pihpsdr development
- Christoph/DL1YCF for continue development and current pihpsdr
- Dr. Warren C. Pratt NR0V for the great software library WDSP, the "heart" of our deskHPSDR application
- Anton (developer of Brick SDR series) for share his technical documentations with me for add Brick SDR support
- OpenAI/ChatGPT for brainstorming, code optimizations and save me a lot of time in development
- all of the active users and contributors for support deskHPSDR
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
All what you do with this code is at your very own risk. The code is published "as it is" without right of any kind of support or similiar services.
This project is not affiliated with or endorsed by Apache Labs, FlexRadio Systems, ramdor/Thetis, mi0bot/Thetis or the OpenHPSDR project.
deskHPSDR is also in no way connected to the current pihpsdr development. Both are independent developments with different concepts and goals.
There are no rights or obligations to get any kind of user support for deskHPSDR from me, I publish only the app source code "as it is".