sonos-remote-eink

A touch e‑ink remote for Sonos

Touch interface rendered at 250×122 pixels on a 2.13″ e-paper display. Built with Python, PIL, and SoCo. Compatible with any Raspberry Pi with WiFi and a 40-pin GPIO header.

Features

Now Playing
Track info, progress bar, and transport controls. Optional dithered album art at 48×48 or 96×96 px.
Queue & Favourites
Browse side by side. Tap to play. Scrollable lists with on-screen arrows.
Speaker Grouping
See every speaker on the network. Tap to switch zones or group them together.
Shuffle, Repeat, Art
Toggle playback modes and album art from the More tab. WiFi setup built in.
E-ink Display
The screen holds its image between refreshes with no backlight needed. Updates only when something changes.
Runs on Boot
One install script, one reboot. The service discovers Sonos speakers automatically.

Screenshots

Native resolution — pixel-for-pixel what the e-ink display shows.

Idle screen showing dithered album art at 96 by 96 pixels with track title, artist, and album name
Idle with album art
Now Playing screen with album art thumbnail, track info, progress bar, and transport controls for play, pause, skip, and volume
Now Playing with art
Now Playing screen without album art showing track title, artist, full-width progress bar, timestamp, and transport controls
Now Playing without art
Idle screen without album art showing track title in large font, artist, album name, and total duration centred on screen
Idle without art
Split-screen view with favourites list on the left and playback queue on the right, showing the currently playing track highlighted
Queue & Favourites
Speaker list showing four speakers with volume bars, group indicators, and a scroll arrow for additional speakers
Speakers
More tab showing toggle buttons for art, shuffle, and repeat at top, WiFi network list below with connected network inverted, and scan and hotspot buttons at bottom
More

Hardware

ComponentDetails
SBCAny Raspberry Pi with WiFi and a 40-pin GPIO header
DisplayWaveshare 2.13″ Touch e-Paper HAT (or compatible) — 250×122 px, B/W
InterfaceSPI (EPD) + I2C (GT1151 touch) via 40-pin header

Get started

git clone https://github.com/stigf/sonos-remote-eink.git
cd sonos-remote-eink
sudo bash install.sh
sudo reboot

Starts on boot. Finds speakers automatically.

View on GitHub →