Skip to content
E-Ink / E-Paper

GDEW0154 1.54" E-Ink Display

Compact e-ink panel for badges and low-power info displays.

The GDEW0154 is a 200×200 pixel, 1.54-inch e-paper panel that holds its last image with zero power draw — only refreshing (which takes ~1-2 seconds and briefly flashes black/white) actually uses current. That makes it a natural fit for battery-powered badges, price tags, and status signs that update rarely.

It's a partial-refresh-capable panel over SPI, driven almost universally through Jean-Marc Zingg's GxEPD2 library on Arduino-family boards, which abstracts away the panel's row/column update sequencing.

Specifications

Resolution200 × 200 pixels, monochrome (black/white)
Operating voltage3.3V
InterfaceSPI
Full refresh time~1-2 seconds, visible black/white flash
Power draw when static~0 (image persists with no power)

Pinout

PinNameDescription
1VCCPower, 3.3V
2GNDGround
3DINSPI data in (MOSI)
4CLKSPI clock (SCK)
5CSSPI chip select
6DCData/command select
7RSTReset, active low
8BUSYGoes high during a refresh - poll or interrupt on this before sending new data

This panel is 3.3V logic only - do not feed it 5V on VCC even on 5V boards like the Uno, or you risk damaging the panel. BUSY must be checked (the library handles this for you) before starting a new update; writing mid-refresh corrupts the image.

Variants

Pick by size and aspect ratio for your enclosure - both use the same GxEPD2 driver pattern, so code ports over with just a display-class change.

VariantTemp rangeHum rangeAccuracyProtocolPrice
GDEW0154 (1.54")~$8-12
Waveshare 29 EPD (2.9")~$12-18

Board Integration

Library

GxEPD2by Jean-Marc Zingg

Arduino IDE → Library Manager → search "GxEPD2" → Install

Wiring

Component pinBoard pinNote
VCC3.3V3.3V logic only - do not use 5V
GNDGND
DIND11 (MOSI)
CLKD13 (SCK)
CSD10
DCD9
RSTD8
BUSYD7

Code

C++

Notes

  • firstPage()/nextPage() is a paged full-buffer render loop required on RAM-constrained boards like the Uno - always draw inside that do/while, never once outside it.
  • Call display.hibernate() after each update; the panel keeps the image with the driver powered down, which is the whole point of e-ink.