Guest Post: Richard builds a WiFi radio with the Raspberry Pi

Many thanks to SWLing Post contributor, Richard Schreiber (KE7KRF), who shares the following guest post:


Yet Another Internet Radio!

by Richard Schreiber (KE7KRF)

After deciding that an internet radio could be an important source of entertainment in our household, we formulated a few general guidelines:

  • We opted not to use an aggregator but would pick and choose stations we enjoyed and discover the URL’s ourselves. Also would be satisfied with a couple of dozen stations. Based on a recent decision to pare down the number of TV channels we were paying for, having access to hundreds of stations seemed impractical and unnecessary.
  • The price had to be affordable, thus eliminating many stand-alone, commercially available internet radios.
  • We already owned a quality portable speaker (Bose SoundLink Mini) so the internet radio didn’t need to duplicate that component.
  • Didn’t want to tie up nor be tethered to a laptop, tablet, or netbook. We predicted that would eventually lead to less and less use of the radio.

After some research, coupled with the fact I already had some experience with Raspberry Pi computers, that small device appeared to be our best choice. I had recently purchased the newer 2 B model, which has plenty of computing power, and had installed Ubuntu Linaro as the OS. (As an aside, this OS has not to my knowledge been upgraded for the latest Raspberry Pi 3). There are several other operating systems that will work just as well including the official Raspbian OS available through the Raspberry Pi Foundation.

I installed the MPD music player daemon and its client MPC, which is used to add to and delete station URL’s from the playlist, control volume, etc. An important find was the iPhone app called MPod which provides remote wireless access to the features of MPC. At the moment it is a free app for the iPhone (in my case the iPod Touch).

For portability, my Raspberry Pi is being used “headless”, meaning it is not connected to a monitor, keyboard or mouse. If maintenance is required you can use PuTTY, a SSH and telnet client, wirelessly from a Windows (or MAC?) PC, using a command-line interface. Mainly this is needed to shut down the Raspberry Pi properly before turning off the power, but it boots completely on its own when powered up. The MPod app will then load the playlist of stations and let you start playing the radio without direct access to the Raspberry Pi.

The sound output of my Raspberry Pi is connected to the auxiliary port of our Bose SoundLink Mini Bluetooth speaker. But instead of trying to implement Bluetooth on the Raspberry Pi, I took the easy way out and use a direct connection. The sound reproduction from this setup is very good, though audiophiles might be somewhat more critical.

The above represents a minimal investment if you already have a good speaker on hand. It does require some on-line research and learning at least enough to install the OS and software. The good news is that there are many websites and forums providing step-by-step instructions and helpful hobbyists willing to explain some of the more cryptic aspects. A few of the websites that I found to be helpful:

http://www.instructables.com/id/Arduino-Raspberry-Pi-Internet

http://cagewebdev.com/raspberry-pi-playing-internet-radio

https://learn.adafruit.com/raspberry-pi-radio-player-with-touchscreen

A couple of these also explain how to add a display to your Raspberry Pi internet radio.

Our Raspberry Pi radio is on each evening and has been trouble free. It is worth mentioning that this is a very portable setup, and can even be powered by a battery pack (the kind used for recharging tablets and cell phones) for a few hours. Of course you need to be near a wifi hotspot.


Thank you, Richard! What a great way to use the inexpensive Raspberry Pi. I have a spare Pi2 and an amplified speaker here at the house. Though I don’t need another WiFi radio, it would be fun putting this little system together. 

5 thoughts on “Guest Post: Richard builds a WiFi radio with the Raspberry Pi

  1. DL4NO

    An alternative to a Raspberry Pi could be an old smartphone or tablet computer. Even a dead battery need not be a problem for this application.

    More of a problem might be the remote control: Most VNC servers for Android only run on rooted devices.

    Reply
  2. Tha Dood

    One application that I’ve found for a wi-fi net only radio, besides freeing up a computer, is to use it as a source link for various radio programing to feed my Part #15 AM stations with internet stations that wouldn’t be on-air on radio other-wise. Talk about offering alternative programing, and the audio quality is certainly good enough for wide-band AM radio. Some of my friends that have weekly specialty shows on-line, I can link in to their streams and put them over the radio. It beats paying for commercial satellite links, and reliability is now up to 95%. I’m not the only one doing this. A NPR station in Cinncinatti, OH is feeding audio to a 100KW FM station that way to its other station in Portsmouth, OH. Keep in mind that if you feed an FM station that way, and the stream is less than 128kbps, you’ll hear the audio quality difference, or lack of it.

    Reply
  3. Don Jankura

    I like the DIY approach to internet radio listening. My office set-up is an Eleduino 7 inch HDMI monitor hooked up to a Raspberry Pi 3 with wireless keyboard and mouse. Now that the Pi 2 and 3’s browser can handle Flash Player, I either use Flash Player enabled sites or Rhythmbox, an old simple app. I add whatever stations I want including my city’s low power FM station and police radio thru a net scanner. Part of the fun of internet radio is finding alternative URLs to internet stations. I was forced to do this in the days before Flash Player.

    I took a Rube Goldberg approach to Raspberry Pi Internet Radio for night-time listening . When I started using a CPAP machine years ago it really interfered with the radio. So now it’s two Raspberry Pis a distance from the CPAP machine. One is headless. Each is “tuned” to a different internet radio station. The monitor is turned off after setting up the stations. The audio outputs from each Pi go via headphone extension cords to a bed-side switch (the “tuning dial”) then to a pillow speaker via a bed-side radio’s audio aux input. This way I can use the radio’s sleep timer to control on/off and volume control. The Pis remain on all night, so no need to restart or stare at a monitor at any time. Crazy but effective.

    Reply
  4. Carlos Fernandez

    This is rather useful, but what I’d like to do is assemble a raspberry pi that receives standard radio. I currently have a cheap shortwave radio (specifically the Kaito KA29), and I have had a lot of trouble getting reliable reception from it. Has anyone built a shortwave receiver with a raspberry pi? I have looked for a good SDR to connect to it, but the cheaper rtlsdr seems not to support the shortwave frequency range and I can’t get a multi-hundred dollar SDR to connect to my 35 dollar pi. Thanks.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *