Skip to main content
chicks
Jun 7, 2021 1:59 PM UTC

Sonos Touchscreen Controller

A touchscreen controller for Sonos, using a Hyperpixel 4” touch LCD display and a Raspberry Pi Zero WH.

Using https://github.com/maru-sama/sonoscontroller.  Pi configuration based on http://www.weigu.lu/sb-computer/pitoucon/index.html, with mods for touch rotation.

Provides a full-time desktop display of what’s currently playing, along with basic control.

 

This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

27 replies

chicks
chicksAuthor
Jun 7, 2021 2:28 PM UTC

It’s quite basic compared to Jivelite on piCorePlayer, but it’s written in Python with Kivy, using the Soco lib ( @pwt ), so should be fairly straightforward to improve, should someone want to spend time doing so. I have pretty much switched to LMS with the Material Skin and this Jivelite display, a FAR better experience overall than the Sonos controller, IMO. 

 

Translate
Corry P
Sonos Staff
Jun 7, 2021 2:31 PM UTC

Hi @chicks 

Thanks for sharing!

Translate
"Common sense is the collection of prejudices acquired by age eighteen." - Albert Einstein
chicks
chicksAuthor
Jun 8, 2021 10:55 PM UTC

Mucking around with the Kivy layout results in a much nicer UI. Pigpiod installed allows the screen backlight to be turned off in Python when nothing is playing, auto on when a track starts. It’s becoming useful. 

 

 

Translate
chicks
chicksAuthor
Jun 15, 2021 6:42 PM UTC

Kivy has a bit of a learning curve, but getting the hang of it.  Greatly improved UI.  

I used to use my CR-100 strictly as a monitor, to see what’s currently playing.  It was a clunky controller compared to the Sonos app (and especially compared to the LMS Material Skin), but it displayed what’s playing after the phone’s screen timed out.  FAR more convenient.  That’s the purpose of this, simply to display what’s playing, never blanking out until nothing is playing.  Automatically starts displaying when music starts playing again.  Simple, inexpensive.  Something Sonos ought to sell, and used to, with the CR-100 and -200.

 

Translate
melvimbe
Jun 15, 2021 7:51 PM UTC

So this isn’t a tablet, just  pi connect to an LCD screen?  Any reason you couldn’t set this with an HDMI input to a TV screen?

Translate
Danny
chicks
chicksAuthor
Jun 15, 2021 8:58 PM UTC

Well, a TV screen is WAY bigger than a 4” LCD, wouldn’t fit on my desktop, would consume lots more power, and isn’t touchscreen, so how would you select the speaker, or pause/start, etc?  But, if you can get around those limitations, yes, a Pi can use an HDMI display. 
 

This is a simple, fun, but highly useful project, to me at least.  It fills a niche need that Sonos abandoned.  

Translate
chicks
chicksAuthor
Jun 15, 2021 10:03 PM UTC

Size perspective. Sitting on a Sonos Play:1. 
 

 

Translate
chicks
chicksAuthor
Jun 15, 2021 11:45 PM UTC

As a quick test, switched to HDMI safe mode in the Pi Zero’s config.txt. Yes, it will display on an HDMI monitor. 
 

 

Translate
bockersjv
Local Superstar
Jun 16, 2021 8:20 AM UTC

I like this.  A bigger touch screen monitor would be great to show off album art

Something like this maybe? :-

15.6 Inch Portable Monitor with Retractable Stand, IPS HDR 1080P External Monitor with Type C/HDMI

Albeit a bit expensive :(

 

Translate
melvimbe
Jun 16, 2021 12:31 PM UTC

Well, a TV screen is WAY bigger than a 4” LCD, wouldn’t fit on my desktop, would consume lots more power, and isn’t touchscreen, so how would you select the speaker, or pause/start, etc?  But, if you can get around those limitations, yes, a Pi can use an HDMI display. 
 

This is a simple, fun, but highly useful project, to me at least.  It fills a niche need that Sonos abandoned.  

 

My application is a bit different.  Not really looking for a controller. so much just a display of what’s currently playing in the zone the TV sits in.   Control can be done via voice or the sonos app, but it would be nice to just get a visual confirmation of what’s playing.  Ideally, the HDMI port on Amp/Beam/Arc could do this and would work perfectly, that’s not a feature currently, or one that seems to be highly requested.

Translate
Danny