![]() |
arduino IDEArduino
|
|
![]() |
Soldering Iron Kit |
Simple TEF6686 DSP AM FM tuner with ESP32 microcontroller
The TEF6686 radio module is intended for AM/FM receivers for cars. This miniature module has amazing possibilities, great sensitivity and selectivity, adjustable de-emphasis and filter. It has an output analog audio L + R, or MPX, depending on the configuration. Also, it has an I2C communication protocol, through which the module can be easily controlled by a microcontroller.
Recently, in one of my previous videos, I described how to make a radio with this module that is controlled through a special PC software. This time I will present you a way to make a portable DSP radio with a beautiful TFT color display that is controlled by an ESP32 microcontroller.
The project is the work of PE5PVB hamradio operator and all credits go to him. On its website you can find detailed construction information, as well as a schematic diagram and source codes. Otherwise, such an assembled radio is sold on internet at a price of about 130 dollars, and we can make it ourselves for several times lower price (about20-30 $).
This radio can be made in a very simple way and consists of several components:
- ESP32 DEV MODULE microcontroller
- TEF6686 AM/FM Radio module
- ILI9341 TFT color display with 320x240 resolution
- Thtee buttons
- Rotary encoder
- Potentiometer
- Small D class Amplifier module
- Speaker
- and a small analog instrument to indicate signal strength
This project is sponsored by PCBWay. This year PCBway is celebrating the 10th anniversary of its successful existence. On the occasion of this event, PCBWay provided its users with more conveniences such as big savings for certain products, as well as discounts of up to 80%. From July 1st to August 31st, log in to the PCBWay site, and start the PCBway 10th Anniversary Tour, where you will enjoy Coupons, Lucky Draw, Exclusive Badges, unboxing blind boxes, and many other surprises. PCBWay is always your great choice.
The code can be installed on the microcontroller in two ways:
1.You can download already compiled software and upload it using prepared script from release page.
2.You can download source code from release page, and then compile and upload it using for example Arduino IDE.
The second way seemed more acceptable to me, because I can change some options myself, such as the colors on the display.
After the installation of the code, small adjustments are made during the first power-up using the four buttons:
If during boot the radio we hold certain button the result is as follows:
- Standby button to calibrate analogue S-meter
- BW button to change rotary encoder direction
- Mode button the flip screen
- and Rotary button to switch between normal and optical rotary encode
And now let's see how the radio works in real conditions:
The main screen appears immediately after the logo.
On it we can see all the information and the frequency is marked in the middle with big numbers. Here is the reception information such as RDS, stereo reception, bandwidth, mute, manual and automatic dialing, as well as reception signal strength in the form of a bar and a numerical value. Turning the encoder changes the frequency. The green arrow shows us which digit we are changing (that is the dialing step).
The functions of the buttons are as follows
- STANDBY SHORT PRESS: Switch band
- STANDBY LONG PRESS: The radio goes to Standby
- BW SHORT PRESS: Switch bandwidth setting
- BW LONG PRESS: Switch mono, or auto stereo
- MODE SHORT PRESS: Switch between auto/manual tuning or exit menu
- MODE LONG PRESS: Open menu
- ROTARY SHORT PRESS: Set step size or navigate
- ROTARY LONG PRESS: Toggle iMS & EQ
- This is the Squelch function potentiometer
- and volume potentiometer
An analog instrument is optional, and displays the received signal strength.
And finally, a short conclusion. First of all, let me mention that for the FM band I used a 137 Mhz V-dipole antenna for weather satellites reception, as the closest option since I don't own an antenna for FM, and for the AM area I used a so-called Loop Over Ground Antenna that works perfectly with my amateur radio receivers. As we saw in the previous version of this radio, the reception of the FM band is excellent even when I used a short wire of about 50 cm as an antenna. After all, the purpose of the TEF6686 tuner module is for the car radio, where we usually listen FM radio stations. The sensitivity of distant radio stations is also surprisingly good. As for the AM band, the reception of MW as well as SW stations is quite solid, with some note about the selectivity in the Shortwave area. This is definitely an interesting quality receiver if we consider that a minimum number of components are required for its production.
Let me mention that on the author's page there is also a newer version (TEF DSP AM/FM tuner V2) with a larger screen and more options such as: spectrum monitor, WiFi connectivity for XDR-GTK, bluetoothaudio, and Touch screen, but this version is more complex than version 1.

Simple TEF6686 DSP AM FM tuner with ESP32 microcontroller

Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW
ESP32-S3 4.3inch Capacitive Touch Display Development Board, 800×480, 5-point Touch, 32-bit LX7 Dual-core Processor
BUY NOW
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(3)

- 1 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10

