FM radio bandscan results – including London pirates

This post began life as a breakdown of an FM bandscan and dissolved into thoughts on RDS decoding and possible Raspberry Pi projects. I just wanted to jot down some semi-related thoughts.

Last weekend I popped up to Hampstead Heath to get onto high ground where I played with radios for a bit. One of those radios was my Moto G7 Power, using the built in FM Radio app, which is entirely decent (and I’ve written about using Moto G phones as FM radios before).

screenshot_20200321-143012-4951741-6687029

When performing an auto scan of available stations, the app spits out a nice list of those stations, some with IDs. Unfortunately there’s no default way to convert this to text, but I found an OCR text grabber which did 95% of the work, and then I just monkeyed with a spreadsheet to sort out any oddities, and this is what I ended up with following an FM bandscan on 21/03/2020 at 1425 UTC:

MHz  RDS Station ID
87.8 | The Rock
88.0 | PULSE UK
88.2 |
88.6 |
88.8 | BBC R2
89.1 | BBC R2
89.6 |
90.2 |
90.6 | ANADOLU
90.8 |
91.0 | BBC R3
91.3 | BBC R3
91.5 | MEGA
91.8 |
92.0 |
92.5 |
92.8 |
93.0 |
93.2 | BBC R4
93.5 | BBC R4
93.8 |
94.9 | BBCLondn
95.5 |
95.8 | Capital
96.1 |
96.5 | [Maritime Radio] – no RDS data decoded
96.7 |
96.9 | Cap XTRA
97.1 |
97.3 | LBC
97.7 |
97.9 |
98.5 | Radio 1
98.8 | Radio 1
99.0 |
99.3 | SELECT
99.5 |
99.8 |
100.0 | KISS
100.6 | Classic
100.9 | Classic
101.2 |
101.4 |
101.8 | BiZiM FM
102.0 |
102.2 | Smooth
102.4 | LONDON’S
102.8 | RDYOUMUT
103.1 |
103.6 |
104.2 | -KRAL-
104.4 | Reel 104.4
104.9 | Radio X
105.4 | Magic
105.6 | PLAYBACK
105.8 | Absolute
106.2 | Heart
106.5 | PROJECT
106.8 | RINSE FM
107.3 | REPREZNT
107.8 | -JACKIE-

Where a station ID was decoded via RDS, it is listed. Where I’ve made it bold and italic, it is believed to be a pirate station. The rest are legit local/national FM broadcasts.

Where there’s no station ID listed, it’s simply because the FM radio app didn’t pick one up in time – some of those blank stations may a) be legit and b) indeed have an RDS stream, it just didn’t get logged in time. Either way, it could be pirate or legit.

A couple of them are stations that I knew had RDS data, and what’s nice about the Motorola FM Radio app is that if you tune to that station and it didn’t already have data, it adds it where possible, and this gets added to the overall list as above. This means that after a full scan, if there are gaps in the data, one can simply tune to the first station with a blank name, and let it play for a few seconds until RDS data comes down – if it has any. – and then use the skip button to move to the next logged station.

It only takes a few seconds for RDS data to appear, or for it to become clear that none is being broadcast. Weak signals inevitably mean the RDS data is corrupted, possibly beyond legibility.

Oona Räisänen could probably explain in quite simple terms exactly how RDS data is decoded and why some stations seem to display RDS data quicker than others. In fact, it’s Oona’s RDS projects that make me think that if I really set my mind to it, I’m probably like 90% of the way to creating a pocket-size, Raspberry Pi Zero-based RDS decoder.

What I think I want is a little device that I can pull out, attach to an antenna, run a quick 1-2 minute bandscan, and in that time, the Pi scans the whole FM band, logging as much RDS data as it can grab, plotting it neatly on a little spreadsheet, which I can then inspect later on.

Better yet might be adding a simple 2-line display (much like a portable radio) where I can see each station being scanned. There are other possible modifications that could be made that would effectively turn it into a usable radio, but I’m thinking more along the lines of a simple logging device.

On the other hand, it might make more sense to do some sort of spectrum grab using SDR where the whole FM band is captured for a few minutes, for later analysis in software. This whole concept blows my tiny mind – and, really, seems less fun than doing actual listening to live broadcasts – though I can absolutely see the appeal and the benefits for logging weak/rare stations when DXing.