Average Man’s Raspberry Pi Internet Radio

Average Man’s Raspberry Pi Internet RadioMy Raspberry Pi internet radio project

I’ve been working on a Raspberry Pi Internet radio for some time now, and was one of the first things I learnt to do on my Pi. Talk about jumping in at the deep end?!

Today I finally finished the build, and have what I’m calling ‘Version 1’.

There are still many things I want to work out, but I wanted to finish my prototype version to then consider improvements to make ‘Version 2’ a solid piece of kit. 

Here are some shots of my completed radio project:

Humble Pi internet radio board

I used a Humble Pi prototyping board to connect the display and all of the switches

Raspberry Pi mounted

The Raspberry Pi is mounted on the rear plate

Raspberry Pi internet radio parts

The various fixings and bits n’ bobs

A few things off the top of my head that I want to improve:

  • Artist/Track name scrolling
  • A decent case (not just 2 panels bolted together!)
  • LCD screen cut into the face
  • Speakers/Amp built in
  • Posh flush illuminated buttons
  • Rotary switch for the station and volume

Here’s a video of my completed radio in action:

The initial idea and knowledge came from watching YouTube videos, which I then expanded on as much as I could to make something a little more individual. If you fancy having a go yourself, you need look no further than Meistervision’s tutorial on YouTube:

That will get you up to a point where you have a working radio, and then just use you natural curiosity, your Google skills, and this blog (I’ll be documenting some of the things I did with mine) to make your Radio unique and how you want it.

Perhaps start like I did with a breadboard:

Raspberry Pi internet radio prototype

My initial prototype

I’ll post a few follow-up blogs showing certain things I did with this, which should help you along. Things like:

  • Snippets of my code (Beware: rusty Average Man code!)
  • Humble Pi overview and tips
  • Simple Pi and LCD mounting
  • LCD wiring
  • IP Address button code
  • How to auto-start a Python script on boot

If there’s a huge demand, I’ll even do a step by step guide…but considering how fiddly this was, I’ll take some convincing!

Thanks for reading. If you have any questions or improvement suggestions, please leave a comment.

Average Man

5 Comments on "Average Man’s Raspberry Pi Internet Radio"

  1. Hey man, great job here! I found this whilst searching for python LCD menu system ideas. You've nailed it! Any chance I could see some of your menu code? Would be much appreciated!

  2. Scratch that, just found your pastebin link….

    I'm building a home heating controller and having a few issues with coding the menu. My main menu is within one function and yes it's getting messy! I see you are skipping through menu items by having each item in its own function, this may solve the delay issues i'm experiencing… i'll give it a shot

  3. Hi ! Thank you for putting your work here . I was trying to replicate you radio but I am stuck .
    First , the radio start but is cycling through the stations and is stopping .
    Second I have no idea how to wire the push buttons . I tried all approaches (with resistor , without resistors , to ground , to positive) but I’m not getting any effect when I push the buttons .
    Please can you post here your wiring with value for resistor ?

    Thank you !

  4. 123Pyrofire | 07/05/2017 at 16:47 | Reply

    Where is the code?

  5. Elizabeth Ferguson | 27/07/2017 at 23:28 | Reply

    Hi there,

    My name is Elizabeth and I’ve had the same wish for a Radio that shows the artist name and title, as in your project here. I messaged on youtube as well.

    However I’d like to do the project with a FM radio chip, the Si4703. Anyway, I’m desperate for code as I’m an intermediate beginner and would love to see anything – especially if I end up just going with internet radio.

    Let us know if you would share your code and documentation!

Leave a comment

Your email address will not be published.


This website uses cookies. Please visit our privacy policy page for more information. Privacy policy

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.