-
10design
-
10usability
-
10creativity
-
10content
More by Mirko Pavleski
-
How to make simple Arduino RGB Led strip VU Meter VU meter or volume unit meter is a device intended for visual presentation of the audio signal. It ...
-
DIY Simple Antistress and Relaxation PEMF Device based on Schumannn resonance frequency 7.83 Hz Schumann resonances are global electromagnetic resonances, generated by lightning discharges in the...
-
DIY Si4825 A10 multiband Radio (MW,SW,FM) Thanks to the production of specialized radio chips, nowadays it is possible to make a quality mult...
-
DIY simple HUNTER Led Game with Arduino Some time ago I presented you a simple to make, but interesting game, a 1D version simulation of "P...
-
XHDATA D-109WB Radio Short Review with complete disassembly Recently I received a shipment of a radio from the brand XHDATA model: D-109WB, so I immediately de...
-
Arduino Rotary encoder combination lock (Arduino door lock system with Rotary Encoder) Rotary dial safes typically use a mechanical combination lock. They are valued for their simplicity...
-
Arduino 3D Printed self Balancing Cube Self-balancing devices are electronic devices that use sensors and motors to keep themselves balanc...
-
Arduino two weel self Balancing Robot Self Balancing Robot is device that can balance itself from falling to the ground. Its function is ...
-
ELECROW CrowPanel ESP32 4.2” E-paper Wi-Fi Info-Dispaly Project An e-paper display (also known as an electronic paper display or E Ink display) is a type of screen...
-
ESP32 Fluid simulation on 16x16 Led Matrix Fluid simulation is a way of replicating the movement and behavior of liquids and gases in differen...
-
Simple GU50 VTTC Tesla Coil with MOT (25+cm Spark) Vacuum Tube Tesla Coils are a common choice for homebuilders for several practical reasons. At Soli...
-
Hourglass ESP8266 Code A hourglass, also known as an sand clock, is a device used to measure the passage of time. It consi...
-
Tug of War Arduino Game on WS2812 Led strip A Tug of War is a classic team-based game where two opposing teams compete to pull a rope in opposi...
-
DIY ESP32 Bioresonance Rife Machine with ZAPPER function Rife machine therapy is an alternative treatment developed by Dr. Royal Raymond Rife in the 1930s. H...
-
Arduino VFO Project with a Large LCD Display A Variable Frequency Oscillator (VFO) is an electronic oscillator whose output frequency can be adj...
-
Exploring the Tesla Coil Driver Board, Full Review & Test Results Some time ago I presented you a video in which I analyzed a super cheap Tesla Coil driver that cost...
-
Arduino Eatrthquake alarm and protection system with D7S seismic Sensor Earthquakes are extremely common events around the world. On average, there are fifty earthquakes a...
-
Review and Comparison of Three Inexpensive Metal Detector Kits A metal detector is a device used to detect the presence of metal objects in the ground or other ma...
-
How to make simple Arduino RGB Led strip VU Meter VU meter or volume unit meter is a device intended for visual presentation of the audio signal. It ...
-
DIY Simple Antistress and Relaxation PEMF Device based on Schumannn resonance frequency 7.83 Hz Schumann resonances are global electromagnetic resonances, generated by lightning discharges in the...
-
DIY Si4825 A10 multiband Radio (MW,SW,FM) Thanks to the production of specialized radio chips, nowadays it is possible to make a quality mult...
-
DIY simple HUNTER Led Game with Arduino Some time ago I presented you a simple to make, but interesting game, a 1D version simulation of "P...
-
XHDATA D-109WB Radio Short Review with complete disassembly Recently I received a shipment of a radio from the brand XHDATA model: D-109WB, so I immediately de...
-
Arduino Rotary encoder combination lock (Arduino door lock system with Rotary Encoder) Rotary dial safes typically use a mechanical combination lock. They are valued for their simplicity...
-
Arduino 3D Printed self Balancing Cube Self-balancing devices are electronic devices that use sensors and motors to keep themselves balanc...
-
Arduino two weel self Balancing Robot Self Balancing Robot is device that can balance itself from falling to the ground. Its function is ...
-
ELECROW CrowPanel ESP32 4.2” E-paper Wi-Fi Info-Dispaly Project An e-paper display (also known as an electronic paper display or E Ink display) is a type of screen...
-
ESP32 Fluid simulation on 16x16 Led Matrix Fluid simulation is a way of replicating the movement and behavior of liquids and gases in differen...
-
Simple GU50 VTTC Tesla Coil with MOT (25+cm Spark) Vacuum Tube Tesla Coils are a common choice for homebuilders for several practical reasons. At Soli...
-
Hourglass ESP8266 Code A hourglass, also known as an sand clock, is a device used to measure the passage of time. It consi...
-
MPL3115A2 Barometric Pressure, Altitude, and Temperature Sensor
46 0 0 -
-
Nintendo 64DD Replacement Shell
142 0 1 -
V2 Commodore AMIGA USB-C Power Sink Delivery High Efficiency Supply Triple Output 5V ±12V OLED display ATARI compatible shark 100W
261 4 1 -
How to measure weight with Load Cell and HX711
375 0 3 -
-
Instrumentation Input, high impedance with 16 bit 1MSPS ADC for SPI
504 0 0