FM DX

Telford

February 2026 · Vibe-coding an RDS logger

Vibe coding: producing software by describing it in plain English.

With the new SDRPlay module support, I asked an AI to write an automatic RDS logger that talks to SDRPlay through SDR Connect.

The prompt:
#RDS Logger for SDRPlay SDRconnect

Create RDS Logging programme using the SDRconnect websocket interface based on the details below:

#Main prompt:

Using the PDF specification here:  .\SDRconnect_WebSocket_API.pdf and the C# example code here: .\SDRconnectWebSocketAPI and JavaScript here .\SDRconnect_WebSocket_JS create me a python programme that cycles through "87.5 MHz","87.6 MHz","87.7 MHz","87.8 MHz", "88.3 MHz" with a 5 second wait on each frequency log any PI code that is received as long as it's not been received in the last 1 hour. Write the output into a date format text yyyy-mm-dd.txt following the format detailed below

The python needs to be cross platform, more specifically it needs to run on windows 11 and Raspberry Pi

#File Format:
CSV file with the following header:
DateTimeReceived|Frequency|PI Code|PS
e.g.
2026-02-09 16:27|88.3|C202|BBC R2

The tool generated an asynchronous Python client that managed the radio, read RDS, logged stations locally, and applied a one-hour grace period. I built it on Windows in VS Code with GitHub Copilot Chat, copied it to the Raspberry Pi, installed two dependencies from the generated README, and it ran. Apart from minor debugging via Copilot using log output, it was automatic.

17 August 2025

Tropospheric ducting from France and Germany.

2025 a bit improved for SpE FM DX

Subjectively, SpE in 2025 was more intense, with notable DX on FM (87.5 MHz) and 2m (144 MHz).

2024 is a bad year for SpE FM DX

From Telford, 2024 was a poor Sporadic-E season. The MUF struggled to get much above 6m (50 MHz).

8–9 June 2023 · Tropo

After a gap since 2019, some FM DX to report. Not the greatest event ever, but good to see the duct working again, with Denmark and Germany into Telford.

Classic tropospheric sandwich: warm air on top, radio signal filling aloft a cold North Sea.

RDS from Denmark

Sunday 11 July 2021

Very intense Sporadic E to Slovakia, Czech Republic and Poland. The MUF reached 2m (144 MHz), so FM DX was excellent.

Saturday 3 July 2021

Sporadic-E enhanced meteor scatter

This MS appeared (03:59z) a few hours before a very strong FM DX opening to Italy.

Es-enhanced meteor scatter

The opening peaked around 08:25z with the MUF into 2m. Several 2m FT8 stations were also heard.

FM DX Es from Italy

Tropo · December 2019

The year ended with excellent tropospheric ducting and a superb crop of DAB DX from France, Holland, Belgium and Germany.

DAB DX December 2019

Belgium [5A VLAA…], France [8A LILLE] and Holland [9D Zuidwest] were heard on a portable radio.

From a local high spot (Long Mynd, 1700 ft ASL) the same portable also produced:

CountryBlockMultiplex
France6ARNT PARIS 2
Belgium6CNAM-LUX 2
France9BRNT PARIS 5
France9CRouen-Local 1
France10ARouen-Etendu

2m (144.174 MHz USB) FT8 view of the same tropo.

2m FT8 DX December 2019
2m FT8 DX distances December 2019

DX!

Until 18 June the MUF struggled to get much above 4m (70 MHz). On the 18th, normal SpE service resumed. The lack of FM DX Es may have been the solar minimum and/or non-seasonal weather around the UK (a low anchored over the country).

June 2019 Es FM DX

It is often said noctilucent clouds and SpE correlate. Given the exceptionally good NLC season that June, that theory looks weaker.

June 2019 · 404 Sporadic E

DX not found.

FM & DAB DX · 29–30 June 2018

The UK heatwave plus a chilly North Sea (10 °C) produced excellent short-range tropo. Continental DAB multiplexes from Holland and Germany were heard in Telford.

DAB DX June 2018

…as well as the FM DX on FMLIST.

Adventures in weak-signal modes (FT8 & WSPR)

Slightly off-topic: what modest gear can do with FT8 and WSPR. First screenshot: stations received 3–24 June 2018 via Sporadic E on 6m FT8. I use 6m FT8 (and PSK Reporter) as a heads-up for Band II openings.

6m FT8 Sporadic E

Next: received distances on 30m WSPR relative to the UK, with this station in black.

WSPR 30m distances

Finally, distance from a 200 mW WSPRlite Classic and a 20m dipole, plotted against UK min/max/average.

WSPR 20m distances

Maps and graphs from R in RStudio, using data from WSPRnet and PSK Reporter. A conditions dashboard:

WSPR dashboard

Stats app updated

The online stats app now includes 2016 and 2017 data.

