E-paper 2.9-inch

A 2.9-inch, 296x128 black-and-white E-Ink module that holds its image with zero power and updates over SPI.

E-paper 2.9-inch: Low-power reflective display

What is the E-paper 2.9-inch?

The Waveshare 2.9-inch e-Paper (V2) is a reflective electrophoretic display module built around a 296x128 monochrome E-Ink panel driven by the SSD1680 controller over SPI. Like paper, it is bistable and reflective: it needs no backlight, stays readable in direct sunlight from nearly any angle, and retains the last image indefinitely after power is removed.

The panel shows two levels only, pure black and white (1-bit), across an active area of about 66.89 x 29.05 mm with a pixel pitch near 0.227 mm. It runs from 3.3V or 5V and is written to over a one-directional 4-wire SPI bus (DIN/CLK/CS) plus a data/command line (DC), an active-low reset (RST), and a BUSY status output. A full refresh takes roughly 2 seconds and flashes the whole screen black and white to clear the image, while partial refresh updates a region in about 0.3 seconds without the flash.

Its strength is ultra-low power: the display draws current only while refreshing and effectively nothing while showing a static image, which makes it well suited to battery and IoT dashboards, shelf labels, and status panels. The tradeoff is speed. The slow refresh and lack of grey shades or backlight make it a poor fit for animation, video, or anything that changes many times per second.

E-paper 2.9-inch pinout

PinFunctionType
VCC VCC (3.3-5V)PowerPower in
GND GNDPowerPower in
DIN DIN (MOSI)SPI MOSIDigital input
CLK CLK (SCK)SPI SCKDigital input
CS CSSPI CS, active lowDigital input
DC DCSPI data/command select — high data, low commandDigital input
RST RSTDigital active-low resetDigital input
BUSY BUSYDigital busy status — HIGH while the SSD1680 refreshesDigital output

Specifications

Operating voltage
3.3 V (max 5.5 V)
Interface
SPI
Dimensions
89.5 × 8.5 × 38 mm

Verified from the Tinkered component library · Waveshare.

Circuit requirements

  • Powered from VCC at 3.3V to 5V and GND; the E-Ink panel and SSD1680 controller are natively 3.3V logic, so confirm your board's logic level before driving the data lines directly.
  • Interface is write-only 4-wire SPI: DIN is MOSI and CLK is SCK; there is no MISO, so the host never reads pixel data back from the panel.
  • CS is active-low chip select; DC selects command (low) versus data (high); RST is an active-low hardware reset that must be pulsed during the power-on init sequence.
  • BUSY is an output that goes HIGH while the SSD1680 is refreshing. The host must wait for BUSY to return LOW before sending the next command, or the update will be corrupted.
  • The image is non-volatile and there is no backlight: content persists with the module unpowered, and readability depends on ambient light.
  • Plan for the refresh timing in firmware: full refresh is about 2 seconds with a full-screen flash, partial refresh about 0.3 seconds without one.
  • Put the panel into deep sleep between updates and avoid refreshing it continuously; leaving it powered in a refresh state or hammering it with back-to-back updates shortens its life.

Board compatibility

The E-paper 2.9-inch connects to any of the microcontrollers supported in Tinkered. Mind the 3.3 V logic level on 3.3 V boards.

Common E-paper 2.9-inch mistakes

Not waiting on the BUSY pin

Sending the next SPI command while BUSY is still HIGH interrupts an in-progress refresh and garbles the screen. On the SSD1680, BUSY HIGH means busy, which is the opposite polarity of some older e-paper controllers, so double-check the sense in your driver.

Only ever using partial refresh

Partial refresh is fast but leaves faint residual images (ghosting) that build up over time. You must run a periodic full refresh to flush the panel and restore clean contrast.

Refreshing constantly or leaving it powered

E-paper is meant for occasional updates. Continuously refreshing or holding the panel in an active state instead of putting it to sleep between updates can permanently damage the display.

Expecting fast or animated output

With a roughly 2-second full refresh and 0.3-second partial refresh, the display cannot do smooth motion or video. It is built for static screens that change occasionally.

Using the wrong driver version or LUT

This V2 module uses the SSD1680 controller, not the older V1 driver. Loading a V1 library, the wrong init sequence, or a mismatched waveform LUT results in a blank, faint, or garbage image.

E-paper 2.9-inch datasheet

Official E-paper 2.9-inch datasheetWaveshare

Popular E-paper 2.9-inch projects

Low-power weather and sensor dashboard

Pair with an ESP32 or Raspberry Pi to show temperature, humidity, and forecast data, updating every few minutes and sleeping in between for long battery life.

E-ink name badge or conference tag

Display a name, QR code, or logo that stays on screen with no power draw, so a small coin cell lasts for the whole event.

Calendar and to-do info panel

A wall-mounted ESP32 panel that pulls your agenda or task list and repaints once or twice a day.

Electronic shelf or inventory label

Show prices or part numbers on a reflective screen that holds the last image indefinitely and only wakes to update.

Battery-powered IoT status screen

Report device state, network status, or sensor readings from a deep-sleeping microcontroller node that only powers the display during an update.

Build with the E-paper 2.9-inch.

Drop the E-paper 2.9-inch into a circuit, write firmware, and simulate it in your browser, then deploy to real hardware. All in one editable Tinkered project.