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 thePCBWay 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 encoder

 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
   -...

Read more »