Partial Updates
Instead of inkplate.display(), you can use inkplate.partialUpdate() for a faster display refresh. It only redraws the pixels that changed in the frame buffer, so the whole screen doesn't flicker.
Partial update
Partial updates in black-and-white (1-bit) mode are the fastest e-Paper update available on Inkplate.
⚠️
Do a full update after a certain number of partial updates to keep the image quality and the lifespan of the e-Paper display. The library performs a full refresh every 10 partial updates by default, and 5 to 10 is the recommended range. Use
inkplate.setFullUpdateThreshold() to change it.⚠️
Partial update works only in black-and-white (
INKPLATE_1BIT) mode. Calling partialUpdate() while the display is in grayscale (INKPLATE_3BIT) mode does nothing: the function returns immediately without touching the panel.#include "Inkplate.h"
Inkplate inkplate(INKPLATE_1BIT);
void setup(){
inkplate.begin();
inkplate.clearDisplay();
inkplate.display(); // Do one full refresh first, so the panel starts from a known state
inkplate.setTextSize(3);
inkplate.setTextColor(BLACK);
inkplate.setTextWrap(false); // Keep the text on one line while it scrolls
inkplate.setFullUpdateThreshold(10);
}
void loop(){
int x = -300; // Start from the left of the screen border
while (x < 1280)
{
inkplate.clearDisplay();
inkplate.setCursor(x, 300); // Set cursor position
inkplate.print("Partial updates!"); // Print scrolling text
inkplate.partialUpdate(false, true); // Partial update, leave the panel powered for the next one
x += 15; // Move 15 pixels to the right
}
inkplate.display(); // Perform a full update
delay(1000); // Pause before next update
}
inkplate.partialUpdate()
Performs a partial (fast) update on Inkplate. Only the changed pixels are refreshed, which avoids full-screen flicker.
Returns type: uint32_t
Function parameters:
| Type | Name | Description |
|---|---|---|
bool | _forced | Optional. Forces a partial update even when the library has flagged that a full refresh is due. Intended for advanced use, mainly deep sleep workflows. |
bool | leaveOn | Optional. If set to true, the e-Paper power supply remains on after the update. This speeds up consecutive partial updates but requires a full refresh afterward to prevent prolonged power draw. |
inkplate.setFullUpdateThreshold()
Sets the number of partial updates after which a full update is automatically performed.
Returns type: void
Function parameters:
| Type | Name | Description |
|---|---|---|
uint16_t | _numberOfPartialUpdates | The number of partial updates before a full update (inkplate.display()) is triggered automatically. |
Full examples
Inkplate5V2_Partial_Update.ino
Example demonstrating the use of partialUpdate for fast display refreshes on Inkplate 5V2.