u/ThinkZmart

Image 1 — I built my own Raspberry Pi internet radio after years of using Pi MusicBox
Image 2 — I built my own Raspberry Pi internet radio after years of using Pi MusicBox
Image 3 — I built my own Raspberry Pi internet radio after years of using Pi MusicBox

I built my own Raspberry Pi internet radio after years of using Pi MusicBox

For years, I used Pi MusicBox on my Raspberry Pi. I always loved the idea of a simple internet radio that you could just flash onto an SD card and run.

Over time, Pi MusicBox became outdated, so I started looking for a replacement. I checked out several other projects, but I couldn't find a modern solution that gave me that same simple, plug-and-play experience.

That's when I thought: why not build it myself?

That is how ZmartRadio was born.

The first version was very basic—it could only play internet radio streams. Since then, I've added an alarm clock, a sleep timer, and better support for the Raspberry Pi's various audio outputs. For example, ZmartRadio can now use HDMI audio, allowing you to connect the Pi directly to a TV if you don't have an amplifier or speakers connected to the audio jack.

One thing I realized while researching other setups was that smart home integration is a must-have nowadays. That's why I built Home Assistant integration for it via HACS.

Because of this, the radio is very flexible. You can control it over your local Wi-Fi using your TV, smartphone, tablet, Home Assistant dashboard, or even a Home Assistant mobile widget on your phone's home screen. :P

I have successfully tested it on a Raspberry Pi 3 B+, and a Raspberry Pi 5 (16GB).

ZmartRadio runs on Raspberry Pi OS Lite (64-bit), based on Debian Bookworm. In Raspberry Pi Imager, select Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit). I specifically wanted to keep the base installation lightweight, so there is no need for the full Raspberry Pi OS Desktop version. After installing Raspberry Pi OS Lite, ZmartRadio installs and configures the components it needs.

Honestly, one of the hardest parts was keeping the project simple. It's very easy to experience feature creep, but that wasn't what I wanted. I didn't want to build another Spotify, Apple Music, or Bluetooth audio player. I wanted ZmartRadio to do just one thing well: internet radio.

Once installed, you can use the web interface to find radio stations from all over the world by country, region, genre (like jazz), or simply by searching for the station's name. I've also added features like favorites and recently played stations.

I'm sharing it here because it turned into a really fun project, and I'd love to hear what the community thinks. If anyone wants to try it out, I would really appreciate feedback on what works well and what could be improved.

I am especially focused on keeping it lightweight, so I’m also very curious: what features do you think I should not add? 🙂

Project page:
https://zmartsolutions.nl/zmartradio

Home Assistant integration on GitHub:
https://github.com/ThinkZmart/home-assistant-zmartradio

u/ThinkZmart — 4 days ago