navigationGo.pngQuick Navigation
allprojects32.pngAll projects

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


navigationMail.pngContact me

3flags.pngWho's Alan?

Rand Nerd Tut
Datasheet Lib
Reddit Elec
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!



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


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



    Go to the radio site or TuneIn, F12, Network tab and look for a .mp3 or .m3u file. No magical solution apparently.
  • Radio classique
  • Classic Rock radio
  • Alpes 1
  • Couleur 3
  • Rire et chanson
  • Inspiration

  • Recent and pretty good
  • Old things
  • Very old things
  • All content on this site is shared under the MIT licence (do what u want, don't sue me, hat tip appreciated) ~ Formerly known as (AlanFromJapan [2009 - 2020])