Article 6SKTV Hacking A Car-Radio Chip Into The Ultimate SDR Receiver

Hacking A Car-Radio Chip Into The Ultimate SDR Receiver

by
Sjef Verhoeven
from IEEE Spectrum on (#6SKTV)
a-control-panel-has-a-display-screen-three-buttons-and-two-rotary-controls-it-is-attached-to-a-small-circuit-board-connected.jpg?id=54979705&width=1200&height=800&coordinates=0%2C339%2C0%2C340

At a time when we all carry smartphones that can stream high-definition movies into our hands, the romance of listening to old-school analog broadcast radio nevertheless endures. For some it's a break from the cookies, contracts, and terms of service that lurk behind every online activity. For folks like me though, a big part of the charm is the thrill that comes from pulling in a signal from thousands of kilometers away-and doing it the time-honored way: with an understanding of atmospheric conditions, antennas, and electronics.

This pastime of using varied knowledge and skills to pull in very distant stations is called DXing. Today, digital signal processing makes it possible to put stupendously capable receiver electronics into an economical and very portable package, so there's never been a better time to be a DXer. And among these high-performance electronics, there's arguably no better example than the TEF6686 chip, introduced in 2013 by NXP Semiconductors and revised multiple times since then.

The chip has been very successful in car radios, in part because of its low cost and high audio fidelity, but especially because of its astoundingly high sensitivity and selectivity to radio signals. The TEF6686 can receive both FM and AM, and can be configured to accommodate the different bandwidths used by stations in different countries. It can also decode a broadcast station's digital RDS (Radio Data System) feed, which when present contains continuously updated information such as the title of a song currently playing.

The chip's extreme selectivity and sensitivity results from its adept use of software-defined-radio and digital-signal-processing (DSP) technologies to filter out adjacent frequencies. This enables reception of very weak signals that would otherwise be drowned out by nearby broadcasts. The chip has proven irresistible to radio enthusiasts, attracted by features of the chip that go far beyond what is needed by a car radio. It can receive not just the commercial broadcast bands, but also the shortwave and long-wave bands. The chip can also provide instantaneous signal-strength information.

key-components-of-the-radio.jpg?id=54979710&width=980The TEF6686 chip can be found in a handy module [top left] that provides electromagnetic shielding and a through-hole interface. An ESP32-based development board [top middle] controls the module and performs signal processing. An LCD screen [bottom left] displays the user interface, which is controlled using buttons and rotary controls [bottom right]. James Provost

As an active radio amateur (PE5PVB) in the Netherlands, I became intrigued by the enthusiastic reviews I started seeing of the TEF6686. During the COVID lockdown of 2020, I started designing a completely open-source tuner that would wring the highest possible performance out of the chip for FM DXers. My enthusiasm grew when I found TEF6686 tuner modules on AliExpress. These contain a TEF6686 chip in a DIY-friendly package, suitable for through-hole soldering (the TEF6686 itself is a surface-mounted chip), and with radio-frequency shielding to help minimize interference. These modules are cheap-they can generally be found for around US $25.

I soon settled on a configuration consisting of two printed circuit boards connected by ribbon cable. There's a main board, which contains the TEF6686 module and the microcontroller, and a display board, with a small OLED display and the switches and encoders that control the radio. I evaluated various versions of Arduino-compatible microcontrollers, and found that most were all too slow and had insufficient flash memory.

The microcontroller needs a lot of flash because it must store not only all the firmware that operates the radio, which is sent to the TEF6686 after every boot up, but it also must store the different fonts for the display, various images, as well as a database of North American call signs and of Canadian provinces and U.S. states (this info, coupled with other capabilities, enables the user to immediately see the call sign and state where the transmitter they are receiving is located). Eventually I settled on a variant of the ESP32 module, that had the speed and memory capacity I needed, but that still could be programmed using the popular Arduino IDE.

In early 2021, I released on GitHub an initial version of the firmware and schematics for other DIYers. I also was in contact with a DIY Webshop in the Netherlands, Team AmateurRadioShop.nl, which still sells a kit of an earlier version of the radio. In the fall of 2021, I created a second version with a so-called human-machine interface (HMI) display from Nextion. This display has a built-in processor, so I could hand off more user-interface tasks from the ESP32. This sped up the radio considerably, and also opened up some new graphical possibilities. In this version I also added Wi-Fi, which permits connection to online resources such as XDR GTK, a user interface that allows for fine computer control of the radio tuner, and RDS Spy, which decodes the RDS data into usable information in real time. If you want to build this version yourself, you'll have to have your own printed circuit boards made up. But Gerber files, a bill of materials, and construction tips are available on my Web site atwww.pe5pvb.nl. Soldering it together will take about 2 hours.

a-block-diagram-showing-an-esp32-connected-between-a-control-panel-and-the-tef6686-the-tef6686-is-further-connected-to-an-anten.png?id=54979711&width=980The display and controls are directly connected to the microcontroller using general-purpose input/output pins, while the TEF6686 receiver chip is controlled via commands sent over a serial I2C interface. The left and right channels are amplified and passed to standard RCA audio sockets.James Provost

For those who don't feel like making a kit, there's an option for you, too. Early in 2022, a Chinese hobbyist, Justin Peng, contacted me to say he had built a portable version out of my design. That summer, the first versions based on this design of his appeared on AliExpress. In the months after that, interest in my open-source project exploded, and the radio was adopted by FM DXers worldwide.

In 2023, I was contacted by a Czech hobbyist, Marek Farka, who invited me to a group he was establishing on the Discord social platform with other hobbyists devoted to working on and improving software for this radio. In this team we now have a graphic designer, some folks who are specialists in RDS, others who are very skilled programers, and a Chinese fellow who wrote a version suitable for use by hardware designers looking to make a radio for the AliExpress market. Together, we completely reviewed the code and added a smoother graphical design, more connectivity, selectable languages, and other improvements.

I am very grateful to this team for all their hard work to make this open-source radio perhaps the highest-performing radio of its kind, ever. I hope you'll try it out, and even if you don't spend your time hunting for distant stations, rediscover the joy of high-quality FM radio broadcasting!

This article appears in the December 2024 print issue as The Ultimate SDR Receiver."

External Content
Source RSS or Atom Feed
Feed Location http://feeds.feedburner.com/IeeeSpectrum
Feed Title IEEE Spectrum
Feed Link https://spectrum.ieee.org/
Reply 0 comments