Visit the author's own website at


Assorted ramblings from the developer

Google Turbo

Turbo, An Improved Rainbow Colormap for Visualization

On Tuesday, August 20, 2019 Google posted an interesting colour scheme which they named 'Turbo'. Read more about this in the blog entry (link is above). Below is the colour map in action on the 25m shortwave broadcast band. As of 3.0.13 this is a standard colourmap[ in SDR Console.

Also of interest is the use of a SNR (Signam to Noise) S Meter option.

Pluto on Es'Hail 2

Here's a screenshot of my Pluto SDR on Es'Hail 2, this screenshot shows the suggested settings for pluto(bottom left-hand side).

Note the RX Gain is set to Slow Attack (Manual value is ignored) and the Visual is set to -40dB.

Windows Upgrade

Yesterday I powered on a small ATOM 330 server which was last started five years ago. Well, up came Windows 7 Professional and of course the normal zillions of updates appeared. Anyway, I wondered whether the now officially expired free update from Windows 7 to Windows 10 was still available. Google brought me to this link on .

In the suggestion is to  go to the Download Windows 10 webpage whioch I did. then I clicked the Download too now button. Thereafter I just followed my nose and two hours later my little server was proudly running a licemced version of Windows 10.

So the free upgrade from Windows 7 to Windows 10 is till available!


Release: 3.0.11

Download here [Link].

What's new / changed in 3.0.11:


  • CW Skimmer interface updated, minor bugs fixed. [Link]
  • Audio - minor change in WASAPI feed/output logic, buffers padded with zeros.
  • More intelligent buffering of unprocessed data in the FFT threads, improves resillience when main thread is interrupted.
  • Installation kit appearance updated.
  • Very minor enhancements to the processing behind the matrix display. I spent some time working out how I would get 48 receivers running smoothly – I haven’t done this, but at least I now know what I would have to do (multi-threaded Direct2D). I was running 20 receivers at once to test the above audio driver logic and wasn’t 100% happy with the performance.
  • NR3 – slight increase in sensitivity.

CTCSS squelch

  • CTCSS is an addition to the normal squelch.
  • Signal level is measured for each CTCSS frequency using Goertzel’s algorithm (the standard for this sort of thing).
  • Selected frequency level must be 5dB or more that the average measured across CTCSS tone range.
  • Once CTCSS frequency is detected the squelch stays open until the signal is lost. This will change in a future kit, CTCSS must be detected at least every two seconds (an over modulated transmission can affect the CTCSS tone).

Data Recording

As I use this a lot I attacked a few features which I didn’t like very much:

  • Recording Selection
    • Added [_] Reload on open which reloads the current folder when the Select Recording window is opened, rather than displaying the previous values which are stored in an XML file. As I use SSDs for the recordings the reload is fast, but an aged HDD may not be, hence the default which is to restore the previous values from a cache.
  • Playback
    • Added Gain (main toolbar only).
    • Slight change to the logic used to determine the display bandwidth when a file is opened.
    • Change to the layout of the Navigator window.
    • Added Show/Hide time button.
    • Dynamic positioning of the navigation grid based on available room in the window.


  • Fixed error displaying waterfall, spectrum and receiver markers where the radio was tuned close to 0 Hz.
  • Corrected redraw issues if the spectrum high value is automatic (Ribbon Bar, View,  Spectrum Scale, High) and the colour scale (right of display) is adjusted.
  • Tuning Bar
    o    Clicking the mouse in the unused area to the side of the tuning bar (bottom of display) now centres the tuning indicator at the click position, previously there was no action.
    o    Clicking << or >> at either end of the tuning bar now increments the offset by the zoom factor – 1 (was just zoom factor).
  • The new smoothing algorithm (One Euro Filter) now made symmetric.


  • Updated Favourites Organiser:
    • Tree is collapsed by default,
    • Added Expand and Collapse buttons.
  • When a Favourite is added a default title is suggested.
  • Tooltips now show the frequency and mode for the first three receivers.


  • Airspy HF+ update API library. Recommended that the latest firmware is installed, this is 3.0.0 or newer.
  • Airspy R2 small change in decimation processing.
  • Added initial support for WiNRADiO Sigma.
  • Lime:
    • Calibration updated:
      • Rx Calibration and TX Calibration buttons have icons which show whether the RX / TX is calibrated.
      • TX Calibration prompts to disable any PA before the calibration proceeds. Calibration must use the current TX antenna at a relatively high gain.
      • Calibration values are stored in XML files for each band.
      • Calibration always performed at the recommended internal gain of 64dB.
    • Logfile optionally sent to the system debugger (DebugView).

Spectrum Markers

  • Initial implementation: Ribbon Bar, View, Spectrum, Markers.
  • Intergration with DX Clusters will be the main focus of 3.0.12.


  • Only one definition per server.
    • When you select the server a list of available radios is displayed.
    • If the remote server is using this kit you will see ‘ X In use’ if the SDR is in use. Earlier servers will always assume it is available.
    • Your list of server definitions should upgrade automatically.
    • Test with my server: port 50101 .


  • When starting the console / applying a favourite only one receiver opens the audio output device at a time. Although there shouldn’t be a problem with multiple threads simultaneously opening an audio output at the same time it’s just better to do it this way, it’s cleaner and places less stress on the Windows mixer / driver logic.
  • Sanity improved when starting the program:
    • Ensure any floating panes are actually visible and not off the screen.
    • Rewrote some of the code for easier maintenance in the future (replaced fixed tables with dynamic logic).

DRM in SDR Console

I'm often asked to incorporate a Digital Radio Mondiale (DRM) receiver into SDR Console. The reasons why I haven't done this are:

  1. Patent / royalty issues with the audio codec, and
  2. The Dream project works well.

Brendan Wahl, WA7HL, co-Moderator, of the DRM North America Newsgroup explained the lagal minefiled recently. The text below is reproduced with his permission.

Hi all, got some background here for you. I've been following DRM since the beginning,  and still admire it for its broadcast quality and capabilities.

The DRM system was originally written by the Frauenhofer Institute in Germany, with the first software for personal use requiring a license key that cost the individual listener somewhere around ~€49/$49. I've got one somewhere, but I haven't had to use it since the freeware "DReaM" came out. No key needed when using that software package, which is still available on Github IIRC. The original commercial software still works, but it's very simple and doesn't provide a lot of bells and whistles. I'm not sure it's available anymore.

What happened was that the AAC codec (and it's variants, esp. XE-AAC...) was developed some years after the receiving software was first published with older codecs already available freely. The Frauenhofer Institute in the meantime had sold its work and code already done on that codec to Dolby Inc., who didn't want to give anything away. Hobbyists went from being able to receive all codec forms of broadcast DRM with little to no cost, to technically having to remove the FAAD.DLL file and receiving nothing, period. Since all DRM broadcasters switched to the XE-AAC codec due to it's efficiencies, hobbyists got left out in the cold with that shift. That .DLL file has been known to circulate privately, since even Dolby admitted that trying to get people to delete a file that they already had was like screaming in the wind.

Currently, as I understand it and as Simon indicates, radio manufacturers and developers must pay a license fee upfront to use the now-Dolby owned codecs. The listeners no longer have to pay, but the commercial party 'pays' on their behalf. This would include Simon of course, since he is both a commercial and hobbyist software developer, working as one entity.

Simply put, DRM is a minefield for someone like Simon. It's not only a bit of a coding time-suck, the potential legal exposure is horrible. It is a big enough issue that most radio manufacturers are simply avoiding the whole issue by not making DRM capable receivers. A Chinese manufacturer, Gospell, and a couple of Indian companies have stuck their financial necks out for DRM, since it is being introduced in both countries, but actual production of quality consumer equipment has been difficult, to say the least.

I should note that SDRC works wonderfully with the DReaM software being fed via a virtual cable. Was listening to Radio New Zealand International just the other night while they were doing some DRM testing, had perfect reception using my HF+. Can't wait for my Discovery to get here!

I'll back Simon on his choice of not including DRM. I use SDRC more than any other radio software, and I appreciate all of his his hard, SOLO, work on it. No wonder he needs our beer money...and of course, the canine is always hungry. I know, I have one too.

Brendan WA7HL
Co-Moderator, DRM North America Newsgroup

So there you have it. Thanks Brendan. If you want to listen to DRM use Dream and a virtual audio cable.


WiNRADiO Sigma (G65DDC)

Nils Schiffhauer dk8ok has helped me a lot in the past, so when he asked me to support the WiNRADiO Sigma aka G65DDC how could I refuse?

This is a beast of a radio, I've not encountered anything like it before. There's one problem - I don't have one, so testing could have been a nightmare. However, the API is very clear and well documented. After just two days exchanging code with Nils he has now reported that the Sigma is working, and working well with the features in SDR Console that he needs.

This is the first time I've added support without ever seeing the hardware, so kudos to the team at WiNRADiO. The SDK's API is here: .

I'm so impressed, I may add support for more WiNRADiO radios if there's demand.

Here's an example of the Sigma running with a 33.3MHz sample rate and we see the whole of HF!

Support will be in version 3.0.11 of SDR Console which at the time of writing has not been released.

E's To Morocco

A very nice opening this morning to Morocco on Band II Stereo (88 - 108MHz).

Simon's World Map 1.0.8


Download here [link].


I wrote this program because I wanted to see:

  • Current Time (local, GMT)

  • Sunrise / Sunset

  • Greyline map

  • DX stations

There are commercial geo clock solutions such as the excellent Geochron, but as a programmer with spare HD monitors and computers I decided to write my own, that way I have exactly what I want.

Anyway, this weekend I finally found time to update Simon's World Map to version 1.0.8. Here's what is new:

  • Installs a 64-bit executable on 64-bit Windows, previously the 32-bit executable was used on 64-bit Windows.

  • Text colour in Clock, Sunrise / Sunset etc. is user-selectable.

  • Sunrise / sunset shown for entries in the station list.

  • Timezone markers updated

It doesn't need much CPU at all- anything running Windows 7 or higher is fine.

Release: 3.0.9

Download here [Link].

Note: The main reason for this release is the fixes to transmit with the Pluto SDR.

What's new / changed in 3.0.9:


  • The 8.333 kHz tuning rate wasn’t working properly as it’s really 8.333 recurring.
  • The Analyser now correctly processes the Invert Spectrum option (swap IQ from the recording file).
  • The Ribbon Bar, Home. Radio, Bandwidth dropdown now shows the currently selected bandwidth when using radios where the actual bandwidth may differ slightly from the displayed bandwidth (Perseus at 95, 96 and 192kHz).
  • The bit smoothing option in RDS processing was not being set correctly.
  • USB Relay option now also part of the general Program Options.
  • Broadcast FM audio recordings now always created in stereo (two channel) mode – previously the recording was restarted every time the audio switched between mono and stereo.
  • RDS logfile now has a delay option in the Database selection pane, this is designed to be used in situations where there is considerable latency, for example when using a remote server.


  • Transmit data is now controlled by a high-resolution timer with an accuracy < 1 millisecond.
  • Flow control has been added to compensate for the difference between the Pluto clock and the input device (microphone, VAC, …).
  • Added offset tuning, this ensures that the spur at the transmit LO is offset from the actual transmit frequency.

Airspy HF+ Discovery
Airspy HF+ Discovery

Screenshots taken with a prototype Airspy HF+ Discovery. This beauty is half the size of the Airpsy HF+ and it's as good if not better. Proper comparison data later.

If you suffer from strong signals then Discovery will not let you down.

Recent Posts

  • Release: 3.0.14 Posted 1 days ago
    Download here [Link]. What's new / changed in 3.0.14: General Closing threads (and the program) now much faster if the thread had not been started, also System Debugger diagnostics have been enabled to find any other issues when closing the program if the ‘Not Responding’ text was seen in the title bar. Fixed bug where a high-pass filter could be incorrectly applied to broadcast FM demodulation. RDS logfile now supports UTC as set in the … Options window. Geostationary beacon window now applies the current contrast when floating. Receive audio equaliser now correctly initialised when started from either: Audio dropdown, Ribbon bar. FM Squelch: big change on the FM squelch front: Now suing power suqelch instead of noise squelch, the squelch threshold/level values will be different, sorry about that. The original code was over nine years old and was a cheap and cheerful solution. In the kit the whole concept has changed, now it’s an advanced squelch based on signal power. Synchronous AM, ECSS Lock Range: ribbon bar entrry added. ...
  • Transparent S Meter Posted 2 weeks ago
    Version 3.0.13 introduced analog S meters and resulted in requests for transparency. One of the big features of SDR Console is the use of Direct2D graphics which is a lot more complicated than the GDI/GDI+ used in many other ham radio programs such as Ham Radio Deluxe. Working out transparency wasn't easy, finally a Microsoft example showed me how to do this. A day when you don't learn something is a day wasted. Here's an example of transparency. This will be part of 3.0.14.
  • Release: 3.0.13 Posted 3 weeks ago
    Download here [Link]. What's new / changed in 3.0.13: General Fixed frequency display problem in the RDS display. 100.05 was displayed as 100.5. Minor change to logic when closing the Matrix window, linked to a memory leak. Reduced background thread start-up time. Added Equaliser… option to the Playback device selection.   The Radio Selection windows displays Connect when a V3 Server is selected, otherwise Start. New option to replace 0 with O in the main frequency display.   Added Google Turbo and Inferno colour schemes.   Markers Memory definitions can now be shown as markers: new option in Markers dropdown and on the memories pane of the ribbon bar. Display of markers more efficient. Enhanced the marker display logic, allowed more room when markers overlap. Recordings Audio recordings made while playing an IQ recording are now timestamped with the time from the playback, not the current time. Added Status option to Playback pane in the ribbon bar. When selected the playback status is shown in the waterfall (the default). If not selected then playback status is not ...
  • Google Turbo Posted 3 weeks ago
    Turbo, An Improved Rainbow Colormap for Visualization On Tuesday, August 20, 2019 Google posted an interesting colour scheme which they named 'Turbo'. Read more about this in the blog entry (link is above). Below is the colour map in action on the 25m shortwave broadcast band. As of 3.0.13 this is a standard colourmap[ in SDR Console. Also of interest is the use of a SNR (Signam to Noise) S Meter option.
  • S-Meters Posted 3 weeks ago
    After much pestering by users, I finally added an Analog S-meter to SDR Console. These will be available in 3.0.13, coming to a desktop near you soon. Background A few weeks previously a reasonable logic was implemented for measuring the noise floor. Purists will not be happy, but they rarely are, but it works for me. Take the output from the SDR radio, ignore 15% of the bandwidth at the high and low end of the output to avoid the ant-alias filtering, and we're left with a healthy 70% of the signal. Now sort the FFT bins by value, take the mean of the lowest 10% and that's the noise floor. Digital Starting with the standard digital metere: Analog Here are a few screenshots of the Analog S Meter. First a tradition meter in S units. Red = peak signal Yellow = current signal Grey = noise floor   Here's a dBm meter, same colours as above.   And here.s a Signal to Noise (SNR) meter.
Read More »