Simple TEF6686 DSP AM FM Tuner With ESP32 Microcontroller
by mircemk in Circuits > Arduino
522 Views, 1 Favorites, 0 Comments
Simple TEF6686 DSP AM FM Tuner With ESP32 Microcontroller
The TEF6686 radio module is intended for AM/FM receivers for cars. This time I will present you a way to make a portable DSP radio with this module controlled by an ESP32 microcontroller.
Supplies
- ESP32 Development board
- TEF6686 AM/FM Radio module
- ILI9341 TFT color display 320x240
- Pushbutton Switch x 3
- Rotary Encoder with Push-Button
- Rotary potentiometer
- pam8403 amplifier module
- Speaker: 0.25W, 8 ohms
- small analog instrument
Description
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 $).
Parts
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.
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
Functioning
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.
Conclusion, Schematic, and Code
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.
Code at : https://github.com/PE5PVB/TEF6686_ESP32