Zbotic Logo Zbotic Logo
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

  • Shop
  • About Us
  • Contact Us
  • Reseller
  • Blogs
020 69134444
1800 209 0998
[email protected]
Help Desk
Facebook Twitter Instagram Linkedin YouTube
Zbotic Logo Zbotic Logo
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

All departments
  • 3D Print Service
  • 3D Printer
  • Batteries & Chargers
  • Development Boards
  • Drone Parts
  • EBike parts
  • Sensor Modules
  • Electronic Components
  • Electronic Modules
  • IoT and Wireless
  • Mechanical Parts and Workbench Tools
  • Motors & Drivers & Pumps & Actuators
  • DIY and Robot Kits
  • Show more
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
Return to previous page
Home Display Modules & Screens

E-Paper Partial Refresh: Faster Updates for Dynamic Content

E-Paper Partial Refresh: Faster Updates for Dynamic Content

March 11, 2026 /Posted byJayesh Jain / 0

E-paper displays are beloved by makers for their ultra-low power consumption and sunlight-readable contrast — but their notorious slow full refresh (1–3 seconds with a black flash) makes them seem unsuitable for e-paper partial refresh dynamic content applications. The good news is that modern e-paper controllers like the SSD1680, UC8151, and GDEH0154D67 support partial refresh mode, which updates only a specified region of the screen in as little as 200–500 ms with no visible flicker. This guide explains exactly how partial refresh works and how to implement it in your Arduino or ESP32 project.

Table of Contents

  1. How E-Paper Displays Work
  2. Full Refresh vs Partial Refresh
  3. Which E-Paper Displays Support Partial Refresh?
  4. Implementing Partial Refresh with GxEPD2
  5. Dynamic Content Strategies
  6. Power and Battery Considerations
  7. Project Ideas Using Partial Refresh
  8. Frequently Asked Questions

How E-Paper Displays Work

E-paper (also called e-ink) displays use a fundamentally different physical mechanism from LCD and OLED panels. Each pixel contains millions of tiny microcapsules filled with a clear fluid containing white titanium dioxide particles (positively charged) and black carbon particles (negatively charged). An electric field applied to each pixel pushes one set of particles to the front (visible) face and the other to the back, creating black or white pixels.

This bistable nature is what makes e-paper special: once a pixel is set, it holds its state with zero power consumption. You only consume power when changing pixels. A Kindle can display a book page for weeks on a single charge because reading doesn’t require refreshing the screen.

However, this same electrokinetic mechanism is also why e-paper is slow. Moving charged particles through viscous fluid takes time, and a complete reset requires driving particles back to a neutral state before setting them to the new pattern — this causes the characteristic black flicker during a full refresh.

Full Refresh vs Partial Refresh

Understanding the difference between the two refresh modes is essential for building effective e-paper projects.

Full Refresh

Full refresh drives every pixel through a complete cycle: clear to white, flash to black, then set to the final pattern. This ensures perfect image quality with maximum contrast and no ghosting. The process typically takes 1–3 seconds and produces a visible black flash. Full refresh is required periodically to prevent image retention (ghosting) that accumulates from repeated partial refreshes.

Partial Refresh

Partial refresh updates only the pixels within a specified rectangular region, skipping the full clear-and-set cycle. Instead of driving particles from white-to-black-to-final, partial refresh applies a shorter waveform that moves particles directly between states without the intermediate reset. This enables:

  • Update times of 200–600ms (vs 1,500–3,000ms for full)
  • No full-screen black flash — only the updated region flickers briefly
  • Updates to specific zones while keeping the rest of the image unchanged

The trade-off: Repeated partial refreshes cause ghosting — a faint shadow of previous content visible beneath new content. Most manufacturers recommend performing a full refresh every 5–10 partial refreshes to clear accumulated ghosting.

Which E-Paper Displays Support Partial Refresh?

Not all e-paper displays support partial refresh. Here is a guide to common modules available in India:

