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.
From 1st September 2025 to 31st Januarry 2026 PCBWay organizes the 8th project design contest. All interested participants can compete in 3 categories: Electronic Project, Mechanical Project or AIoT Project. The best projects will receive valuable prizes in cash, value coupons, and development boards. Don't miss this unique opportunity and submit your project as soon as possible. PCBWayhas all the services you need to create your project at the best price.

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.

The sensitivity of the receiver primarily depends on the radio module, and of course on the receiving antenna. Selecting stations is really easy and almost realistically emulates the original way of selecting on a retro radio. Each step of the rotary encoder changes the frequency by 100 Kilohertz, so all active stations on the FM band are covered.

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.

mircemk
4D Makers
Patrice Freydiere