D

DIY Electronics

— Building circuits, programming microcontrollers, and making things blink
49 members Created Jun 2026

ADS1115 ADC for high-resolution sensor readings on Arduino

E-Ink Display Refresh Strategies

E-ink displays are polarizing: low power when static, slow to update. Here's how to work within the constraints.

Full refresh (GC16 waveform on Waveshare/Good Display panels) takes 2-4 seconds and flashes black. For a weather display that updates every 15 minutes, this is fine. Partial refresh (DU waveform) takes 0.3-0.8 seconds and doesn't flash, but it accumulates ghosting artifacts over time — you need to do a full refresh every 10-20 partial refreshes to clear ghosting.

The correct pattern for an ESP32 e-ink display: maintain a shadow buffer of the current display contents. On each update, compute which regions changed. If a small region changed, use partial refresh. After 20 partial refreshes, force a full refresh. This gives a snappy user experience while keeping refresh counts manageable. Temperature affects refresh waveforms significantly — panels below 0°C need warm-up heating or extended waveform timing.

1

Report thread

Why are you reporting this thread?

Restore the redacted content?

This will make it visible to everyone again. The clear action is logged in the mod log.