Displays with Good Partial Refresh Support

  • Waveshare 2.9″ (SSD1680/IL3820): One of the most popular e-paper modules for Arduino. Supports partial refresh on the full display area. Update time: ~250ms partial, ~2s full.
  • Waveshare 1.54″ (SSD1681): 200×200 pixels, fast partial refresh. Good for name badges and small status displays.
  • GDEH0154D67 (Good Display 1.54″): Well-documented partial refresh waveform, widely used in maker community.
  • Waveshare 4.2″ (SSD1619): Larger display with partial refresh support. Ideal for smart home panels.

Displays with Limited or No Partial Refresh

  • Multi-colour e-paper (3-colour: black/white/red or yellow): The colour pigment panels (with red or yellow particles) generally do NOT support partial refresh due to the complexity of driving three particle types simultaneously. Always do full refresh for these.
  • Very cheap no-brand modules: May not have published waveform tables. Test before committing to a build.

Implementing Partial Refresh with GxEPD2

The GxEPD2 library by ZinggJM is the gold standard for e-paper displays on Arduino and ESP32. It correctly handles partial refresh for all supported displays and includes a display-class hierarchy that abstracts the hardware details.

Installation

Install GxEPD2 and Adafruit GFX from the Arduino Library Manager. Search “GxEPD2” and install the library by ZinggJM. It supports over 50 e-paper display models.

Basic Partial Refresh Example

#include <GxEPD2_BW.h>
#include <Fonts/FreeMonoBold12pt7b.h>

// For Waveshare 2.9" 296x128
GxEPD2_BW<GxEPD2_290_T94_V2, GxEPD2_290_T94_V2::HEIGHT> display(
  GxEPD2_290_T94_V2(/*CS*/ 5, /*DC*/ 17, /*RST*/ 16, /*BUSY*/ 4));

void setup() {
  display.init(115200);
  display.setRotation(1);
  // Draw static content with full refresh
  display.firstPage();
  do {
    display.fillScreen(GxEPD_WHITE);
    display.setFont(&FreeMonoBold12pt7b);
    display.setTextColor(GxEPD_BLACK);
    display.setCursor(5, 30);
    display.print("Temp: ");
    display.setCursor(5, 60);
    display.print("25.4 C");
  } while (display.nextPage());
}

void updateTemperature(float temp) {
  // Only update the temperature value area
  display.setPartialWindow(0, 40, 200, 30);
  display.firstPage();
  do {
    display.fillScreen(GxEPD_WHITE);
    display.setFont(&FreeMonoBold12pt7b);
    display.setTextColor(GxEPD_BLACK);
    display.setCursor(5, 60);
    display.print(temp, 1);
    display.print(" C");
  } while (display.nextPage());
}

The key call is display.setPartialWindow(x, y, width, height). Only the pixels within this rectangle will be updated. The rest of the display image remains as-is — no redrawing required.

Managing the Full Refresh Cycle

int partialCount = 0;

void loop() {
  float temp = readSensor();
  
  if (partialCount >= 10) {
    // Full refresh to clear ghosting
    displayFullScreen(temp);
    partialCount = 0;
  } else {
    updateTemperature(temp);
    partialCount++;
  }
  
  esp_deep_sleep(60 * 1000000ULL); // Sleep 60 seconds
}
DHT11 Digital Relative Humidity and Temperature Sensor Module

DHT11 Digital Relative Humidity and Temperature Sensor Module

Read temperature and humidity to display on your e-paper screen. The DHT11’s low-power operation makes it an ideal companion for battery-powered e-paper projects.

View on Zbotic

Dynamic Content Strategies

To make the most of partial refresh for dynamic content, plan your screen layout carefully:

Zone-Based Layout

Divide your e-paper display into static and dynamic zones. For a weather station:

  • Static zone (top 30%): City name, labels like “Temp:”, “Humidity:”, icons — refreshed with full update only on boot or daily reset.
  • Dynamic zone (bottom 70%): Actual values — refreshed with partial update on each reading cycle.