FM DX interactive log analysis

Ping ping ping…

A superb multi-TX meteor-scatter event during the Leonids.

Leonid multi-transmitter ping

Good tropo · Oct/Nov 2017

Late October into early November: a duct first to Ireland, then northern France and Belgium. Plenty of new stations here, plus the regulars at impressive levels.

RDS October 2017

The band was packed:

October 2017 spectrum

Norway still on FM · 22 July 2017

Via Sporadic E I logged NRK P1 from Oslo. After asking on SkywavesDX it seems not all high-power transmitters had been switched off for DAB yet. The next tranche was due September 2017.

Norway FM DX July 2017

…so this may have been my last NRK P1.

June 2017 · 1000+ stations logged

After 2016’s atrocious June (just 200+), I was not ready for this. June 2017 beat the previous best of 933 (June 2013) Sporadic-E stations logged.

June 2017 Es stats

Stations logged per day through June 2017.

11 consecutive days of Sporadic E and a double hop

A run from 30 May to 9 June, including a rare double hop to Israel.

Consecutive Es stats

October 2016 · Band II Es

Early-evening opening to Algeria.

Radio Soummam RDS

Spanish tropo duct · 27–28 Sep 2016

Hepburn tropo map 28 September 2016
Image credit: William Hepburn, dxinfocentre.com/tropo.html

A narrow but intense duct between southern UK and north-west Spain on Tuesday night. Spain finally appeared (almost RDS) here at 03:25 GMT Wednesday: RNE-CLAS 88.2 and RNE-5 92.8 from O Páramo.

The duct then pivoted towards the Netherlands and Germany.

11–12 August · Perseids

A very active shower: 11th and 12th.

Perseid meteor-scatter waterfall

I even photographed a Perseid meteor.

Friday 5 August 2016

A great FM DX Es day, stations from many countries.

June Es poor · 2016

Just over 200 stations, against 672 the year before and 933 in 2013.

Intense tropo and DAB DX · 6 June 2016

Short-range but intense tropo. German and Dutch stations on a portable in the garden. Map.

First proper DAB DX: 9D Zuidwest NL and 8A Randstad NL, both with unbroken audio and logos via DAB Player.

Setup: loft-mounted DAB log-periodic 6-element beam and a NooElec R820T2 dongle. Portable DAB would not decode them.

DAB DX 9D Zuidwest NL
DAB DX 8A Randstad NL

Es 2016 · 5 May

First decent Es opening, many stations from Romania. Map.

Algeria RDS · 5 May 2016

First Algeria via Sporadic E since RDS was enabled.

Algeria RDS

Excellent meteor scatter · 24 April 2016

Eight stations from three countries off a single meteor. Map.

Eight-station meteor scatter

Ireland via meteor scatter · 3 April 2016

RTÉ Radio 1 from Clermont Carn on 87.8, just 298 km / 185 miles.

Super winter Es · 3 January 2016

A superb winter (could have been summer) Es day.

Super aurora Es · 1 January 2016

Aurora Es on Band II, in my experience, usually last a few minutes. 2.5 hours is unprecedented.

Aurora Es notes · late 2015

20 Dec 2015 — Norway / Finland / Sweden.

18 Nov 2015 — Finland / Sweden.

3 Nov 2015 — Iceland.

2 Nov 2015 — Es out of season: Antena 1, Portugal.

Super tropo · autumn 2015

23 Oct — Czech Republic, České Budějovice.

21 Oct — Es out of season, on and off for 2+ hours. Back to the Future day, unexpectedly.

1 Oct — Sweden SR P3 @ 1203 km / 748 miles. Norway, east Denmark, Germany and a tropo first for Sweden.

2 Oct — Poland Radio ZET @ 1396 km / 867 miles. Another tropo first, plus Germany, east Denmark and southern Sweden.

3 Oct — Sweden SR P1 @ 1242 km / 772 miles. Conditions dropped quickly; Norway on 87.8 hung around until about 22:00z.

Double-hop Es · 17 July 2015

I had been trying to log Turkey for years. On 8 July I finally got DAMLA FM on 87.5. Nine days later, southern Turkey and Cyprus via double-hop E.

17:56z 87.5  CYP _RADYO__ 2279 Lefkosa/Selvilitepe 3396 Km
RDS Cyprus double-hop Es
17:51z 87.5  TUR PAL_FM__ 3235 Adana-Alihocali 3415 Km

Earlier notes

  • Aurora Es — 17 March 2015
  • Good Spanish tropo — 5 January 2015
  • Big Polish Es — 8 July 2014
  • Short Es skip down to 832 km — 2 July 2014
  • Spanish tropo — 6 July 2014
  • Greece Es — 13 June 2014
  • 91.6 Spain (north-west corner) tropo in the Midlands — 15 September 2012