Story
Some time ago I presented you a clock project with CrowPanel 2.1inch-HMI ESP32 Rotary Display 480*480. In that project I did not use additional external components, but the display module itself downloads the data from the internet and displays it on the screen.

The module also has the ability to communicate with an external device via I2C, so this time I decided to create a project that will demonstrate this ability. As you can see in my previous projects, I have made several radio receivers so this time the choice was again a radio receiver but this time with an interesting retro scale for selecting stations because the circular shape of this display is perfect for this purpose.
Detailed video description at: https://youtu.be/ldYPtTLRkjg
As you can imagine, the device is extremely simple to make, considering that the microcontroller and display are built into the module itself. We only need to add a Radio module and an amplifier with a speaker. The radio module is a TEA5767, and the amplifier is a cheap PAM8403 class D module with a potentiometer. The housing acts like a sound box, so the sound comes out through the holes around the module. The display module has a marked connector that serves for I2C communication plus power, to which the FM radio module is connected.

Now let's see how the device works in real conditions. Immediately after turning on the radio, a retro-style scale with characteristic green and warm yellow colors appears on the round display. There is also a red arrow that shows the selected frequency. By moving the rotary encoder, the arrow moves accordingly. The initial position of the arrow, i.e. the frequency, is entered into the code as desired. You can also see that under the FM scale there is an AM scale, which is actually just a visual detail and has no practical function in this particular project.

As you know, the TEA5767 is only an FM Radio module. The project intentionally omitted many advanced radio functions such as Sreo/mono marking, RDS, digital frequency display, station memorization and others, because the basic idea was to be as close as possible to a retro-style radio with one basic function, which is manual selection of stations on a drawn scale.

As for the code, I tried to make it as simple as possible to change most of the parameters, so with a little effort you can create your own customized scale. One important note. You need to use ESP32 core version 2.0.14 and not the latest, and also install the given libraries, so does not occur an error when compiling the code.

As for the code, I tried to make it as simple as possible to change most of the parameters, so with a little effort you can create your own customized scale. One important note. You need to use ESP32 core version 2.0.14 and not the latest, and also install the given libraries, so does not occur an error when compiling the code.

And finally a short conclusion. This project combines the modern capabilities of the CrowPanel ESP32 Display module with a true retro radio, focusing on the manual, drawn-scale station selection. The simple hardware setup means anyone can create this vintage-style audio device and enjoy the realistic emulation of classic radio tuning.




