Monday, June 15, 2020

-Hermes-Lite 2 - HF SDR transceiver

Minor assembly required.
Hooked up to power, antenna, and ethernet for interface to PC.
The Hermes-Lite can listen on an unlimited number of virtual receivers which can concurrently monitor 4 bands at up to 384 kHz x 4 total bandwidth. 

HF digital modes allow many simultaneous transmissions to fit into a relatively narrow slice of bandwidth. 

The receiving capability of the Hermes-Lite coupled with specialized software and the processing power of the computer allows for monitoring a significant chunk of the HF digital mode frequency range using a single radio. 

SparkSDR - Transmitting on 20m with the built in 5W amplifier and N2ADR filter board. Just over 20 virtual receivers monitoring HF digi modes with one DigiU dedicated to JS8Call.

It is somewhat intensive for the PC and LAN.

I was initially using a 2014-vintage i5 laptop which handled it but was a bit strained and the cooling fans were noisy in that state.  Since then I have switched to a i5-3470 desktop machine which handles it better and with less noise.  I am seeing about 2.5 TB/week (45 Mbit/sec) of data transfer between the HL2 and SparkSDR in the above receiver configuration with 192 kHz sampling bandwidth. The gigabit LAN has plenty of capacity left.

24/7 automated decoding of these signals contributes to an online reporting database allowing visualization of world-wide HF propagation activity:

Pskreporter stats - HL2 with about 20 receivers over a 24 hour period.  Each marker represents a station heard and color denotes the frequency (40m, 30m, 20m, or 17m).  Transmissions between Alaska and Europe travel over the north pole.
On Raspberry Pi 4:

VNC into Raspberry Pi 4 with about 16 receivers (SparkSDR).  Sampling bandwidth 96 kHz. 26 Mbit/s going between HL2 and RPi4.
The Raspberry Pi 4 May be comfortably usable with up to about 4-6 receivers.  Of note is the fact that VNC server uses a significant amount of CPU.  I already disabled the "waterfall summary" for each virtual receiver with some CPU savings, but it seems driving the waterfall graphics adds a significant load especially over a remote connection. 


  1. Hi. Did you get the audio working on the Raspberry PI ? In SparkSDR I only see "dmix" as an audio output option.
    73/Bengt, SM6MUY

  2. Yes audio for me works on raspi. It should work with the "default" SparkSDR settings, but not if you're using it over VNC which won't pass the sound through. I've heard of using voip program to pass the audio. Even without that, you can still operate the hf digi modes through sparksdr interface or digiU receivers. Sound under linux can be tricky. I have taken advantage of Quisk to create virtual sound devices... When you run it it will create two virtual sound devices (quiskdigital input/output) which I then use with SparkSDR digiUs so my sound is not all dedicated to SparkSDR. Pulseaudio volume control is a useful to get everything setup and verified.

  3. Would you be willing to share how you got JS8Call configured with SparkSDR? I have it working with Quisk using quiskdigital input/output but SparkSDR has a way nicer interface and I can't get Quisk to transmit at anywhere near full power which is a serious drawback. Selecting DigiU provides handy boxes for the audio input and output but the Quisk virtual sound devices don't appear to be options. 73/Simon VA7VWG.

  4. Yes. Not sure what you're on, but I am running Ubuntu Linux. I cheat by starting "quisk" and then exiting. As you are aware this produces two virtual audio devices: QuiskDigitalOutput and QuiskDigitalInput.

    In SparkSDR after creating a new DigiU receiver you are correct in saying that the quisk-created virtual audio devices are not part of the options in the drop box for "Audio Input" or "Audio Output". Therefore those should be left at "default".

    I then make use of the Pulse Audio Volume Control program "pavucontrol" (doesnt come with ubuntu so have to install it) to set the "Playback" and "Recording" devices for "Alsa plug-in [SparkSDR]" (represents the DigiU) to "QuiskDigitalOutput" and "Monitor of QuiskDigitalInput" respectively.

    I have to add that there is some sort of bug in the latest versions of SparkSDR that seems to result in a CAT control error after some time of operation with JS8Call and SparkSDR. I therefore run Sparksdr, an older version, where I have no problems with w/ JS8Call + SparkSDR being 100% reliable running long term.

    1. Also, my settings for JS8Call:

      Radio tab:
      Rig: Hamlib NET RigCTL
      Network server: (or whatever you have set in SparkSDR for the digiU)
      Rig options tab:
      Ptt method: Cat control
      Mode: None
      Transmit audio source: Front/mic
      Split operation: None
      Hold PTT between frames while they are being transmitted (My preference, less relay cycling)

      Audio tab:
      Modulation soundcard
      Input: QuiskDigitalOutput.monitor
      Output: QuiskDigitalInput
      (both mono)

      I think that should be it.