Projects   ›   Music Assistant   ›   SendSpin Raspberry Pi

SendSpin Raspberry Pi

Host: snapclient-rpi3aplus (Raspberry Pi 3A+) User: bram

Installation Type

Sendspin is installed as a Python package inside a virtual environment, running as a systemd daemon.

  • Virtualenv: /home/bram/sendspin-env
  • Binary: /home/bram/sendspin-env/bin/sendspin
  • Service file: /etc/systemd/system/sendspin.service
  • Config: ~/.config/sendspin/settings-daemon.json

Service Management

sudo systemctl status sendspin      # Check status
sudo systemctl start sendspin       # Start
sudo systemctl stop sendspin        # Stop
sudo systemctl restart sendspin     # Restart
journalctl -u sendspin -f           # Live logs

Updating

# 1. Activate the virtual environment
source ~/sendspin-env/bin/activate

# 2. Upgrade the package
pip install --upgrade sendspin

# 3. Deactivate
deactivate

# 4. Restart the service
sudo systemctl restart sendspin

# 5. Verify it came back up cleanly
sudo systemctl status sendspin
journalctl -u sendspin -f

Check the current version anytime with:

~/sendspin-env/bin/sendspin --version

If pip reports the package is already up to date but you suspect otherwise, force a fresh fetch:

pip install --upgrade --no-cache-dir sendspin

Config

There is a config file at ~/.config/sendspin/settings-daemon.json The static_delay_ms was especially set to 100 to perfectly sync with the ESP32 sendspin client.

{
  "name": "Kantoor",
  "log_level": "INFO",
  "listen_port": 8927,
  "player_volume": 6,
  "player_muted": false,
  "static_delay_ms": 100,
  "last_server_url": "ws://192.168.1.120:8927/sendspin",
  "client_id": "sendspin-kantoor",
  "audio_device": "1",
  "use_mpris": true,
  "audio_format": null,
  "use_hardware_volume": null,
  "hook_set_volume": null,
  "hook_start": null,
  "hook_stop": null,
  "visualizer": false,
  "manufacturer": null,
  "product_name": null,
  "last_played_server_id": "1316d2b157134f19b6d676d2e703fe29",
  "interface": null,
  "color_mode": null
}

Notes

  • Before updating, check the PyPI changelog or GitHub repo — the daemon config file format can change between versions.
  • After an update, confirm in the logs that the client reconnects to the Music Assistant server without errors.