Main Content

Retro Internet Radio Using ESP32

Several years ago, I crafted an FM radio using the compact RDA5807M module, a tuner that delivered FM radio in a small package. While it functioned well and brought enjoyment to the entire family, the reception was subpar. I resorted to hanging a lengthy wire down my window to enhance reception just to get a usable audio on few of the stations.
Now, I’ve opted to construct another radio, but this time, it will be an internet radio instead of an FM one. It can be kept anywhere in the house without the need of an antennae. As far as it has good Wi-Fi reception, it should work fine. Also, there a lot of internet streaming stations which we can listen to and not just the regular stations.


Major components

- 1x ESP-32
- 1x 1.51” Transparent OLED display
- 1x MAX98357 I2S 3W Class D Amplifier
- 1x Micro USB Type B Connectors
- 1x Tiny loudspeaker (I salvaged mine from an old phone)
- 1x DC-DC Charge Discharge Integrated Module 5V/2A
- 1x 120mAH Li-Po Battery
- 1x SPDT slide switch
- 1x 24-pin 0.5mm FPC connector
- 4x M3 x 4mm Threaded Round Inserts
- and electronic components as per schematics

The plan is to use ESP-32 as the brains of this internet radio. The ESP-32 will establish connections with streaming services on the internet to retrieve audio content. Using the ESP-32’s in-built DAC and I2S protocol, the audio would be played on a tiny loud speaker which I salvaged from an old mobile phone via the MAX98357 amplifier.

I will be designing a custom PCB to reduce the overall size and to keep the electronics neat and clean. The design will mimic a cassette, adding a touch of retro aesthetics.

DFRobots was kind enough to provide a 1.51” Transparent OLED display, which I plan to incorporate into the project. Positioned at the center of the cassette, it could showcase audio data or even feature dynamic animations, contributing to the overall appeal of the device. Let’s explore the possibilities and see how it enhances the final product!”

Link to article