šŸ“» New TinyCLR Project: Full Automotive‑DSP FM Tuner (TEF6686) for SITCore

Hi everyone,

I’d like to share my current TinyCLR project:
a full‑featured automotive DSP FM tuner driver for SITCore, based on the NXP TEF6686.

The TEF6686 is a modern FM DSP tuner used in high‑end car radios.
This driver brings the chip natively into TinyCLR for the first time, enabling professional‑grade FM radio reception directly from .NET code.

Repository:
:backhand_index_pointing_right: https://github.com/Implicate-X/ImplicateX.TinyCLR.Drivers.Tuner.Tef668x

:rocket: Overview

The driver implements the complete TEF6686 DSP pipeline:

  • RF front end

  • IF demodulation

  • Pilot tracking

  • Stereo matrix

  • High‑cut / High‑blend

  • Softmute

  • Multipath management

  • RDS status

  • Audio processing flags

The result is a true TinyCLR FM tuner, technically far beyond typical hobby‑level FM chips like Si47xx, RDA5807, BK1080, or QN8035.

:check_mark: Features

FM Tuning

  • 10 kHz tuning steps

  • stable PLL lock

  • automatic IF correction

  • stereo pilot detection

DSP Status

The driver exposes all relevant DSP parameters:

  • softmute

  • highcut

  • stereo

  • sthiblend

  • softmuteActive

  • highcutActive

  • stereoProcessingActive

  • stHiBlendActive

This allows building a complete audio quality display, similar to automotive receivers.

RDS Status

  • RDS available

  • RDS loss

  • RDS data present

  • RDS synchronization

(Full RDS decoding will be added later.)

Signal Quality

  • stereo available

  • digital radio flag (DAB/DRM)

  • multipath indicators

  • noise floor tracking

TinyCLR‑Optimized

  • pure I²C driver

  • no unsafe operations

  • no external dependencies

  • fully compatible with SITCore boards

:wrench: Architecture

The TEF6686 outputs analog audio directly from its DSP.

In my setup, it is combined with a VS1053B web‑radio decoder using an ADG888 analog switch:

TEF6686 → analog out → ADG888 → vintage tuner audio path
VS1053B → analog out → ADG888 → vintage tuner audio path

A front‑panel BAND button (originally FM/AM) now switches between FM and Web Radio.

:blue_book: Example: Reading FM Status

FM frequency: 91.20 MHz
FM status tuned/raw: 0x03E8
FM status RDS/raw: 0x0200 available=False loss=False
FM status signal/raw: 0x8000
FM status signal: stereoAvailable=True digitalAvailable=False
FM status processing: softmute=0 highcut=378 stereo=847 sthiblend=1000
FM status processing/flags:
softmuteActive=False
highcutActive=True
stereoProcessingActive=True
stHiBlendActive=True

These values indicate:

  • stable stereo pilot

  • active DSP optimization

  • no softmute

  • slight high‑cut adjustment

  • full stereo width

  • RDS synchronization

The TEF6686 operates at automotive‑grade quality, even with a simple whip antenna.

:hammer_and_wrench: Roadmap

  • [ ] Full RDS decoder (PS, RT, PTY, PI, AF)

  • [ ] Stereo width visualizer

  • [ ] Multipath indicator

  • [ ] Automatic station scan

  • [ ] Sample TinyCLR UI (display)

  • [ ] Integration with VS1053B web‑radio module

If anyone is interested in FM/DSP work on TinyCLR or wants to test the driver, feedback is very welcome.
This is an active project and will continue to evolve…

4 Likes

I have not heard of this chip before but I guess it is very popular, and with many cool devices on the market like this one

I wonder if I can load tinyclr on these radios and use your driver :nerd_face:

1 Like

This started as my summer project and has now grown into a full autumn project:
a DENON tuner, completely gutted and rebuilt from the inside out.
FM reception stays, of course — but the unit now gains a full Web‑Radio, powered by TinyCLR and my TEF6686 stack.

You can still see an early, abandoned attempt with a Si4703 module in the photo.
That was just a short detour — interesting, but not suitable for this project.
The real reason this investment makes sense is the TEF6686.
Some devices use this module, and everyone who works with it is impressed by its capabilities:
automotive‑grade DSP, excellent RF performance, a stable RDS pipeline, and high‑quality signal processing.
It’s the perfect foundation for a modern tuner project.

