Waveshare 2.9" E-Paper Display
Ultra-low-power e-paper display that holds its image without power.
Wiring & code for
Waveshare 29 EPD practical reference
The Waveshare 2.9" E-Paper Display is a 296×128 pixel, monochrome e-paper panel that retains its last image with zero power draw — only refreshing (which takes ~2-3 seconds and briefly flashes black/white) actually consumes current. This makes it ideal for battery-powered price tags, shelf labels, industrial instruments, and status indicators that update infrequently.
The panel uses microcapsule electrophoretic display technology: charged particles suspended in a clear fluid migrate when an electric field is applied, reflecting ambient light to create a paper-like image. No backlight is required, and the display remains clearly visible under natural or lamplight with a viewing angle of nearly 180°.
It communicates over SPI and is driven on Arduino-family boards through Jean-Marc Zingg's GxEPD2 library, which abstracts away the panel's refresh sequencing. Waveshare provides their own library for Raspberry Pi and other platforms, with full C/C++ and Python examples available.
Versions: The module exists in multiple hardware revisions (V1, V2, V2.1). Newer versions (V2.1+) include an onboard level translator, making them compatible with both 3.3V and 5V MCUs. The V2 version is the most common and is what this entry targets. Check for a "V2" label on the back of the screen to confirm.
Key specifications
- Resolution: 296 × 128 pixels, monochrome (black/white)
- Grayscale: 4 levels
- Operating voltage: 3.3V / 5V (V2.1+ with level translator; V1 is 3.3V only)
- Interface: SPI (3-wire or 4-wire)
- Full refresh time: ~2-3 seconds, visible black/white flash
- Refresh power: 26.4 mW (typical)
- Standby current: < 0.01 µA (image persists with no power)
- Viewing angle: >170°
- Display dimensions: 66.89 × 29.05 mm
- Outline dimensions (driver board): 89.5 × 38 mm
- Dot pitch: 0.227 × 0.226 mm
- Operating temperature: 0 ~ 50 °C
Pinout and connection notes
Critical usage notes:
- Refresh interval: It is recommended to wait at least 180 seconds between refreshes, and refresh at least once every 24 hours to prevent image retention damage.
- Power down: Always put the display into sleep mode or power it off after updating — leaving it powered on keeps the driver in a high-voltage state and will damage the panel.
- FPC cable: The flat flex cable is fragile — do not bend it vertically, do not bend it toward the front of the screen, and avoid repeated excessive bending.
- Physical handling: The glass substrate is delicate — avoid dropping, bumping, or pressing hard on the screen.
- Version compatibility: V1 boards are 3.3V only; V2.1+ boards include a level translator and support both 3.3V and 5V. Check the version label on the back before wiring.
- Border color: The border color can be adjusted via registers 0x3C or 0x50 (refer to the datasheet).
- Image data: If images appear distorted, verify the image width and height settings match the display resolution.
- VCC: Power — 3.3V or 5V depending on board version (V2.1+ supports both)
- GND: Ground
- DIN: SPI data in (MOSI)
- CLK: SPI clock (SCK)
- CS: SPI chip select (active low)
- DC: Data/command select — low for command, high for data
- RST: Reset, active low
- BUSY: Goes high during refresh — poll or interrupt before sending new data
Integration checklist
- Confirm the exact part number and breakout-board revision.
- Verify supply voltage, current demand, logic levels, and signal direction against the datasheet.
- Check controller pin assignments and bus address or interface mode against the example code.
- Power up with external loads disconnected, then test signals before full integration.
- If readings or communication fail, check power and ground first, then pin mapping, interface settings, and library initialization.
Troubleshooting and reproducibility
Record the board used, wiring, library/version, supply arrangement, and measured behavior. Use the selected board-specific wiring example as the source of truth. Never assume visually similar modules share identical voltage tolerance or pin order.
Board Integration
Related