Screenshot of audio noise graph

Whispers From The Void, Transcribed With AI

‘Hearing voices’ doesn’t have to be worrisome, for instance when software-defined radio (SDR) happens to be your hobby. It can take quite some of your time and attention to pull voices from the ether and decode them. Therefore, [theckid] came up with a nifty solution: RadioTranscriptor. It’s a homebrew Python script that captures SDR audio and transcribes it using OpenAI’s Whisper model, running on your GPU if available. It’s lean and geeky, and helps you hear ‘the voice in the noise’ without actively listening to it yourself.

This tool goes beyond the basic listening and recording. RadioTranscriptor combines SDR, voice activity detection (VAD), and deep learning. It resamples 48kHz audio to 16kHz in real time. It keeps a rolling buffer, and only transcribes actual voice detected from the air. It continuously writes to a daily log, so you can comb through yesterday’s signal hauntings while new findings are being logged. It offers GPU support with CUDA, with fallback to CPU.

It sure has its quirks, too: ghost logs, duplicate words – but it’s dead useful and hackable to your liking. Want to change the model, tweak the threshold, add speaker detection: the code is here to fork and extend. And why not go the extra mile, and turn it into art?

Real-Time Beamforming With Software-Defined Radio

It is perhaps humanity’s most defining trait that we are always striving to build things better, stronger, faster, or bigger than that which came before. Taller skyscrapers, longer bridges, and computers with more processors, all advance thanks to this relentless persistence.

In the world of radio, we might assume that a better signal simply means adding more power, but performance can also improve by adding more antennas. Not only do more antennas increase gain but they can also be electronically steered, and [MAKA] demonstrates how to do this with a software-defined radio (SDR) phased array.

The project comes to us in two parts. In the first part, two ADALM-Pluto SDR modules are used, with one set to transmit and the other to receive. The transmitting SDR has two channels, one of which has the phase angle of the transmitted radio wave fixed while the other is swept from -180° to 180°. These two waves will interfere with each other at various points along this sweep, with one providing much higher gain to the receiver. This information is all provided to the user via a GUI.

The second part works a bit like the first, but in reverse. By using the two antennas as receivers instead of transmitters, the phased array can calculate the precise angle of arrival of a particular radio wave, allowing the user to pinpoint the direction it is being transmitted from. These principles form the basis of things like phased array radar, and if you’d like more visual representations of how these systems work take a look at this post from a few years ago.

Continue reading “Real-Time Beamforming With Software-Defined Radio”

The one-tube radio setup, in front of a PC monitor

Single Tube SDR Is A Delightful Mix Of Old And New

Software Defined Radio (SDR) is the big thing these days, and why not? A single computer can get rid of a room full of boat anchors, and give you better signal discrimination than all but the best kit. Any SDR project needs an RF receiver, and in this project [mircemk] used a single 6J1 vaccum tube to produce an SSB SDR that combines the best of old and new. 

Single-tube radios are a classic hack, and where a lot of hams got started back in the day, but there is a reason more complicated circuits tend to be used. On the other hand, if you can throw a PC worth of signal processing at the output, it looks like you can get a very sensitive and selective single-sideband (SSB) receiver. 

The 6J1 tube is convenient, since it can run on only 6 V (or down to 3.7 as [mircemk] demonstrates). Here it is used as a mixer, with the oscillator signal injected via the screen grid. Aside from that, the simple circuit consists of a receiving coil, a few resistors and a variable capacitor. How well does it work? Quite well, when paired with a PC; you can judge for yourself in the video embedded below.

We’ve featured a lot of [mircemk]’s projects over the years, like this handsome OLED VU meter, or this frequency analyzer with a VFD  and even a virtual pinball cabinet made from scraps, among many others.

Continue reading “Single Tube SDR Is A Delightful Mix Of Old And New”

Writing A GPS Receiver From Scratch

GPS is an incredible piece of modern technology. Not only does it allow for locating objects precisely anywhere on the planet, but it also enables the turn-by-turn directions we take for granted these days — all without needing anything more than a radio receiver and some software to decode the signals constantly being sent down from space. [Chris] took that last bit bit as somewhat of a challenge and set off to write a software-defined GPS receiver from the ground up.

