Main Content

4.2in E-Paper Spotify Weather Clock

This project uses Python3 to display two users’ recent Spotify history, weather for two cities (local and away), and the current time

Written for Waveshare’s 4.2 e-paper display, this project connects with Spotify’s API to display the most recent listening information, including the title, artist, context, and time since the track was played. There is a left and right panel so that two folk’s listening can be displayed at the same time. The forcast and current weather are also displayed via the OpenWeatherMap api. The e-paper display updates in full every 3 minutes per Waveshare’s recommendations. After 8pm, the display updates every 5 minutes, and does not update from 2am - 6am. Before you ask, I am using the Nintendo DS BIOS font for this project because it looks beautiful. Email me, atscott@ucsc.edu, if you have any questions regarding the implementation, suggestions to improve the project, or if you built one yourself!

Waveshare provides a set of instructions under the Hardware/Software setup tab to install the libraries required to drive the display. I’m using a Raspberry Pi Zero W running this bash script in rc.local to run mainSpotifyClock.py. Three custom Python modules were used, Spotipy, Requests, and Pillow aka PIL, all of which can be installed using Pip. Openweathermap gets the current weather and forcast, and the Spotipy wrapper interfaces with Spotify’s API

Link to article