This project implements an e-paper IP display application.
- Raspberry Pi (Zero or any model with 40-pin GPIO)
- Waveshare 2.13" Touch e-Paper HAT Version 4
- Required interfaces: SPI and I²C enabled
- Raspberry Pi OS (Debian Bookworm or compatible)
- Python 3.9+
- System dependencies:
python3-venv,fonts-liberation
- Power off the Raspberry Pi
- Align the e-Paper HAT with the 40-pin GPIO header
- Ensure proper pin 1 orientation
- Reconnect power
sudo raspi-config
# Navigate to: Interfacing Options → SPI → Enable
# Navigate to: Interfacing Options → I²C → Enable
sudo rebootOption A — curl (recommended)
curl -fsSL https://github.com/William12556/e-Paper-IP-Display/releases/latest/download/install.sh -o install.sh
chmod +x install.sh && ./install.shOr with wget:
wget -qO install.sh https://github.com/William12556/e-Paper-IP-Display/releases/latest/download/install.sh
chmod +x install.sh && ./install.shOption B — pipe to bash (no prior inspection)
curl -fsSL https://github.com/William12556/e-Paper-IP-Display/releases/latest/download/install.sh | bashThe install script handles all dependencies, creates a virtual environment at /opt/epaper-ip/venv/, and registers the systemd service. The service starts automatically and persists across reboots.
For development deployment or full installation options see the Installation Guide.
Check service status:
sudo systemctl status epaper-ip-display
sudo journalctl -u epaper-ip-display -f- Display clears on boot
- Shows hostname, plus the IPv4 address of the
usb0andwlan0interfaces (or "no IP" per interface when unavailable) - Detects
pi-netconfigaccess point mode (wlan0 address192.168.50.1) and adds an "AP mode active" line when detected - Polls network status every 15 seconds
- Updates display only when an interface address or AP mode status changes
- Runs as systemd service with root privileges (required for GPIO access)
Download the Version 4 driver and examples:
- Waveshare e-Paper GitHub Repository
- Navigate to:
RaspberryPi_JetsonNano/python/ - Driver file:
epd2in13_V4.py
Official product page:
Display does not refresh:
- Verify SPI enabled:
ls -l /dev/spidev* - Confirm Version 4 driver in use
Service fails to start:
- Check service logs:
journalctl -u epaper-ip-display -n 50 - Verify hardware access:
ls -l /dev/spidev* /dev/gpiomem
Touch not functional:
- Verify I²C enabled
- Detect controller:
sudo i2cdetect -y 1
Detailed guides available in docs/:
e-Paper IP Display Installation Guide.md- Full installation, update, uninstall, and troubleshooting proceduresWaveshare 2.13" Touch e-Paper HAT (Version 4).md- Hardware configuration
src/- Python package sourcedocs/- Technical documentationtests/- Test scriptsdist/- Built wheel (generated)ai/- Governance and operational rulesworkspace/- Development workspacedeprecated/- Superseded files
Actual fitness for purpose is not guaranteed.
MIT License
Copyright (c) 2025 William Watson