Touch a world map to tune an ESP32-S3 radio

Nov 09, 2026 Last reply: 1 day ago 4 Replies
Jump to replies (4)

Most internet radio builds I have seen end up as a knob, a menu and a long list of station names to scroll through. This one takes a different route: you tap a world map on a touchscreen, drilling down from region to country to station, and playback starts. With roughly 3,700 tested stations from 207 countries, the map actually earns its place as the main interface. It is free and open source, which makes it easy for anyone to dig in.



The hardware side is a Freenove FNK0104 board with an ESP32-S3, a 2.8-inch capacitive touch screen at 240x320, an ES8311 codec and 8 MB of PSRAM. The firmware stacks LVGL 8 with LovyanGFX for the UI and ESP32-audioI2S for MP3 and AAC streams, with the station list kept in LittleFS. Audio runs on one core and the UI on the other, which seems a sensible split for keeping taps responsive while a stream plays. The RGB LED following the audio level is a nice touch.



The case was designed in SolidWorks and prints in PETG at 0.2 mm layer height with no supports, taking about 1 h 45 min and 50 g. It is a two-part design with a yellow front bezel and a white rear cover, mounted with four M3 by 5 mm screws for the board and four M3 by 8 mm screws for the back. One fix along the way: the included speaker leads were too short, so extra wire was soldered on and insulated with heat-shrink tubing.



Two trade-offs worth knowing before starting: the device runs from a USB-C charger or power bank with no battery, and Wi-Fi is 2.4 GHz only, so 5 GHz networks will not appear. Also, the non-touch version of the board will not work, so the exact board matters. Installing takes about 2 minutes through Chrome or Edge, and after that no computer is needed.



Project by Adrian Cubas . Watch it on their YouTube channel:

formatting link


The browser-based flashing is the smartest part of this in my view. ESP Web Tools with Improv Wi-Fi means someone who has never opened an IDE can go from box to working radio in about two minutes. It trades a bit of control for accessibility, but for a project aimed at people outside the maker bubble, that seems like exactly the right call.

Quick question about getting it online: how does the Wi-Fi setup actually work on the device itself when you first power it up? I am curious whether you type credentials on the touchscreen or if there is some other path.

The maker has covered that: Wi-Fi setup uses either a captive portal or an on-screen QR code, and once the network is sorted you pick a language, English or Spanish. So there is no need to type a long password on the small screen if you go the QR route.

Since the case files can be printed in any color, a two-tone variant in something quieter than yellow would be my first tweak. The 50 g, no-supports print makes it cheap to iterate, so trying a dark bezel with a matching back costs little beyond an hour and three quarters of printer time.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required