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”

Taylorator Makes Mischief On The Airwaves

[Stephen] recently wrote in to share his experiments with using the LimeSDR mini to conduct a bit of piracy on the airwaves, and though we can’t immediately think of a legitimate application for spamming the full FM broadcast band simultaneously, we can’t help but be fascinated by the technique. Called the Taylorator, as it was originally intended to carpet bomb the dial with the collected works of Taylor Swift on every channel, the code makes for some interesting reading if you’re interested in the transmission-side of software defined radio (SDR).

The write-up talks about the logistics of FM modulation, and how quickly the computational demands stack up when you’re trying to push out 100 different audio streams at once. It takes a desktop-class CPU to pull it off in real-time, and eats up nearly 4 GB of RAM.

You could use this project to play a different episode of the Hackaday Podcast on every FM channel at once, but we wouldn’t recommend it. As [Stephen] touches on at the end of the post, this is almost certainly illegal no matter where you happen to live. That said, if you keep the power low enough so as not to broadcast anything beyond your home lab, it’s unlikely anyone will ever find out.

Continue reading “Taylorator Makes Mischief On The Airwaves”

Car Radio Chip Goes Into DIY Build

[Sjef Verhoeven] still loves radio and enjoys the challenge of listening to radio signals from far away. He wanted to build his own radio and turned to the TEF6686 chip, a device often found in car radios. It is known to be very sensitive and seemed perfect for pulling in weak signals. So [Sjef] built this DIY radio and shares the details in this recent Spectrum post.

Unlike older radio-on-chip devices, the TEF6686 is a DSP, which, according to the post, is part of the reason it is ultrasensitive. Even though it is made for car radios, the device is versatile and can pick up shortwave as well as the usual broadcast bands, with the right configuration.

Continue reading “Car Radio Chip Goes Into DIY Build”

Junk Box Build Helps Hams With SDR

SDRs have been a game changer for radio hobbyists, but for ham radio applications, they often need a little help. That’s especially true of SDR dongles, which don’t have a lot of selectivity in the HF bands. But they’re so darn cheap and fun to play with, what’s a ham to do?

[VK3YE] has an answer, in the form of this homebrew software-defined radio (SDR) helper. It’s got a few features that make using a dongle like the RTL-SDR on the HF bands a little easier and a bit more pleasant. Construction is dead simple and based on what was in the junk bin and includes a potentiometer for attenuating stronger signals, a high-pass filter to tamp down stronger medium-wave broadcast stations, and a series-tuned LC circuit for each of the HF bands to provide some needed selectivity. Everything is wired together ugly-style in a metal enclosure, with a little jiggering needed to isolate the variable capacitor from ground.

The last two-thirds of the video below shows the helper in use on everything from the 11-meter (CB) band down to the AM bands. This would be a great addition to any ham’s SDR toolkit.

Continue reading “Junk Box Build Helps Hams With SDR”