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 [1]TEF6686 chip, introduced
in 2013 by [2]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
([3]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 The 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
displays the user interface, which is controlled using buttons and
rotary controls [bottom left]. James Provost
As an active radio amateur ([4]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 [5]a variant of the [6]ESP32 module, that had
the speed and memory capacity I needed, but that still could be
programmed using the popular [7]Arduino IDE.
In early 2021, I [8]released on GitHub an initial version of the
firmware and schematics for other DIYers. I also was in contact with a
[9]DIY Webshop in the Netherlands, [10]Team AmateurRadioShop.nl, which
still sells [11]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[12]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 [13]my Web site at
www.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 antenna and two
amplifiers The 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 [14]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, [15]Marek Farkaš, who
invited me to a group he was establishing on the [16]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.”
References
1.
https://www.nxp.com/products/audio-and-radio/hybrid-radio-and-audio/low-if-tuner-high-performance-one-chip:TEF668X
2.
https://www.nxp.com/
3.
https://support.denon.com/app/answers/detail/a_id/71/~/rds-for-fm-radio
4.
https://www.pe5pvb.nl/
5.
https://www.tinytronics.nl/nl/communicatie/bluetooth/esp32-wifi-en-bluetooth-board-cp2102
6.
https://www.espressif.com/en/products/socs/esp32
7.
https://docs.arduino.cc/software/ide-v1/tutorials/arduino-ide-v1-basics/
8.
https://github.com/PE5PVB/TEF6686_ESP32
9.
https://spectrum.ieee.org/topic/diy/
10.
https://www.amateurradioshop.nl/#consent
11.
https://www.amateurradioshop.nl/webshop/bouwkits/algemene-bouwkits/detail/1336/pe5pvb-tuner-teff6686-lcd-rds-24-inch-display.html
12.
https://nextion.tech/
13.
https://www.pe5pvb.nl/tef6686/
14.
https://www.aliexpress.us/item/3256807059766138.html?spm=a2g0o.detail.pcDetailTopMoreOtherSeller.1.6452ICWYICWYsy&gps-id=pcDetailTopMoreOtherSeller&scm=1007.40050.354490.0&scm_id=1007.40050.354490.0&scm-url=1007.40050.354490.0&pvid=f7f417ca-b163-42b2-9281-9abce84f5b57&_t=gps-id:pcDetailTopMoreOtherSeller,scm-url:1007.40050.354490.0,pvid:f7f417ca-b163-42b2-9281-9abce84f5b57,tpp_buckets:668#2846#8110#1995&pdp_npi=4@dis!USD!135.07!63.36!!!951.89!446.52!@212e520d17286754412338025ed3c4!12000040192487092!rec!US!!ABXZ&utparam-url=scene:pcDetailTopMoreOtherSeller|query_from:
15.
https://fmdx.org/founders.php
16.
https://discord.com/