Windrose

Spotify Connect protocol

walidbadar · 3 GitHub stars

A Spotify Connect protocol library with a plain C API and I2S output, plus an LVGL player application.

Spotify Connect protocol

walidbadar · 3 GitHub stars

A Spotify Connect protocol library with a plain C API and I2S output, plus an LVGL player application.

Install

# From the workspace root
curl -fsSL https://kartben.github.io/windrose/m/zspot.yaml \
     -o zephyr/submanifests/zspot.yaml
west update zspot

Details

Revision
v0.1.0
License
GPL-3.0-only AND BSD-3-Clause
Maintainers
@walidbadar
Last commit
2 days ago

About

zspot packages the Spotify Connect protocol, derived from cspot, as a Zephyr module with a plain C API. The device shows up in the Spotify app, takes over playback and decodes the tracks to PCM, which a ready-made sink sends to an I2S DAC. Threads, sockets, TLS, PSA crypto, mDNS and nanopb come from Zephyr; only the Tremor decoder is bundled.

The repository also holds a player application with a Now Playing touch screen: cover art, synced lyrics, search, Your Library and Wi-Fi setup. It runs on the ESP32-S3 (VIEWE UEDX32480035E-WB-A) and on native_sim.

A Spotify Premium account is required.