← /research

Waveshare 7.5" E-Paper HAT V2

Processing · Reading Notes Created Jan 4, 2025

Source

7.5inch e-Paper HAT Manual — Waveshare (Article)
View source →
Project: eink-training-display
hardwaree-inkraspberry-pi

Technical reference for the display used in the eink training display spec.

Specifications

SpecValue
Resolution800 × 480 px
ColorsBlack/White + 4 grayscale levels
Dot Pitch0.205 × 0.204 mm
InterfaceSPI (mode 0: CPHL=0, CPOL=0)
Voltage3.3V or 5V

Refresh Performance

ModeTimeUse Case
Full refresh4sClear ghosting, daily reset
Partial refresh0.4sQuick updates
Fast refresh1.5sBalance speed/quality
Grayscale2.1sImages with shading

Power

  • Refresh: 26.4mW typical
  • Standby: <0.01µA (effectively zero)

The display draws almost nothing when not refreshing — the image persists with no power.

Critical Constraints

Partial refresh accumulates artifacts. After several partial refreshes, you must do a full refresh to clear ghosting. The mendhak dashboard does a full refresh at 2 AM daily.

Don’t leave powered on. When not refreshing, put the display in sleep mode. Continuous power without refresh can damage the display.

Minimum refresh interval: 180 seconds recommended. At least one full refresh per 24 hours.

Python Setup

# Dependencies
sudo apt install python3-pip python3-pil python3-numpy
sudo pip3 install RPi.GPIO spidev

# Clone driver
git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/RaspberryPi_JetsonNano/python/examples
python3 epd_7in5_V2_test.py

Display Driver Pattern

from waveshare_epd import epd7in5_V2
from PIL import Image, ImageDraw

epd = epd7in5_V2.EPD()
epd.init()

# Create image
image = Image.new('1', (800, 480), 255)  # White background
draw = ImageDraw.Draw(image)
draw.text((10, 10), "Hello", fill=0)

# Display
epd.display(epd.getbuffer(image))

# Always sleep when done
epd.sleep()

Gotchas

  • If you ran C demos with BCM2835, reboot before Python demos
  • V2.1+ driver boards have level shifters for 3.3V/5V compatibility
  • SPI must be enabled via raspi-config