ePaper Clock with two user's Spotify info and the weather using Waveshare's 4.2inch EPD
Last updated Jun 19, 2026
70
Stars
7
Forks
1
Issues
0
Stars/day
Attention Score
28
Topics
Language breakdown
No language data available.
โธ Files
click to expand
README
ePaper Clock: Spotify and Weather
TLDR: Desktop clock designed primarily to help read/see Spotify listening info
๐ฐ๏ธ Quick Project Overview
Python + Bash with a Raspberry Pi and Waveshare's 4.2in ePaper display and ePaper library, using Spotipy for track info, OpenWeathermap for weather info, and Pillow to generate/display image.๐ฝ Technical Overview
- main.py only engages with ePaper functionality after determining the availability of Waveshare's epd library.
python3 main.py --clock # push image to ePaper or save local .png every ~3 minutes most of the day
python3 main.py --local # generate local testoutput/clockoutput.png
python3 main.py -v # enable STDOUT logging
- launch_epaper.sh is designed to run main.py indefinitely.
./launch_epaper.sh --clock # push image to ePaper or save local .png every ~3 minutes most of the day
./launch_epaper.sh --local # generate local .png every 60 seconds
./launch_epaper.sh -v # enable STDOUT logging
- auth_update.py is also designed to run indefinitely and periodically updates the local branch to the origin every 15 minutes and can be added as a cron job.
โ Install Guide
- We presume you have a headless Raspberry Pi (I use a Zero W 2) with Waveshare's 4.2inch ePaper display attached via GPIO.
- Waveshare provides a set of instructions in the 'Hardware/Software' setup tab under the setup tab to install the libraries required to drive the display, follow that guide, enable SPI interface in raspi-config, and install the software below as su.
sudo apt-get install git python3-pip python3-pil python3-numpy imagemagick
sudo pip3 install RPi.GPIO spidev spotipy requests
- Clone Waveshare Examples and Python Libraries, install setup.py and test epd4in2test.py
-bash
sudo git clone https://github.com/waveshare/e-Paper
cd e-Paper/RaspberryPi\&JetsonNano/python
sudo python3 setup.py install
cd examples
sudo python3 epd4in2test.py
- Clone this repository, and alter config/keys.json to include one or two Spotify User's id and secret generated from Spotify's Create App page and a free OpenWeatherMap token
- Run main.py and pass in returned google url into terminal to sync Spotify key to project.
- Modify e-Paper/launch_epaper.sh to point to the correct main.py path.
- call ./launch_epaper.sh on reboot via cron or rc.local
๐ More in this category