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:
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:
Cool? Ranking DIY