Foundations of Amateur Radio
Recently I discussed the idea of listening to the radio spectrum across the internet for the purposes of getting signal into your shack when radios, or in my case, antennas are causing you challenges.
I continued to explore and discovered a project by Jacobo EA1ITI, called "radioreceiver". Behind that unassuming name lies a tool born in 2014, that allows you to plug an RTL-SDR dongle into your computer, open up your web-browser, and listen to the radio signals that your dongle can receive.
In case you're unfamiliar, an RTL-SDR dongle is a small USB device, looks a lot like a USB thumb drive, jump drive, data stick or flash drive, basically a hunk of plastic with a USB connector on it. An RTL-SDR dongle generally also has some form of antenna connector. It's typically sold as a digital radio and digital television receiver, but websites like rtl-sdr.com sell purpose built ones. They can be found starting at about $15.
I realise that this is using a local receiver, with a local antenna, but it's inside a web browser, which is half of what I expected. When you hit the play button in the bottom of the screen, you'll be prompted by your web browser to give permission to access your RTL-SDR dongle and the fun starts. You'll see a live waterfall, hear audio, and have the ability to tune to any frequency you can reach. Depending on your dongle, typically somewhere between 500 kHz and 1.76 GHz.
The application consists of seven files, a total of 352 kilobytes that you can store on any web server and run, with one caveat, in order for your web browser to talk to your dongle, it needs to be served using HTTPS. Jacobo has set-up radio.ea1iti.es and I've set-up sdr.vk6flab.com, both showing the same tool. You'll find the code on my VK6FLAB GitHub repository, and of course on Jacobo's.
There are some things you need to know. You will need to use a web browser that supports WebUSB, currently that's Chrome, Edge, Opera and several others, sorry, Safari and Firefox don't .. perhaps it's time to talk to Apple and Mozilla. All is explained if you click on the little question mark at the bottom of the screen, it will even tell you if the browser you're using to read the help is compatible or not.
If you have an Android phone, you can run this tool too, although you will need to find a way to connect your dongle to your phone. I'm currently limited in my ability to test this and you may need to install some drivers on Windows and Linux, but MacOS and presumably Android, works out of the box. The software also supports offline operation, so you can load it as a Progressive Web App, or PWA, and use it in the field away from the internet.
Did I mention that all the decoding is happening inside the web browser, so you can see which code is doing what .. and before you ask, yes, it's minimised in the browser, which you can make into human readable code, but when you look at the source, it shows precisely what is happening, all written in Node.js, TypeScript and JavaScript.
It supports CW, SSB, AM, Narrow and Wideband FM and decodes stereo, something which none of my amateur radios do.
You might be able to tell that I'm excited. It's because this is providing the basic functionality of a radio inside a web browser, and I didn't need to install it to get started. On the Macintosh I tested this on, I literally opened the web page, plugged in a dongle and hit play. Just so we're clear, just because this is using a web page on a web server, you accessing it will only give you access to your radio not mine.
This of course opens the doors to all manner of other fun stuff which I'm expecting to play with for the next little while, and yes, this is also Bald Yak adjacent, I'm aware.
In the meantime, you can play with this right now, sdr.vk6flab.com is the place to go. Word of warning, it's addictive and easy to forget it's a radio with an antenna plugged into your computer, so take precautions when electrical storms are about.
Look forward to hearing what you discover.