Many times when I drive home there something good on the radio that I want to continue to listen when I enter my house. alas, I have no radio attached to my speakers, just an amazon echo device. I’ve tried to build a matching looking FM receiver, but I couldn’t resolve the ground noise issues so I didn’t use it all that much. following some articles I read on line I’ve decided to try again, this time with a internet streaming device.
hardware
I’ve decided to base the radio around a raspberry pi 4, which i had many laying around, and there are many ready made software solutions. I’ve added a 5″ touchscreen for the UI which was reasonably priced and added to the light industrial look of my HiFi speakers. it plugs into the MIPI display port and works out of the box without requiring installing any drivers.
software
there are many options available, but this is a quick and easy project, so I’ve narrowed down the options to Volumio and mo0de, both having a ready to burn image on the raspberry pi SD card imager.
Volumio
this is the more easy to install and polished out of the two. you burn the sd card as is, put it in your raspberry pi, log in to the local wifi access point, and an installation wizard takes you through all the steps.
to activate the touchscreen interface you need to install a plug-in, and to do that you need to register with volumio. it’s free, so not a problem, just a bit annoing.
if you want advanced features like bluetooth or spotify connection you will need to upgrade to a paid plan. that sucks.
on the plus side, you have a full directory of radio stations around the world you can search by location or genre. finding the local israeli streaming stations was a no brainer. and the UI is simple and intuitive.
mo0de
this is a feature rich, open source solution, but installing it did require some googling and fiddling. after booting up the first time I needed to plug in a keyboard to change the username and enable ssh (we’ll need it later). I guess it can be pre-configured with the rpi imager.
wifi didn’t work out of the box so I also needed to connect it to a network cable before heading to https://moode.local . I found the UI to be a bit more complex but after some time I got used to it. most advanced function are selected from a tiny “m” menu on the top right corner if the screen. wifi setup is at m->configure->network, the built in UI is just a software switch at m->configure->peripherals.
i didn’t like the cursor that was following my finger on the touchscreen so I’ve sudo nano /usr/lib/systemd/system/localui.service
, and changed ExecStart=/usr/bin/xinit
to ExecStart=/usr/bin/xinit -- -nocursor
. later I found there is a switch in the configuration panel
there is a list of some random radio stations, but adding the local radios requires some work. the media library is selecting the now playing thumbnail. would never have guessed it by myself. then selecting the radio library on the top left, and pressing the “+” on the toolbar
did some looking around to find the url’s for the israeli stations
glz https://glzwizzlv.bynetcdn.com/glz_mp3 glglz https://glzwizzlv.bynetcdn.com/glglz_mp3 kan bet https://kanliveicy.media.kan.org.il/icy/kanbet_mp3 kab gimel https://kanliveicy.media.kan.org.il/icy/kangimmel_mp3 kol hamozika https://kanliveicy.media.kan.org.il/icy/kankolhamusica_mp3 MaKan https://kanliveicy.media.kan.org.il/icy/makan_mp3 88 https://kanliveicy.media.kan.org.il/icy/kan88_mp3 kan tarbut https://kanliveicy.media.kan.org.il/icy/kantarbut_mp3 102 https://102.livecdn.biz/102fm_mp3 99 https://99.livecdn.biz/99fm http://eco99fm.maariv.co.il/live-radio radios 100 https://cdn.cybercdn.live/Radios_100FM/Audio/icecast.audio kol hakampus https://kzradio.mediacast.co.il/kzradio_live/kzradio/icecast.audio RADIO TZAFON http://live.cdnwz.net/1045fm http://1045fm.cdnwz.net/1045fm 102 tel aviv https://102.livecdn.biz/102fm_mp3 radio darom https://cdn.cybercdn.live/Darom_1015FM/Live/icecast.audio radio jerusalem https://radio.streamgates.net/stream/101fm kol hayam haadom http://live.cdnwz.net/eilat IDC https://1062onair.runi.ac.il/idc123_mp3 (should be . and not _ before mp3) eshel hanasi http://stream.eshelnet.com/xstream
if you get an SSL error, just replace https://
with http://
I’ve also enabled bluetooth and spotify connection, but haven’t tested that yet