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/