Template: Pico e-Paper 4.2 Spec
Overview
This is a 4.2inch e-Paper display module for Raspberry Pi Pico, 400 x 300 pixels, support black, white, and 4 grayscale display, SPI interface.
Features
- No backlight, keeps displaying last content for a long time even when power down.
- Ultra-low power consumption, basically power is only required for refreshing.
- SPI interface, requires minimal IO pins.
- Onboard voltage translator, compatible with 3.3V / 5V MCUs.
- 2 x user buttons for easy interacting.
Specification
- Size: 4.2 inch
- Outline dimensions (bare screen): 90.1mm × 77.0mm × 1.18mm
- Outline dimensions (driver board): 93.5mm × 78.5mm
- Display size: 84.8mm x 63.6mm
- Operating voltage: 3.3V/5V
- Communication interface: SPI
- Pitch: 0.212 x 0.212
- Resolution: 400 x 300
- Display color: Black, White
- Greyscale: 4
- Full refresh: 4s
- Refreshing power: 26.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 circumstances, 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 a 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.
- Timing: CPHL=0, CPOL=0 (SPI0)
【Note】: for more details about SPI communication, you can search on the Internet.
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 the computer, the data is saved in MSB format:
So we can use two bytes for 16 pixels.
- In addition to bicolor displaying, the 3.7inch e-Paper also supports four grayscale.
- To display grey pixels, we need to define data for gray
- Black: 00b
- Dark Grey: 01b
- Light Grey: 10b
- White: 11b
Pixel | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||||||||
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Data | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
Color | Black | Black | Dark Grey | Dark Grey | Light Grey | Light Grey | White | White | ||||||||
Byte | 0x05 | 0xAF |
The display divides a four-grayscale picture into two pictures. The pixels in the same position of pictures are combined into one pixel.
Register | White | Light Grey | Dark Grey | Black |
0x10 | 0x01 | 0x01 | 0x00 | 0x00 |
0x13 | 0x01 | 0x00 | 0x01 | 0x00 |
With the tables above, you can define the data which can be used to display grayscale pixels in the 3.7inch e-Paper
Pixel | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||||||||
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Data | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
Color | Black | Black | Dark Grey | Dark Grey | Light Grey | Light Grey | White | White | ||||||||
Byte | 0x05 | 0xAF | ||||||||||||||
Bit in 0x10 register | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
Bit in 0x13 register | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
Data sent to 0x10 register | 0x00 | 0x55 | ||||||||||||||
Data sent to 0x13 register | 0x05 | 0x05 |