Never include static text in a partial update region unless you clear and redraw it each time. Any partial update that doesn’t redraw an element will erase it from the partial window area.

Clock Display

For a clock on e-paper, update only the seconds region every second (or skip seconds entirely and update minutes only). Update the hours region separately. This minimises power consumption compared to a full-screen refresh every second.

Temperature Updates

For a battery-powered temperature logger, wake from deep sleep every 60 seconds, read the sensor, update only the temperature value partial window, then return to deep sleep. With good power management, this can achieve months of battery life on a 18650 cell.

DHT20 SIP Packaged Temperature and Humidity Sensor

DHT20 SIP Packaged Temperature and Humidity Sensor

The DHT20 uses I2C with minimal power draw, making it ideal for battery-powered e-paper display projects where every milliamp matters.

View on Zbotic

Power and Battery Considerations

E-paper’s biggest selling point for Indian outdoor projects (solar-powered weather stations, garden monitors, remote signage) is its extremely low power profile. Here’s what to expect:

  • Display idle (image held): 0 mW — truly zero power when not refreshing
  • Full refresh (2.9″ Waveshare): ~26 mA for ~2 seconds = ~14 mAh per 1,000 full refreshes
  • Partial refresh: ~30 mA for ~250ms = ~2 mAh per 1,000 partial refreshes
  • ESP32 deep sleep: ~10–20 µA

For a sensor that wakes every 5 minutes and does a partial refresh, the ESP32 active time (~30mA × 3 seconds) dominates power consumption — not the display refresh. Use light sleep instead of deep sleep if you need faster response, or optimise the sensor reading and SPI transfer to complete in under 500ms.

A 3,000 mAh 18650 battery with the above power profile can last approximately 6–12 months in a real-world outdoor installation — a figure that LCD or OLED displays simply cannot match.

Project Ideas Using Partial Refresh

  • E-paper desk clock: Partial update for seconds/minutes, full refresh once per hour. Mount in a 3D-printed wooden-look frame for a minimal desk aesthetic.
  • Smart home energy monitor: Show current power consumption (from ACS712 current sensor) in the centre zone, updated every 30 seconds. Static labels around it refreshed only when layout changes.
  • Garden humidity sensor display: Solar-powered ESP32 with capacitive soil moisture sensor. Wake every 30 minutes, read moisture, partial-update the display, send data to cloud, sleep. Lasts an entire season on a small solar panel.
  • Queue number display: For small Indian shops or clinics, a battery-powered e-paper display showing the current token number. Partial refresh makes number changes look snappy without the distraction of a full-screen flash.
  • Price tag display: A 2.9″ e-paper module with partial refresh can update prices instantly while the product name/barcode zones remain static — no need for full refresh on every price change.
GY-BME280-3.3 Precision Altimeter Atmospheric Pressure Sensor Module

GY-BME280-3.3 Precision Altimeter Atmospheric Pressure Sensor Module

Combine temperature, humidity, and pressure readings on your e-paper display. The BME280’s low standby current pairs perfectly with the e-paper zero-idle-power advantage.

View on Zbotic

Frequently Asked Questions

How often should I do a full refresh to prevent ghosting?

Most manufacturers recommend a full refresh every 5–10 partial refreshes, or at least once per hour for continuously updating displays. GxEPD2 has a built-in counter you can use to trigger automatic full refreshes at your chosen interval.

Does partial refresh work with all e-paper displays?

No. Only displays with a partial-refresh-capable controller and a published partial-refresh waveform support this feature. Multi-colour displays (black/white/red) generally do not support partial refresh. Always check the datasheet or GxEPD2’s supported display list before purchasing.

Why is my partial refresh leaving ghost images?

This is normal behaviour when partial refreshes accumulate. Perform a full refresh to clear ghost images. If ghosting appears after just 1–2 partial refreshes, your partial refresh waveform may be too short. Some displays need temperature-compensated waveforms — GxEPD2 handles this automatically on supported panels.

Can I use partial refresh to animate content on e-paper?

Simple animations at 2–5 FPS are possible with very fast e-paper panels and partial refresh. Waveshare’s 2.9″ T94 V2 achieves ~4 FPS partial updates. This is enough for simple progress bars, scrolling text, or a smooth clock animation — not video, but usable for UI transitions.

Is e-paper good for Indian outdoor projects?

Absolutely. E-paper is one of the best choices for outdoor Indian use: it is sunlight-readable (reflective, not emissive), requires no backlight power, and works at temperatures from -20°C to +70°C (wide enough for most Indian climates). Pair with proper IP-rated enclosures and a small solar panel for truly maintenance-free outdoor installations.

Start your e-paper project today! Pair an e-paper display with sensors from Zbotic.in — DHT20, BME280, or BMP280 — for battery-powered weather stations, garden monitors, and smart displays that last months on a single charge.

Shop Display Modules on Zbotic

Tags: E-Ink, e-paper display, ESP32, low power, Partial Refresh
Share Post
  • Facebook
  • Linkedin
  • Whatsapp
ESP32 TFT Calendar & Task ...
blog esp32 tft calendar task display productivity dashboard diy 597464
blog lipo battery puffing causes danger signs safe disposal 597466
LiPo Battery Puffing: Causes, ...

Related posts

Svg%3E
Read more

Multi-Display Sync: Run Same Content on Multiple Screens

April 1, 2026 0
Table of Contents When You Need Multiple Synchronised Displays Communication Protocols for Display Sync I2C Multi-Display Architecture SPI Daisy-Chain Approach... Continue reading
Svg%3E
Read more

Display Brightness Control: Ambient Light Auto-Adjust

April 1, 2026 0
Table of Contents Why Auto-Brightness Matters Light Sensors: LDR, BH1750, TSL2561 PWM Brightness Control Basics Implementing Auto-Brightness for OLED Auto-Brightness... Continue reading
Svg%3E
Read more

LCD Menu System: Multi-Level Navigation with Encoder

April 1, 2026 0
Table of Contents Why Build a Menu System Hardware: LCD + Rotary Encoder Menu Architecture Design Implementing the Menu Engine... Continue reading
Svg%3E
Read more

LED Running Text: Single Line Scrolling Marquee

April 1, 2026 0
Table of Contents Applications for Scrolling Marquee Displays Hardware Options: Dot Matrix vs LED Panel Building with MAX7219 Cascaded Modules... Continue reading
Svg%3E
Read more

Prayer Time Display: Mosque and Temple Timer India

April 1, 2026 0
Table of Contents The Need for Automated Prayer Time Displays Calculating Prayer Times Programmatically Display Options for Places of Worship... Continue reading

Add comment Cancel reply

Your email address will not be published. Required fields are marked

Facebook Twitter Instagram Pinterest Linkedin Youtube

Get the latest deals and more.

Download on Google Play Download on the App Store

Call us: 020 69134444 / 1800 209 0998

Monday - Saturday 09:30 AM - 06:00 PM
For Technical Supports Email: [email protected]
For Sales / Enquiries Email: [email protected]

  • My Account

    • Cart

    • Wishlist

    • Checkout

    • My Orders

    • Track Order

    • My Account

  • Information

    • FAQs

    • Blogs

    • Career

    • About Us

    • Contact Us

    • Payment Options

  • Policies

    • Privacy Policy

    • Terms & Conditions

    • GST Input Tax Credit

    • Shipping Return Policy

    • E-Waste Collection Points

    • Our Sitemap

© Zbotic.in is registered trademark of Moxie Supply Pvt Ltd – All Rights Reserved
Login
Use Phone Number
Use Email Address
Not a member yet? Register Now
Reset Password
Use Phone Number
Use Email Address
Register
Already a member? Login Now