Template: Pico e-Paper 2.66-B Spec
Overview
2.66inch EPD (Electronic Paper Display) Module For Raspberry Pi Pico, 296 × 152 Pixels, Black / White /Red, SPI Interface.
Features
- No backlight keeps displaying the latest content for a long time even when powered down.
- Ultra-low power consumption, basically power is only required for refreshing.
- SPI interface requires minimal IO pins.
Specification
- Size: 2.66 inch
- Outline dimensions (screen only): 71.820mm × 36.304mm × 1.00mm
- Outline dimensions (driver board): 74.0mm × 37.00mm
- Display size: 60.088mm × 30.704mm
- Operating voltage: 3.3V
- Communication interface: SPI
- Pixel pitch: 0.202 × 0.203
- Resolution: 296 × 152
- Display color: Red, Black, White
- Greyscale: 2
- Full refresh: 15s
- Refresh power: 42.4mW (typ.)
- Sleep current: <0.01uA (almost 0)
【Note】: Refresh time: refresh time for the experimental test data, the actual refresh time will be inaccurate, subject to the actual effect. The global refresh process will have a flickering effect, this is a normal phenomenon.
Power consumption: power consumption data for the experimental test data, the actual power consumption due to the existence of the driver board and the actual use of different conditions, there will be a certain error, subject to the actual effect.
SPI Timing
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 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.
- Sequence: CPHL=0, CPOL=0 (SPI0).
【Note】Specific information about SPI communication, you can search for information on the Internet to understand.
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 the display uses 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.