logo elektroda
logo elektroda
X
logo elektroda
Dostępna jest polska wersja

Czy wolisz polską wersję strony elektroda?

Nie, dziękuję Przekieruj mnie tam

The simplest Internet radio on the ESP32-S3? No installation required – just upload it and it works!

Seba_smd  39 4095 Cool? (+31)

TL;DR

  • Builds an ESP32-S3 N16R8 internet radio with PCM5102 I2S audio, OLED or color display support, rotary encoders, and NEC 38 kHz IR remote control.
  • Firmware installs directly from a browser using the Web Serial API, so no Arduino IDE, PlatformIO, or library hunting is needed.
  • Connect the board over USB, open the installer in Chrome or Edge, choose the COM port, and set Wi‑Fi credentials through the UART terminal.
  • A web interface on the radio's IP address configures pins, encoder steps, IR buttons, station lists, display brightness, rotation, and wake-up relay control.
Generated by the language model.
Hi!
I’d like to show you my internet radio project based on the ESP32-S3 module. The main aim was to create a system that absolutely anyone can get up and running – without having to install an IDE, search for missing libraries or troubleshoot compilation issues. The entire firmware is uploaded directly from your browser!

🔧 Hardware used
At the heart of the system is the ESP32-S3 N16R8, which handles audio and network interfaces exceptionally well. In addition, you’ll need the following to build it:

DAC: PCM5102 (I2S communication)

Display: Both OLEDs (e.g. SSD1309 / SH1106 via I2C) and colour displays (SPI) are supported.

Control: Rotary encoders and an infrared (IR 38kHz, NEC standard) receiver for remote control operation.

Power supply: 5V.

💻 Software and quick installation
The biggest advantage of this project is the installation process. You don’t need the Arduino IDE or PlatformIO.

Plug the ESP32-S3 into a USB port.

Go to the dedicated website (which uses the Web Serial API – works in Chrome/Edge).
https://seba131.github.io/esp32-radio-installer/

Click ‘Install’, select the COM port and wait a few dozen seconds.

Done! You can carry out the initial configuration (Wi-Fi network password) via the UART terminal directly on this same website.

⚙️ Configuration via the web interface
Once the radio has connected to your home network, you can configure everything else via a web browser by entering its IP address. From the web interface, you can:

Assign any pins to the display (CS, DC, SDA, SCL, etc.).

Configure the pins for the encoders and specify their ‘steps’ (this prevents the device from jumping two positions with a single click).

Programme the IR remote control buttons (read codes on the fly and assign them to functions: volume up, volume down, next station, sleep mode, RGB LED control).

Manage the list of radio stations.

Set the display brightness and image rotation (0/180 degrees).

Configure the wake-up pin (e.g. to control a relay switching on an external amplifier).

📺 Video demonstration
For those interested in exactly how the installation process works, what the web panel looks like and how the radio works in practice, I’ve put together a short video. In it, I walk you through the entire process step by step, from a bare ESP to a working radio:































About Author
Seba_smd
Seba_smd wrote 301 posts with rating 87 , helped 8 times. Live in city Toruń. Been with us since 2003 year.

Comments

simw 14 Jun 2026 18:16

A brilliant initiative and execution; I’ll definitely give it a go when I get the chance. In my opinion, one important piece of information and a step are missing. The ESP32S3 module does not have a configured... [Read more]

maliniak80 14 Jun 2026 19:28

Well done – I was actually thinking about a little radio like that to go with my valve amp for my workshop stereo. [Read more]

lemgo 14 Jun 2026 22:07

Have you considered publishing your sources? I’d encourage you to do so :) [Read more]

efi222 14 Jun 2026 23:48

I think the author’s intention was to keep it simple, without having to deal with different core versions, libraries, patches and the frequent hassle of compiling, etc. There’s plenty of source code for... [Read more]

szwagros 15 Jun 2026 07:30

GPIO0 on the ESP32S3 is internally pulled up to 3.3V, so you can leave it floating. [Read more]

Seba_smd 15 Jun 2026 09:10

That was exactly the intention. As for the source code, there’s plenty of it, for example: Link Link Link and many others. [Read more]

atlantis2 15 Jun 2026 09:10

In cheap modules from AliExpress, there is a 100nF capacitor between GPIO0 and ground, which causes the device to enter BOOT mode. It should be removed, or, as the previous speaker mentioned, pulled up... [Read more]

John Yossarian 15 Jun 2026 13:01

A cool project. I think it’s based on YoRadio, but it saves you having to compile it :) [Read more]

sq3evp 15 Jun 2026 13:08

There’s nothing left to do but check – I’ve got everything, apart from the DAC and the problem with decoding audio from the stream. I reckon you can pair the ESP’s Bluetooth with a Bluetooth device that... [Read more]

John Yossarian 15 Jun 2026 13:15

This problem may be due to the fact that the audioI2S library does not handle https streams correctly. They must be via http. [Read more]

Seba_smd 15 Jun 2026 17:54

THAT IS NOT ENTIRELY CORRECT. Since the module has a BOOT button, then: GPIO0 → already handled on the module board EN/RST → there should also be a RESET button on the module A typical Chinese ESP32-S3... [Read more]

szwagros 15 Jun 2026 18:27

The AI says one thing, the manual another. https://obrazki.elektroda.pl/3329135800_1781540815_thumb.jpg [Read more]

John Yossarian 15 Jun 2026 18:55

In that case, it’s probably based on a different I2S library, such as yoradio. [Read more]

Seba_smd 16 Jun 2026 12:15

Audio I2S v3.4.4 – new I2S driver (ESP-IDF 5), improved stability on S3, requires core 3.x [Read more]

John Yossarian 16 Jun 2026 12:59

OK, thanks for the info. [Read more]

Andrzej Ch. 17 Jun 2026 20:43

That’s a really cool project. My question is about the diagram – or, to be more precise, where can I find the wiring diagram for the whole thing? As I understand it, the programme is written for a specific... [Read more]

miroskop 17 Jun 2026 22:22

I don’t know why, but there’s silence at the PCM5102 output. I’ve checked two boards with soldered jumpers as shown in the photo; I also took one board from another radio (ESP32-MiniWebRadio), where it... [Read more]

efi222 17 Jun 2026 22:27

An ESP32S3 is probably what’s needed here [Read more]

miroskop 17 Jun 2026 22:36

That’s exactly the one I used: ESP32-S3 N16R8, but I’ll try swapping it for another one tomorrow. Perhaps this one has a manufacturing fault; it was taken straight out of the packaging. [Read more]

%}