navigationGo.pngQuick Navigation
allprojects32.pngAll projects
hardware32.pngHardware
links32.pngLinks

favoriteStar32.pngTop projects
Alan numitron clock
Clapclap 2313/1386
SNES Pi Webserver
USB Volume/USB toys
Smokey amp
Laser cutter
WordClock
ardReveil v3
SNES Arcade cabinet
Game boy projects
cameleon
Home Presence Detector

github32.pngGitHub
AlanFromJapan

navigationMail.pngContact me

alanfjmail.png
3flags.pngWho's Alan?


Akizukidenshi
Elec-lab
Rand Nerd Tut
EEVblog
SpritesMods
AvrFreaks
Switch-science
Sparkfun
Suzusho
Datasheet Lib
Reddit Elec
Ermicro
Carnet du maker (fr)

raspi webradio player

A Raspberry pi zero W used as a WebRadio player! Because I can't work without music and turning on the PC to open Youtube is taking too much of my productivity away. So webradio looks like the way to go!

Presentation

Principle

Seems you just need to MPD/MPC to play the web streams, a way to output the sound (I have somewhere an eBay soundcard or default sound output?), a display of what is the current track, and some way to control it (change station at least).

Points of interrest

Implementation

Bill of materials

  • Raspberry pi zero W
  • Schematics

    Make sound from a raspi zero without soundcard

    Explained here and here, you need to redirect 2 pins on their alternate pin, and make a small low/high pass filter with resistors and caps.

    Source code : with VLC

    VLS is more power hungry but this Raspi will only play radio so... even if it uses 40% CPU, it won't make a difference.
    
    #install VLC and pulseaudio
    sudo apt-get install vlc pulseaudio
    
    #make a user named "radio"
    sudo adduser radio
    #add user to the audio group if you want sound :)
    sudo usermod -a -G audio radio
    #add user to the netdev group if you want to access the internet
    sudo usermod -a -G netdev radio
    
    #add to your .bashrc the below 2 lines to start pulseaudio as a user daemon (apparently it shouldn't be a system daemon)
    #START PULSEAUDIO as a per user daemon
    pulseaudio -D
    
    Now it should work, so listen to music with:
  • Normal case: vlc your-URL-here -I dummy
  • If you need details when things go south : vlc your-URL-here -I dummy --verbose=2
  • Source code : with MPC

    
    #install MPC/MPD to play the audio streams
    sudo apt-get install mpc mpd
    
    
    edit the etc mpd.conf change the folder for music and add correct HW -> hw:1,0
    list hw avec aplay -l
    put files in fodler
    mpc add / (add all)
    mpc play
    mpc volume 100
    

    Display screen

    Using a small 2.13 inch I2C SSD1306 with Adafruit library:
    sudo apt-get install python-pip python3-pip
    sudo python -m pip install --upgrade pip setuptools wheel
    #doesn't work - unmaintained since 2014
    #sudo pip install Adafruit-SSD1306
    
    sudo pip3 install adafruit-circuitpython-ssd1306
    sudo python3 -m pip install pillow
    

    Power consideration

    I'd like to put the raspi zero W in sleep mode when unused to minimize power consumption AND maximize the benefit on start time. There's no real power management on the Raspi HW, so basically you have to cut the power on everything that is unused to save a few watts.
    Here's a few links I found:
  • Stop HDMI /usr/bin/tvservice -o (-p to re-enable) from here
  • Pictures

    Links

    Radios!

    Go to the radio site or TuneIn, F12, Network tab and look for a .mp3 or .m3u file. No magical solution apparently.
  • Radio classique https://radioclassique.ice.infomaniak.ch/radioclassique-high.mp3
  • Classic Rock radio http://144.217.158.59:5338/live
  • Alpes 1 http://alpes1grenoble.ice.infomaniak.ch/alpes1grenoble-high.mp3
  • Couleur 3 http://stream.srg-ssr.ch/m/couleur3/mp3_128
  • Rire et chanson http://185.52.127.163/fr/30401/mp3_128.mp3
  • Inspiration

  • Recent and pretty good https://www.lesbonscomptes.com/pages/raspmpd.html
  • Old things http://jan-holst.dk/pi-radio/pi-radio.html
  • Very old things http://doc-diy.blogspot.com/2014/04/tubenetradio-raspberry-pi-powered-tube.html
  • All content on this site is shared under the MIT licence (do what u want, don't sue me, hat tip appreciated)
    electrogeek.cc ~ Formerly known as Kalshagar.wikispaces.com (AlanFromJapan [2009 - 2020])