Arduino / Raspberry Pi Internet Radio

This is a project for Arduino and Raspberry Pi to make an Internet Radio, aimed at intermediate skill level. Some familiarity with Linux usage will be beneficial (or access to someone who can help out if required).

Raspberry Pi runs mpd music player daemon to receive and decode the internet radio stream.
ALSA running on the Raspberry Pi provides the sound through either the Jack Socket or the HDMI output.

Arduino runs a nanpy interface code to interface with Python, providing Text output of the Radio Station playing and Button inputs to control Playback.Arduino Raspberry Pi Internet Radio

* Learn how to use the mpd/mpc on the Raspberry Pi
* Learn how to use the nanpy library for Python to interface the Pi to the Arduino
* Make a Cool Internet Radio

By the way. If you like this Instructable, you might also like:


Step 1: You Will Need

You will need:
* Arduino UNO
* LCD / Keyboard Shield e.g. (
* Raspberry Pi
* USB and Ethernet cables

Step 2: Install the Required Packages for mpd/mpc

The first thing we have to do is update Raspbian and install the required packages. Make sure you’re logged in (obviously), and you have an Internet connection.

1. Update Raspbian to the latest packages
$ sudo apt-get update

2. Install the mpd / mpc packages
$ sudo apt-get install mpc mpd

This installs the Music Player Daemon (mpd) and it’s client mpc.
You use the mpc client to configure mpd to add radio streams to the playlist, start and stop the player etc.Arduino Raspberry Pi Internet Radio schematic

Step 3: Install the Required Packages for Python-nanpy

We want to be able to talk to Arduino from Python running on the Pi.
To do that, we need to install the nanpy library for Python and the nanpy firmware for Arduino.1. Install Arduino packages to build the nanpy firmware for Arduino
$ apt-get install arduino2. Get the nanpy library for Python and extract
from /home/pi
$ wget
$ tar xvf nanpy-v0.7.tar.gz3. Get setuptools for Python (a dependancy for nanpy) and extract
$ wget
$ tar xvf setuptools-0.6c11.tar.gz


For more detail: Arduino / Raspberry Pi Internet Radio

Scroll to Top
Read previous post:
ADC Circuit: Raspberry Pi Analog Input Circuit on Breadboard

This project shows how to construct a simple MCP3002 Analog-to-Digital Converter (ADC) circuit with a test potentiometer input. It shows...