Interfaceby wupsbr · GitHub · LVGLAn ESP32-S3 desk radio that streams the internet
Swap the AM/FM tuner for WiFi and a stream URL. This small desktop radio runs on an ESP32-S3, an OLED, a rotary encoder and a 3 W speaker.
Can I build this?Intermediate · AI 4/5 · $20–40
- Difficulty
- Intermediate
- AI-buildability
- 4/5
- Time
- A weekend
- Cost
- $20–40
The firmware (WiFi, stream decoding, I2S audio, OLED UI, encoder input) is mostly software on off-the-shelf modules, with some light soldering and a printed case left for you to do.
Based on "An ESP32-S3 desk radio that streams the internet" on Afterware: https://afterware.xyz/p/an-esp32-s3-desk-radio-that-streams-the-internet
Write Arduino firmware for an ESP32-S3 dev board that connects to WiFi and plays an internet radio stream URL through a MAX98357 I2S amplifier. Show the station name and status on a 1.3in SH1106 128x64 OLED over I2C, and use a rotary encoder to step through a list of stream URLs stored in code. Keep the code modular so the station list is easy to edit.
Estimates based on the original write-up. How AI-buildability is scored. Building with an AI assistant? Connect it to Afterware (free MCP server).
Story
Forget the broadcast dial. This desktop radio has no AM or FM tuner at all. The ESP32-S3 development board's onboard WiFi pulls in streams from the internet, so the "antenna" is really a 2.4 GHz one.
The controls are minimal: a 1.3-inch SH1106 OLED over I2C shows what's playing, and a rotary encoder handles the rest. Audio goes through a MAX98357 I2S amplifier into a small 3 W speaker. Once it's programmed, the unit only needs a WiFi SSID, a password and the URL of the station you want.
It's a cheap way to get a dedicated radio that never needs a phone in the room. The whole thing is a few common modules and a speaker, so you can build it on a weekend and point it at any stream you like.
Resources · 1
Interfaceby wupsbr · GitHub · LVGL
Interfaceby storagebits · GitHub · LVGL











