# Build an ESP32-S3 Internet Radio With a Touchscreen World Map

Explore global radio stations by tapping a physical world map on your desk.

- **Source:** [XDA Developers](https://www.xda-developers.com)
- **Published:** 2026-11-11
- **Topic:** [technology](https://brifing.si/c/technology)
- **Original article:** <https://www.xda-developers.com/you-too-can-make-this-esp32-s3-internet-radio-with-a-touchscreen-world-map-to-surf-the-world/>
- **On Brifing:** https://brifing.si/s/258cd770-0424-447b-80c9-289848feffc8

## Interactive Global Radio Interface

Adrian Cubas developed a unique internet radio device using an ESP32-S3 microcontroller and a Freenove FNK0104 board. The project features a touchscreen displaying a world map, allowing users to select radio stations by tapping specific countries. This design replaces traditional text-based menus with a more intuitive and visually engaging geographical interface.

## Technical Architecture and Libraries

The device utilizes LVGL 8 and LovyanGFX libraries to render the user interface smoothly. Audio processing is handled by the ESP32-audioI2S library, which supports MP3 and AAC streams. To ensure performance, the system dedicates one core to audio playback while the other core manages the responsive touchscreen interface and graphics.

## Station Management and Connectivity

The radio accesses approximately 3,700 stations sourced from radio-browser.info. To maintain functionality, the station list is stored in LittleFS and updates automatically over Wi-Fi via GitHub Pages. This architecture eliminates the need for frequent reflashing of the microcontroller firmware, allowing for seamless updates as the station database evolves over time.

## Addressing Stream Compatibility Issues

During development, the creator encountered specific challenges with Zeno.fm streams, which returned 401 errors due to missing User-Agent headers. By patching the library to include the necessary headers, the device successfully authenticates and plays these streams. This technical adjustment highlights the importance of proper request formatting when building custom internet radio hardware.

## Design Philosophy and Accessibility

The primary motivation behind this project was to move away from cumbersome, text-heavy station lists. By mapping audio sources to a visual world map, the creator prioritized user experience and aesthetic appeal. This approach makes exploring international music cultures significantly more approachable for hobbyists who want a tactile, desk-friendly device.

## DIY Implementation and Resources

The project is fully documented, with the source code available on GitHub for those interested in replicating the build. A detailed video demonstration showcases the device in operation, providing visual context for the interface responsiveness. Aspiring makers can follow the provided build guide to assemble their own unit at home.

## Microcontroller Capabilities in Audio

The ESP32-S3 is increasingly popular for multimedia DIY projects due to its dual-core processing power and integrated Wi-Fi capabilities. This radio project demonstrates how such affordable hardware can handle complex tasks like real-time audio streaming and graphical rendering simultaneously. It serves as a practical example of modern embedded systems development.

## Future of Hobbyist Electronics

This build reflects a broader trend of integrating web-based data into physical, interactive objects. By leveraging cloud-hosted station lists and open-source graphics libraries, creators can build sophisticated devices that feel like commercial products. Such projects bridge the gap between simple microcontroller experimentation and functional, high-quality consumer electronics for personal use.

## Sources covering this story

- https://www.xda-developers.com/you-too-can-make-this-esp32-s3-internet-radio-with-a-touchscreen-world-map-to-surf-the-world/ — 

---

_Summary written by Brifing from the original reporting. Copyright in the original article belongs to its publisher; read the full piece at the link above._