As GPS started as a military technology, the level of precision needed for things like turn-by-turn navigation wasn’t always available to civilians. The “coarse” positioning is only capable of accuracy within a few hundred meters so this legacy capability is the first thing that [Chris] tackles here. It is pretty fast, though, with the system able to resolve a location in 24 seconds from cold start and then displaying its information in a browser window. Everything in this build is done in Python as well, meaning that it’s a great starting point for investigating how GPS works and for building other projects from there.

The other thing that makes this project accessible is that the only other hardware needed besides a computer that runs Python is an RTL-SDR dongle. These inexpensive TV dongles ushered in a software-defined radio revolution about a decade ago when it was found that they could receive a wide array of radio signals beyond just TV.

It’s SSB, But Maybe Not Quite As You Know It

Single Sideband, or SSB, has been the predominant amateur radio voice mode for many decades now. It has bee traditionally generated by analogue means, generating a double sideband and filtering away the unwanted side, or generating 90 degree phase shifted quadrature signals and mixing them. More recent software-defined radios have taken this into the CPU, but here’s [Georg DG6RS] with another method. It uses SDR techniques and a combination of AM and FM to achieve polar modulation and generate SSB. He’s provided a fascinating in-depth technical explanation to help understand how it works.

The hardware is relatively straightforward; an SI5351 clock generator provides the reference for an ADF4351 PLL and VCO, which in turn feeds a PE4302 digital attenuator. It’s all driven from an STM32F103 microcontroller which handles the signal processing. Internally this means conventionally creating I and Q streams from the incoming audio, then an algorithm to generate the phase and amplitude for polar modulation. These are fed to the PLL and attenuator in turn for FM and AM modulation, and the result is SSB. It’s only suitable for narrow bandwidths, but it’s a novel and surprisingly simple deign.

We like being presented with new (to us at least) techniques, as it never pays to stand still. Meanwhile for more conventional designs, we’ve got you covered.

A Ten Band SDR Transceiver For Homebrewers

Making a multi-band amateur radio transceiver has always been a somewhat challenging project, and making one that also supported different modes would for many years have been of almost impossible complexity best reserved for expensive commercial projects. [Bob W7PUA] has tackled both in the form of a portable 10-band multi-mode unit, and we can honestly say he’s done a very good job indeed.

As you might expect in 2025 it’s a software defined radio (SDR), but to show how powerful the silicon available today is, it’s all implemented on a microcontroller. There’s a Teensy 4 with an audio codec board that does all the signal processing heavy lifting, and an RF board that takes care of the I/Q mixing and the analogue stuff.

Band switching is handled using a technique from the past; interchangeable plug-in coil and filter units, that do an effective job. The result is a modestly-powered but extremely portable rig that doesn’t look to have broken the bank, and since the write-up goes into detail on the software side we hope it might inform other SDR projects too. We might have gone for old-school embossed Dymo labels on that brushed aluminium case just for retro appeal, but we can’t fault it.

It’s not the first time we’ve looked at a small multi-band SDR here, but we think this one ups the game somewhat.

Thanks [Pete] for the tip!

A Tiny Tapeout SDR

The Tiny Tapeout custom ASIC project has been around for a while now, and has passed through several iterations of its production. On each Tiny Tapeout chip are multiple designs, each representing an individual project, and in use the chip is configured to present that project to its pins. Given enough Tiny Tapeout chips it was inevitable that someone whould eventually make a project using two such functions, and here’s [Sylvain Munaut] with an SDR using Tiny Tapeouts 6 and 7.

At its heart is [Carsten Wulff]’s 8 bit ADC from Tiny Tapeout 6, fed by [Kolos Koblász]’s Gilbert cell RF mixer from Tiny Tapeout 7. There’s a local oscillator provided by an RP2040, and a USB interface board which sends the data to a host computer where GNU Radio does the maths. On the bench it’s receiving an FM signal generated around 30MHz by a signal generator, followed by some slightly indistinct commercial radio stations.

It’s clear that there are many better SDRs than this one, and that (as yet) Tiny Tapeout is perhaps not the radio enthusiast’s choice. But it does demonstrate beautifully how the chips are more than just curios, and we’re definitely in the era of useful on-demand ASICs.

The video is below the break, meanwhile you can learn about Tiny Tapeout from [Matt Venn]’s Supercon talk.

Continue reading “A Tiny Tapeout SDR”