I used a Raspberry Pi 3B+ as a Spotify endpoint for an older receiver with no network capability using Raspotify (librespot). Spotify’s lossless FLAC stream is decoded locally on the Pi and output to the receiver as 44.1 kHz LPCM over HDMI. The Pi and receiver are powered by the same home-automation relay; when the amplifier powers on, the Pi boots, and when the system is turned off, the controller issues an SSH shutdown command to the Pi 20 seconds before cutting power. Because SD-card systems are susceptible to corruption during unclean shutdowns, the Pi is also configured with a read-only root filesystem and an OverlayFS writable layer. With these safeguards in place, the system has reliably tolerated many power cycles while streaming lossless Spotify audio.
While pursuing modern classifieds (FB Marketplace, Craigslist, etc.), I came across an interesting posting: a Denon AVR-891 that wouldn’t turn on, so the poster was giving it away. At best, it might be something simple, and I would finally have a use for the speakers I had been holding onto; at worst, it would end up in my e-waste pile. By coincidence, I was already driving through the area that evening, so I contacted them, and they left it on the porch for pickup.
The next weekend, I opened it up to see if the failure was obvious. The first thing I noticed was how little dust was inside, almost as if it had barely been used. After a quick inspection, I found a glass fuse that measured open. My assumption was either that a transient event had blown it or that there was a deeper fault further down the power path. After replacing the fuse, the amplifier powered on normally.
This receiver was released just before integrated networking became common, so there was no internet streaming, AirPlay, or other modern connectivity beyond the traditional analog and digital inputs. While researching options, I found a few commercial solutions such as external DACs and small network streamers like the WiiM Mini. Rather than spending money on a receiver I had just rescued, I started looking into what could be done with the assortment of hardware I already had available. That led to Raspotify, a lightweight Spotify Connect endpoint designed to run headless on a Raspberry Pi.
The receiver works well and supports HDMI audio, but it was built just before network streaming became standard, so it has no built-in way to connect to services like Spotify. I wanted a way to add Spotify streaming without modifying the receiver itself or spending much money on dedicated hardware. The simplest approach was to create a small external device that could act as a Spotify endpoint, connect to the receiver over HDMI, and behave like a native streaming source. A Raspberry Pi running Raspotify turned out to be a straightforward way to fill that role.
In practice, this meant the endpoint needed to behave like part of the receiver rather than a separate computer. When the receiver turns on, the Pi should boot automatically; when the system shuts down, the Pi should power down cleanly without corrupting the SD card. The device should run headless with no keyboard, monitor, or manual interaction once configured. Audio quality should be at least as good as typical Spotify playback, delivered digitally over HDMI. Finally, the setup should be simple enough that the same configuration can be copied to another Raspberry Pi later with little effort.
At a high level, the system consists of a Raspberry Pi connected to the receiver over HDMI and powered from the same home‑automation relay. The Pi runs Raspotify and functions as a dedicated Spotify endpoint for the receiver.
Audio Path
Spotify streams audio over the network to the Raspberry Pi, where Raspotify receives the stream and decodes it locally. The Pi then outputs the resulting digital audio over HDMI to the receiver, which performs the digital‑to‑analog conversion and handles the rest of the audio processing.
Power and Control Flow
The Pi and receiver share a single power relay and are intended to behave like one device. When the shutdown automation is triggered, the system first attempts a clean shutdown of the Pi before the relay removes power. This ensures the computer component powers down in a controlled way before the amplifier loses power.
Filesystem
Although the system sends an SSH shutdown command before power is removed, there is still a chance the Pi could lose power before shutdown completes. As a fallback protection, the base operating system is mounted read‑only, and OverlayFS provides a small writable layer on top of it. All runtime writes are redirected to the overlay rather than the underlying OS image, so if power is lost unexpectedly, the core system remains intact.
Hardware
The hardware setup consists of a Raspberry Pi connected directly to the receiver via HDMI and placed next to the amplifier. HDMI is used instead of the Pi’s analog output, so the receiver’s higher‑quality DAC performs the digital‑to‑analog conversion, avoiding the noise and lower fidelity of the Pi’s built‑in analog audio. This simplifies integration by using a single short HDMI cable to the receiver and shared power through the same relay that controls the amplifier.
Software
The software stack is intentionally minimal. Raspberry Pi OS Lite provides a small, predictable Linux base, SSH allows the system to be administered remotely once installed, and Raspotify (librespot) implements the Spotify Connect endpoint and handles the audio stream locally.
Power Control
The same relay that powers the receiver also supplies power to the Pi. Enabling the relay brings both devices online, so the Pi boots automatically when the receiver powers up. When the shutdown automation runs, the controller sends a shutdown command to the Pi over SSH, waits about 20 seconds for the shutdown sequence to complete, and then disables the relay to remove power.
System Block Diagram
Audio Path Diagram
File System Diagram
Base OS Installation
The system starts with a Raspberry Pi OS Lite image written using Raspberry Pi Imager. A hostname is set to make the device easy to identify on the network, and SSH is enabled so the Pi can be configured remotely once installed.
System Preparation
After the base image is installed, the system is cleaned up before adding the Spotify service. The main tasks are updating packages and disabling cloud-init so the Pi behaves predictably on every boot.
Raspotify Installation
Raspotify turns the Pi into a Spotify Connect endpoint. After installation, the librespot configuration is updated to use the HDMI audio device rather than the Pi’s analog output and to request the highest‑quality stream available. Once configured, the Pi appears in the Spotify app like any other playback device, and selecting it sends the audio stream to the receiver.
SD Card Imaging
Once the Pi is fully configured, the SD card is captured as a disk image so the system can be restored quickly if the card becomes corrupted. The same image can also be written to another Raspberry Pi 3B+ to create an identical endpoint. The only required change is updating the hostname, which can be done on the SD card before installing it in the new Pi.
The system behaved as intended. After the Pi finishes booting, it appears as a Spotify Connect device and streams audio normally over HDMI. The shutdown automation sends the SSH shutdown command, the Pi completes executing its shutdown sequence in the delay window, and power is removed after the 20-second delay.
The project achieved its goal: adding Spotify streaming to an older receiver without modifying the hardware or buying additional equipment. In daily use the only noticeable difference between the Pi and an integrated Spotify endpoint is the brief wait for the Pi to boot before it appears as a Spotify Connect device. For a small amount of hardware and configuration, the result is a simple and reliable way to extend the life of otherwise solid audio equipment.