Stream Roon on a Raspberry Pi Zero


Since Roon will not run on a Pi Zero as an endpoint what are my options to output music on a Pi Zero with a Justboom DAC?

I have modified a Raspberry Pi Zero and fitted it onto the dock of a B&W Zeppelin speaker. The streamer runs Raspotify but I’d want it to be able to play my Roon library as well.

I tried to install a standalone version of Squeezlite (no LMS needed):
sudo apt-get update -y
sudo apt-get install -y squeezelite

but Roon will not pick up any Squeezlite devices in my LAN…

I would be grateful if someone helps me with this.
Pi Zero is the only option in this specific project as the speaker’s dock cannot provide enough power for RPi2/3 or 4. RopieeeXL on the other hand that combines a Roon bridge with a Spotify-Connect client will not run on a Pi Zero too.

I’m at a loss.

1 Like

You might get more help if you post in the Tinkering section.

1 Like

Thanks Ged. Good call.
Do you think I should repost it or wait to have my post forwarded there by a mod?

1 Like

Hey George –

I have moved your post over to #tinkering.


Try piCorePlayer.
I am using it with Pi Zero as Squeezelite player.

Thank you for that Rene.

1 Like

I have already tried it.
It’s not suitable for me as it not only requires to shutdown LMS before Roon finds a squeezlite device but I also find it extremely difficult to run a shutdown script which in my case is very important. PiCoreolayer is not a full Linux OS so there are dozen dependencies missing.

Do not need to shutdown LMS. It is enough to put specific IP in config page for ROON to find it.
piCorePlayer does run in RAM, so it can me safely unplugged. If you still need, there is a possibility to use 2 GPIO pins to attach a shutdown button. The configuration of shutdown button can be found in Tweaks page.
Later edit:
I see you already know about shutdown tweaks, from pCp forums.

Another alternative could be to use DietPi and install squeezelite.
DietPi is debian based and you can install shutdown script.

1 Like

Thanks for your help, however I don’t have the slightest idea how these tweaks work and it’s largely undewealming for me.

When I run Raspotify it, Spotify just picks up the client Raspotify in my Lan (when of course the Pi is on). Simple.

In order for Roon to identify the Squeezlite device I have to shutdown LMS. Running this headless is a real pain.

Also pulling the plug is not an option in my setup. I have docked the pi permanently on the speaker so I need some kind of switch.

On another note Dietpi does not provide a Spotify - Connect client as far as I’m concerned so basically I’m am in a position where when something works, the other doesn’t as well as the other way around!

I’ve spent the better part of this week tinkering and testing different os (PiCoreolayer, volumio, raspbian, Dietpi, armbian on a nanopi board) and even other boards to no avail (Nanopi neoplus2) . I can’t get these 2 to work side by side on the Pi Zero.

And all this due to Roon labs not bothering to implement armv6 instructions into their Roon Bridge software…

My opinion is that piCorePlayer is the good choice. Like I said, you don.t need to shutdown LMS.
You just have to put ROON server IP on Audio settings page (LMS IP field in attached picture).

Like that, ROON server will find it as squeezelite zone.
For shutdown you should check on pCp forums instructions to set the shutdown button tweak.

1 Like

Thank you for the screenshot.
I will try to specify the ip in the field above but first I need to reflash as for some reason Squeezlite has stopped running (LMS does). Tried everything, update, restart, removed FFmpeg libraries). Squeezlite is still not running no matter what I tried. I think that’s due to me messing around with the poweroff tweaks.

As for the GPIO tweaks I’m not very hopeful too as when I asked they referred me to the manual page which for the life of me I don’t understand anything over there. If it was a script I could run it but that one seems to be a completely different logic. How am I supposed to specify pins and how do the active high, low values work? On which 2 pjns should I connect the two probes of the momentary switch.

Thanks a lot anyway.

For poweroff, I think you could use a cable with power button attached to cut off power.
Something like this:
Or maybe this Canakit on-off switches like @Andreas_Philipp1.
Another option is Pimoroni OnOff Shim which can be used with DietPi for example with only 2 lines added on config.txt

Or maybe, you could take a Raspberry Pi A+ and use Ropiee XL + Pimoroni OnOff Shim.
This will offer you all the things you need as Roon endpoint, Spotify, Squeezelite and shutdown function.
And it it just a little bit bigger than Zero.

1 Like

Just reflashed and I have the exact same behaviour - I have to turn off LMS manually.

I’d rather install a standalone version of Squeezlite on top of Raspbian. Can someone please guide me through this?

Had you put Roon server IP on audio settings page?

1 Like

Thank you. The problem with these cables is that they add extra bulk and I have already my case modified and fitted it with a momentary switch. Everything is set up. Plus I will have to modify one of those cables to draw power from the dock.

I got the on off shim but haven’t tried it on Dietpi. Even if it works I think Dietpi does not have an option for a Spotify-connect client.

Yes, I did. In my case in the field you provided above. Saved, rebooted but still no difference.

I thought about A+. I don’t think there’s any option I haven’t thought of…

A+ still draws a lot of power according to articles I’ve read. It’s just a bit les compared to Pi3 as they come with the same processor. From the inventory of boards I have, only pizero and the Nanopi Neoplus2 will boot and work normally but the latter does not support Raspotify while every other client I tried based on Librespot fails.

I had just tested my RPi Zero with pCp 6.0.0
I have Daphile LMS server and ROON core on my network.
Everything seems to work fine.
If I want to use RPi Zero with Roon, i have just to put Roon server IP on Squeezelitle settings page and enable Squeezebox support on Roon.
For LMS, I must just replace the LMS IP with Daphile one and instantly it is recognized by LMS server.
So, it seems something is strange in your confiuration.

Could you describe your setup ?

1 Like

I flashed once again, re-specified Roon server’s IP within LMS settings and this time it works.
However, I have another problem now. Spotty fails to authenticate. Another case when one works the other doesn’t.
If I eventually get them to work together I might as well solder an 2-position on/off HW switch that will just cut power to the Pi.

Thanks for your help.