Skip to content

Instantly share code, notes, and snippets.

@frazei
Last active May 28, 2025 15:24
Show Gist options
  • Save frazei/b51654618acdea75e7b6cd62d8543697 to your computer and use it in GitHub Desktop.
Save frazei/b51654618acdea75e7b6cd62d8543697 to your computer and use it in GitHub Desktop.
InkyPi Waveshare display

InkyPi on Waveshare display

Reference

7.5inch e-Paper HAT Manual

Support for Waveshare displays in InkyPi

Manual Steps

  1. Install Inkypi, following repo instructions
  2. Execute sudo /usr/local/inkypi/venv_inkypi/bin/python -m pip install gpiozero lgpio RPi.GPIO to install dependencies needed by waveshare
  3. Go to /boot/firmware/config.txt and comment line dtoverlay=spi0-0cs or change it to dtoverlay=spi0-2cs. Executing the command ls /dev/spi* should return two things
  4. At this point waveshare demo should work
  5. Clone waveshare repo git clone https://github.com/waveshareteam/e-Paper.git
  6. Copy folder waveshare_epd from waveshare repo into src/ folder of inkypi repo
  7. In display_manager.py add your import, according to your screen model:
from waveshare_epd import epd7in3e
  1. In display_manager.py replace the following:
self.inky_display = auto()
self.inky_display.set_border(self.inky_display.BLACK)

with you display driver name

self.epd = epd7in3e.EPD()
self.epd.init()

and all instances of

self.inky_display.show()

with

self.epd.display(self.epd.getbuffer(image))

the line

device_config.update_value("resolution",[int(self.inky_display.width), int(self.inky_display.height)], write=True)

replace with

device_config.update_value("resolution",[int(self.epd.width), int(self.epd.height)], write=True)

Automatic install

$ git clone https://github.com/acscpt/InkyPi-WS.git
$ git checkout develop
$ cd InkyPi-WS
$ sudo bash install/install.sh [-W <waveshare device model>]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment