• sales


2.66inch e-Paper Module (B) User Guide


Note: The raw panel requires a driver board, If you are the first time use this e-Paper, we recommend you to buy the Module version or buy more one driver hat for easy use, otherwise you need to make the driver board yourself. And this instruction is based on the module version.

296x152, 2.66inch E-Ink display HAT for Raspberry Pi, SPI interface


  • Operating Voltage: 3.3V/5V (The raw panel only support 3.3V)
  • Interface: SPI
  • Outline Dimensions: 37.0 x 83.5mm
  • Display Size: 30.704 x 60.088mm
  • Dot Pitch: 0.202 x 0.203mm
  • Resolution: 296 x 152
  • Display Color: Black, White, Red
  • Grayscale: 2
  • Full Refresh Time: 15s
  • Refresh Power: 16.4mW(Typ.)
  • Standby Current: <0.01uA (almost none)
  • Viewing Angle: >170°


CSSPI chip select (Low active)
DCData/Command control pin (High for data, and low for a command)
RSTExternal reset pin (Low for reset)
BUSYBusy state output pin (Low for busy)

SPI timing

This product is an E-paper device adopting the image display technology of Microencapsulated Electrophoretic Display, MED. The initial approach is to create tiny spheres, in which the charged color pigments are suspending in the transparent oil and would move depending on the electronic charge. The E-paper screen displays patterns by reflecting the ambient light, so it has no background light requirement. Under ambient light, the E-paper screen still has high visibility with a wide viewing angle of 180 degrees. It is the ideal choice for E-reading. (Note that the e-Paper cannot support updating directly under sunlight)

Communication protocol

Note: Different from the traditional SPI protocol, the data line from the slave to the master is hidden since the device only has a display requirement.

  • CS is the slave chip select. When CS is low, the chip is enabled.
  • DC is data/command control pin, when DC = 0, write command, when DC = 1, write data.
  • SCLK is the SPI communication clock.
  • SDIN is the data line from the master to the slave in SPI communication.

SPI communication has data transfer timing, which is combined with CPHA and CPOL.

  1. CPOL determines the level of the serial synchronous clock at an idle state. When CPOL = 0, the level is Low. However, CPOL has little effect to the transmission.
  2. CPHA determines data is collected at the first clock edge or at the second clock edge of the serial synchronous clock; when CPHL = 0, data is collected at the first clock edge.
  • There are 4 SPI communication modes. SPI0 is commonly used, in which CPHL = 0, CPOL = 0.

As you can see from the figure above, data transmission starts at the first falling edge of SCLK, and 8 bits of data are transferred in one clock cycle. Here, SPI0 is in used, and data is transferred by bits, MSB first.

Working protocoal

Pixel & Byte

We define the pixels in a monochrome picture, 0 is black and 1 is white.
White:□,Bit 1
Black:■:Bit 0

  • The dot in the figure is called a pixel. As we know, 1 and 0 are used to define the color, therefore we can use one bit to define the color of one pixel, and 1 byte = 8pixels
  • For example, If we set the first 8 pixels to black and the last 8 pixels to white, we show it by codes, they will be 16 bit as below:

For computer, the data is saved in MSB format:

So we can use two bytes for 16 pixels.

For e-paper B, the display colors are red, black, and white. We need to split the picture into 2 pictures, one is the black and white picture, another is the red and white picture. When transmitting, because one register controls a black or white pixel, one controls Red or white display. The black and white part of display use 1 byte to control 8 pixels, and the red and white part use 1 byte to control 8 pixels.
For example, suppose there are 8 pixels, the first 4 are red, and the back 4 are black:
They need to be disassembled into a black and white picture and a red and white picture. Both pictures have 8 pixels, but the first four pixels of the black and white picture are white, the last 4 pixels are black, and the first 4 pixels of the red and white picture One pixel is red, and the last four pixels are white.

If you define that the data of white pixel is 1 and the black is 0, then we can get:

So that we can use 1 byte to control every eight pixels.