What makes this especially exciting is the broader context:
Consumer electronics is still filled with a wild mix of proprietary controllers, each with its own isolated firmware ecosystem.
With TinyCLR, something genuinely transformative is happening:
modern software architecture and its methodologies are entering embedded systems — creating a unified approach across system boundaries.
A classic consumer device suddenly gains a .NET runtime, a modular architecture, and a DSP subsystem normally found only in automotive radios.

GHI Electronics has long used the slogan:

ā€œWhere hardware meets software.ā€

To that, I’d like to add:

ā€œWhere consumer electronics meets TinyCLR.ā€

And as a fun update:
I’m currently working on the RDS Subsystem — the part that extracts and processes all RDS information as a parallel signal path.

5 Likes

Oh this deserves to be shared with everyone we know! Thanks for sharing with us.

1 Like

The project has been delayed for now because I had to work on something else.
And a PCA9306 has been added to the board.
But progress is continuing now.
The TEF6686 operates at 3.3 volts. Unfortunately, the off-the-shelf module, which is readily available, only operates at 5 volts.
The standard level shifters using the BSS138 haven’t proven to be very reliable.
Otherwise, I prefer the SN74LVC8T245, which is very reliable for SPI and I/O.

1 Like

Hi Robert.Net,
very interesting project. I’ve already ordered and received a TEF6686 module and will try to run your project in the next time.
However, I think that a voltage shifting chip might be not really required to work with the 3.3V GHI modules. A TEF6686 module can be powered with 5 V while communicating with a 3.3 V MCU at the same time, provided that the I²C lines operate at 3.3 V logic levels, which is mostly the case.
Best regards
Roland

1 Like

The 5-volt tolerance is, of course, a feature.
But from a design perspective, I’d prefer to use isolation when dealing with different voltage levels.
The SN74LVC8T245, SN74LVC1T45, and PCA9306 have really proven themselves, though. Especially when it comes to the interrupt signal on the RDS pin, the BSS138 wasn’t usable.
Now it works flawlessly.
The project has moved on in the meantime.
Currently, I’ve spun off all other devices on the board into separate projects, which are also published on GitHub.
Right now, I’m working on getting the VFD thread to display the data from the TEF6686 properly.
I might still switch to an OLED, which I already have in the same form factor.
But that’ll have to wait for later.
First, I need to finish this one completely.
For the VS1053B, I’ll be using an Adafruit Music Maker FeatherWing tomorrow. The full Music Maker was simply too big.
By the way, these are the only boards with the VS1053B that actually work.
Don’t buy anything from China—it’s all junk.
I did it anyway, just to prove it, and got my hands on various boards.
Either they don’t work at all, or they don’t offer all the features, can’t be patched, are very prone to glitches—just having a finger near them is enough to crash the chip.
A first sign that it’s a fake is the distinct printing on a Chinese VS1053B. The logo is also in front of ā€œVLSI.ā€ The original marking is laser-etched, and the logo is behind ā€œVLSI.ā€

https://github.com/Implicate-X/WebTuner

1 Like

Back to the Future: WebTuner

Today I’m sharing the first sneak peek at my Back to the Future project, WebTuner.
At THE Radio Receiver (RDS view)

The working title WebTuner has now become the project š—§š—›š—˜ Radio Receiver.

[š—§]inyCLR [š—›]ybrid [š—˜]mbedded Radio Receiver.

By the way, starting with the song title ā€œThe Power of Love (1985)ā€ displayed on the VFD works perfectly as a dramatic hook. It immediately makes clear what this project is all about: not retro for retro’s sake, but the fusion of the past and modern technology in a single device…

2 Likes

This is awesome. We can turn this into a video of you share clips from different angles

1 Like

Yesterday I did a quick ā€˜flight’ over the device. I can post a link to it here later. I still need to edit the video a bit.
The following developments will be interesting to watch.
This is just the beginning.
With TinyCLR, absolutely anything in the embedded field is possible. I think consumer electronics illustrate this quite well…

1 Like