Main Content

ESP32 internet radio with I²S DAC

WiFi internet radio built using an M5StickC plus (ESP32 Pico), external I²S DAC (PCM5102A), and stereo amplifier (Onkyo TX SV 434).

After discovering that my 25 years old Onkyo stereo amplifier is still working, I wanted to give it a second life. An M5StickC Plus (ESP32 pico) which I had obtained some time ago should serve as internet radio player. It provides built-in WiFi, an LCD, some buttons, and I²S output for digital audio. To achieve a sufficiently high audio quality, I decided to use an external digital-to-analog audio converter, the PCM5102A, with a line-out port.

Luckily, some similar projects exist already, and there is a great library - the ESP32-audioI2S - which does most of the work. So the project was feasible in a reasonable amount of time. In the course of the project, I learned quite a few things about audio streaming. And yes, I really like the result and use it every day!

Key Features
- Listening to internet radio stations
- Station and song information shown on display
- Switching the radio station on button press
- Audio playback using I²S and a DAC with up to 32-bit
- Mute and soft unmute during station change
- Device and network information shown during startup”

Link to article