Here is where the differences in the tri-color/monochrome and chipset/dimensions start mattering. Check carefully to make sure you are running the right example and creating the matching ThinkInk type for your display or you won't see anything happen on the EPD (or the image may be really weird looking).

2.9" Monochrome 296x128 Pixel Display

For the 296x128 Flexible Display, below is a monochrome demo.

Hands flexing a 2.9" Flexible 296x128 Monochrome E-Ink display
Woah, the cyber-future is here! Flexible E-Ink has been demo'd at high-tech events for years but now you can actually get your paws on it. This display is true E-Ink / E-Paper,...
$24.95
In Stock

Open up FileExamplesAdafruit_EPDThinkInk_mono

2.9" Tri-Color 296x128 Pixel Display

For the 296x128 Tri-Color display, below is a tri-color demo.

Adafruit 2.9" Red/Black/White eInk Display Breakout
Easy e-paper finally comes to microcontrollers, with this breakout that's designed to make it a breeze to add a tri-color eInk display. Chances are you've seen one of those...
$34.95
In Stock
E-Ink display connected to Feather, refreshing itself with image of friendly snake
Easy e-paper comes to your Feather with this breakout that's designed to make it a breeze to add a tri-color eInk display. Chances are you've seen one of those...
$24.95
In Stock
The demo updates every 15 seconds which is fine for demonstrating the functionality for a short time, but we recommend not updating more often than 180 seconds if you are planning on running any code long term.

Open up FileExamplesAdafruit_EPD→ThinkInk_tricolor

2.9" Grayscale 296x128 Pixel Display

For the 296x128 Grayscale display, below is the grayscale demo.

E-Ink display connected to Feather, refreshing itself with image of friendly robot
Easy e-paper comes to your Feather with this breakout that's designed to make it a breeze to add a monochrome eInk display. Chances are you've seen one of those...
Out of Stock

Open up FileExamplesAdafruit_EPD→ThinkInk_gray4

Configure Pins

For the FeatherWing you must be sure both EPD_RESET and EPD_BUSY are set to -1 since neither of these lines are connected or the E-Ink will not update.

No matter what display you have, you will need to verify that your pins match your wiring. At the top of the sketch find the lines that look like:

#define EPD_DC      10
#define EPD_CS      9
#define SRAM_CS     6
#define EPD_RESET   8 // can set to -1 and share with microcontroller Reset!
#define EPD_BUSY    7 // can set to -1 to not use a pin (will wait a fixed delay)

If you are using the FeatherWing only: Change both EPD_RESET and EPD_BUSY to -1 since neither of these lines are connected on the FeatherWing.

If you wired the display differently than on the wiring page, adjust the pin numbers accordingly.

Configure Display Type & Size

Find the part of the script where you can pick which display is going to be used. The eInk displays are made up a combination of a Chipset and a Film in different sizes. Adafruit has narrowed it down to just a few choices between the size of the display, chipset, and film based on available combinations. In the sketch, it is sorted by size, so it's easy to find your display.

You will need to uncomment the appropriate initializer and and leave any other type commented.

For the 2.9" 296x128 Monochrome Flexible Display, you will use the ThinkInk_290_Mono_M06 display initializer.

For the newer 2.9" 296x128 Tri-Color breakout, you will use the ThinkInk_290_Tricolor_Z13 display initializer.

For the older 2.9" 296x128 Tri-Color breakout or 2.9" 296x128 Tri-Color FeatherWing, you will use the ThinkInk_290_Tricolor_Z10 display initializer.

For the 2.9" 296x128Grayscale breakout , you will use the ThinkInk_290_Grayscale4_T5 display initializer.

For example, for the mono 296x128 flexible display, uncomment this line, and comment any other line that is creating a ThinkInk display object

// 2.9" Monochrome displays with 296x128 pixels and UC8151D chipset
//ThinkInk_290_Mono_M06 display(EPD_DC, EPD_RESET, EPD_CS, SRAM_CS, EPD_BUSY);

Upload Sketch

After checking the pinouts and the display type one more time, go ahead and upload the sketch to your board. Once it is done uploading, open the Serial Monitor.

The display should start running a series of display tests

This guide was first published on Sep 22, 2021. It was last updated on Sep 22, 2021.

This page (Arduino Usage) was last updated on Sep 14, 2021.

Text editor powered by tinymce.