How to Build a Raspberry Pi Internet Radio

Published

Title card for the guide: How to Build a Raspberry Pi Internet Radio, in amber on black with an equaliser motif

A Raspberry Pi makes an excellent internet radio: cheap, silent, always on, and able to play any station with a stream address — without depending on a manufacturer's directory that might one day disappear. This guide covers the parts, the software options from easiest to most hands-on, and how to add your stations.

What you need

  • A Raspberry Pi. A Pi 4 or Pi 5 is comfortable; a Pi Zero 2 W is enough for audio alone.
  • A power supply and a microSD card — 16GB or more.
  • An audio output. The Pi's own headphone socket (on models that have one) works, but a DAC board — a small audio card that sits on the Pi's pins, such as one from HiFiBerry — sounds noticeably better. A USB DAC works too.
  • Speakers or an amplifier, or a pair of powered speakers.

Option 1: a ready-made audio system

The easiest route is to flash an operating system built for music playback onto the SD card. You control it from a web page on your phone or computer.

  • Volumio — a polished interface with a web-radio section and support for adding your own stations.
  • moOde audio — a free, audiophile-focused player with a built-in radio station library and a station manager for adding your own.
  • piCorePlayer — a lightweight player for the Lyrion Music Server ecosystem (formerly Logitech Media Server), which has radio plugins of its own.

Each one takes about half an hour from download to first station.

Option 2: Raspberry Pi OS and a player

If you want the Pi to do other things too, install the standard Raspberry Pi OS and add a player:

  • MPD with mpc — a classic music daemon you control from the command line or from any MPD app on your phone. Add a station with mpc add followed by its stream address, then mpc play.
  • VLC — plays any stream address directly.
  • A browser. On the desktop version, Chromium plays 72FM like any computer — the simplest way to browse thousands of stations with a screen attached.

Adding your stations

Every approach runs on stream addresses — the direct URL of a station's audio. The station page on 72FM shows it for every station in the open Radio Browser directory, which checks streams automatically. How to find a station's stream URL explains where else to look, and how to save a list of stations as an M3U playlist that most players can import.

Making it feel like a radio

  • Physical buttons. A few push buttons wired to the Pi's pins can switch presets, with a small script listening for presses.
  • A display. Small screens can show the station name — and the song title, when the stream sends one.
  • Start on boot. Set your player to start automatically and resume the last station, and the Pi behaves like a radio: power on, music.

Why it outlasts a shop-bought radio

Commercial internet radios depend on a directory service, and when that service changes or closes, the radio can lose its stations — internet radio stopped working explains what happened with Reciva. A Pi plays whatever stream addresses you give it, for as long as the stations broadcast.

The short version

Flash moOde or Volumio onto a Raspberry Pi with a DAC board, open its web page, add your stations by stream address, and you have a radio that no directory shutdown can switch off.

Frequently asked questions

Can a Raspberry Pi be an internet radio?

Yes — with a music system such as moOde audio or Volumio, or MPD on Raspberry Pi OS, it plays any station with a stream address.

Which Raspberry Pi do I need?

A Pi 4 or Pi 5 is comfortable; a Pi Zero 2 W is enough for audio alone.

How do I add radio stations?

By stream address — the station page on 72FM shows it for every station in the open Radio Browser directory.

Do I need a DAC?

Not strictly, but a DAC board or USB DAC sounds noticeably better than the Pi's own headphone output.