e-Paper Essentials
Inkplate 7SPECTRA's screen is a 7.3-inch E Ink Spectra 6 panel: 800 × 480 pixels, each one of six colors. This page explains how your drawing gets from code to the panel.
How does this e-paper display work?
You never draw on the panel directly. The library keeps a frame buffer, a copy of the whole screen in the board's PSRAM, with one 4-bit color index per pixel. Drawing functions such as print() or fillRect() only change that buffer. When you call display(), the library powers the panel, sends it the whole buffer over SPI, refreshes it, and, unless you ask it to leave the panel on, powers it down again.
The panel is mounted rotated by 180 degrees on the board. The libraries' default rotation (0) makes up for that, so (0, 0) is the top-left corner as you look at the screen.
Display modes
There is one mode: six colors. Each pixel takes one of these color indexes.
| Index | Arduino | MicroPython | Color |
|---|---|---|---|
| 0 | INKPLATE_BLACK | Inkplate.BLACK | Black |
| 1 | INKPLATE_WHITE | Inkplate.WHITE | White |
| 2 | INKPLATE_YELLOW | Inkplate.YELLOW | Yellow |
| 3 | INKPLATE_RED | Inkplate.RED | Red |
| 4 | INKPLATE_BLUE | Inkplate.BLUE | Blue |
| 5 | INKPLATE_GREEN | Inkplate.GREEN | Green |
The drawing functions ignore a color value above 5. MicroPython text is the exception: a text color above 5 is drawn in green (index 5). Photos are dithered to these six colors: the image functions take a dither option that mixes them to approximate the colors in between.
Full and partial updates
The panel takes full-screen updates only; there is no partial update on this board. Every display() call refreshes the whole screen. To change part of it, redraw that part in the frame buffer and call display() again, as the RTC example does.