For complete build instructions and links to a spiffy case, head over to the Project Log at Hackaday.io.
SlimPi provides a Logitech Media Player display using a WaveShare e-Paper display and a Raspberry Pi.
- Features
- Quick Install
- Requirements
- System Setup
- Software Configuration
- Hardware Setup
- Building SlimPi
- Screen Layouts
- Plugin Modules
Table of contents generated with markdown-toc
SlimPi provides a now playing display for a selected Logitech Media Player. When the player is paused, an alternative screen is displayed.
Display includes:
- Track Title
- Artist Name
- Album Name
- Album Artwork (if available)
- Now Playing Mode: e.g. play, stop, pause
When the music is paused, the display shows an alternative screen.
Word Clock (default)
Clock
Binary Clock
The refresh rate of HAT compatable waveshare displays is relatively slow (5-20 seconds) and does not support partial refreshes. This results in the display pulsing between an all-white and all-black state several times during each refresh.
To limit the visual disturbance of a pulsing screen, the default clock is the Word Clock with a refresh rate of around 5 minutes.
If you have a working EPD installed, the following instructions will get you up and runing quickly. If you do not yet have a working screen installed, check the Hardware Setup instructions below.
- Download the installable package from git hub
- Decompress the tarball:
tar xvzf slimpi_latest.tgz
\ - Make sure SPI is enabled on the Raspberry Pi
- Run the installer:
install.sh
for a daemon that starts automatically at boot, or see below for running in user spaceuser_install.sh
to setup the user space configuration files
- Edit the appropriate configuation file:
/etc/slimpi.cfg
for daemon or~/.config/com.txoof.slimpi/slimpi.cfg
for user space-
Required settings that must be configured:
display = waveShareEPDType
- example:
display = epd5in83
- The display type should match the model number of your HAT compatable e-Paper display
player_name = "Name Of LMS Player on Local Network"
- example:
player_name = slimpi
- The player name can be found by running
slimpi --list-servers
:
- The player name can be found by running
slimpi --list-servers Scanning for available LMS Server and players servers found: [{'host': '192.168.178.9', 'port': 9000}] players found: name: Chilab'le <---player_name playerid: 00:04:20:07:e6:44 modelname: Squeezebox Classic players found: name: slimpi <---player_name playerid: dc:a6:32:29:99:f0 modelname: SqueezeLite
-
- Raspberry Pi 4 Model B
- RPI 3 Model A should work as well, but is untested
- WaveShare e-Paper display with e-Paper HAT
- Any waveshare display should work
- Supported WaveShare ePaper Displays
- HiFiBerry hat (optional)
- The HiFiBerry DAC+ PRO and similar boards add high-quality audio output to the Pi so it can act as a display and also work as a LMS client player using squeezelite
- GPIO 2x20 headers must be added to the board to support WaveShare HAT
- HiFiBerry's DAC+ Bundle with the following configuraiton is a good choice:
- DAC+ Pro
- Acrylic Case for (RCA) AND DIGI+
- Raspberry Pi 4B 2GB (1GB should be sufficient as well)
- 16GB SD Card
- PowerSupply (USB C 5.1V/3A)
- 2x20 Pin Male Header (required for WaveShare HAT)
Enable SPI
$ sudo raspi-config
Select Interfacing Options > SPI and set to Yes
- Logitech Media Server running on local network
- An LMS instance can be run on the Raspberry Pi - Home Hack - Creating a Raspberry Pi Squeezebox server
-
squeezelite (optional)
- Squeezelite, in combination with a HiFiBerry, allows the Pi to be usded as LMS display and client player
Note: to make squeezelite play nice with other applications such as raspotify (librespot), add the following line to /etc/default/squeezelite:
SB_EXTRA_ARGS="-C 10"
This will allow squeezelite to close the output device after 10 seconds allowing other audio software to access it.
%alias mdconvert mdconvert README.ipynb
%mdconvert
[NbConvertApp] Converting notebook README.ipynb to markdown