From Waveshare Wiki
Jump to: navigation, search
(22 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Infobox item
|name=1.54inch e-Paper (B)
|name2=1.54inch e-Paper Module (B)
|img=[[File:1.54inch-e-Paper-B-1.jpg|300px|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=}}]]
|img2=[[File:1.54inch-e-paper-module-b-4.jpg|300px|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=}}]]
|caption=200x200, 1.54inch EPD panel without driver board.
|caption2=200x200, 1.54inch EPD module, three-color, SPI interface
|category=[[:Category:OLEDs / LCDs|OLEDs / LCDs]], [[:Category:LCD|LCD]]
|{{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}=display
|website_cn=[ 官方中文站点]
|website_en=[ Waveshare website]
{{Product List|OLEDs / LCDs/e-Paper}}
<div class="tabber">
<div class="tabbertab" title="Introduction">
= Introduction =
{{e-Paper Raw Panel}}
200x200, 1.54inch EPD (Electronic Paper Display) module, three-color, SPI interface
<div style="background-color: #343434;text-align: center;color: white;padding: 20px;margin: 8px;">
=1.54inch e-Paper Module (B) Manual=
|content =
|heading = Introduction
|content = Parameters, principles and precautions}}
{{Amazon|{{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}=display
{{StudyCard|img=[[File:Rapberry Pi.jpg|110px|link=]]
|More = [ More]}}
|heading = Working with Raspberry Pi
|content = User guides for the development demo of C language, Python}}
Due to the chip upgrade, the 1.54inch e-Paper (B) will be upgraded to the 1.54inch e-Paper (B) v2 version. Old and new programs are not compatible. Compared with the old version, the v2 version is compatible with other appearances and functions except for the chip and driver. If you are an old customer and need to purchase a new screen again, pay attention to the update procedure. If you are purchasing for the first time and you have a new screen, you can simply use the new version of the program. The new version of the screen has a v2 suffix on the label. Please note the distinction
|heading = Working with the Arduino
|content = User guides for the development demo based on Arduino UNO R3}}
{{StudyCard|img=[[File:Jetson Arduino00.jpg|110px|link=]]
|heading = Working with the Jetson Nano
*Outline dimensions(raw panel): 37.32mm x 31.8mm x 1.05mm
|content = User guides for the development demo of C language, Python}}
*Outline dimension(with driver board): 48mmx33mm
*Display dimensions: 27.6mm x 27.6mm
*Operating voltage: 3.3V/5V
*Interface: SPI
*Dot pitch: 0.138 * 0.138
*Resolution: 200*200
*Display color: Black/White/Red
*Grey level: 2
*Full refresh time: 14s
*Refresh power: 26.4mW(typ.)
*Standby current: <0.01uA(almost none)
1.Refresh time: The refresh time is the experimental results, the actual refresh time will have errors, and the actual effect shall prevail. There will be a flickering effect during the global refresh process, this is a normal phenomenon
2.Power consumption: The power consumption data is the experimental results. The actual power consumption will have a certain error due to the existence of the driver board and the actual use situation. The actual effect shall prevail.
{{StudyCard|img=[[File:Sunrise X3 Pi.jpg|110px|link=]]
==SPI Communication Timing==
|heading = Working with Sunrise X3 Pi
|content = User guides for the development demo based on Python}}
Since the ink screen only needs to be displayed, the data cable (MISO) sent from the machine and received by the host is hidden here.
*CS: Slave chip select, when CS is low, the chip is enabled
|heading = Working with the STM32
*DC: data/command control pin, write command when DC=0; write data when DC=1
|content = User guides for the development demo based on STM32CubeMX}}
*SCLK: SPI communication clock
*SDIN: SPI communication master sends, slave receives
*Timing: CPHL=0, CPOL=0 (SPI0)
[Remarks] For specific information about SPI, you can search for information online.<big
= Working principle =
|heading = Working with ESP32/8266
|content = User guides for ESP32/8266}}
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 display 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''')
===Pixel & Byte===
We define the pixels in a monochrome picture, 0 is black and 1 is white.<br />
|heading = Resources
White:□: Bit 1<br />
|content = Documentation, procedures and data sheets, etc}}
Black:■: Bit 0<br />
*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<br />
*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:<br />
[[file:e-paper_hardware_work_1.png]]<br />
For computer, the data is saved in MSB format:<br />
[[file:e-paper_hardware_work_2.png]]<br />
|heading = FAQ
So we can use two bytes for 16 pixels.<br />
|content = e-Paper frequently asked questions}}
*For 1.54inch e-paper B, it is red and black, we need to split the picture into 2 pictures, one black and white picture, one red and white picture, because one register controls black and white display during transmission, and the other register controls red and white
show. One thing is special, the black and white part of 1.54 needs 2 bits to control 1 pixel in 1 byte, and 1 byte to control red and white can control 8 pixels.
For example, suppose there are 8 pixels, the first 4 are red, and the last 4 are black:<br />
They need to be split 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 are black. pixels are red, the last four pixels are white<br />
[[File:02.png]]<br />
If we specify that white is stored as 1 and red or black is stored as 0, then we have the following representation:<br />
[[File:03.png]]<br />
As mentioned above, the black and white part of 1.54 needs 2 bits to control 1 pixel, then it means that 8 pixels need 16 bits to be represented, that is, 2 bytes, and 2 bits are specified as 1 at the same time;<br />
1 byte to control red and white can control 8 pixels, which requires 1 byte to represent;<br />
#For the screen that supports partial update, please note that you cannot refresh the screen with the partial mode all the time. After several partial updating, you need to fully refresh the screen once. Otherwise, the screen display effect will be abnormal, which cannot be repaired!<br/>
#Because of the different batches, some of them have aberrations. Store the e-Paper right side up will reduce it. And if the e-Paper didn't be refreshed for a long time, it will become more and more reddish/yellowish. Please use the demo code to refresh the e-paper several times in this case.<br/>
#Note that the screen cannot be powered on for a long time. When the screen is not refreshed, please set the screen to sleep mode, or power off the e-Paper. Otherwise, the screen will remain in a high voltage state for a long time, which will damage the e-Paper and cannot be repaired!<br/>
#When using the e-Paper, it is recommended that the refresh interval be at least 180s, and refresh at least once every 24 hours. If the e-Paper is not used for a long time, the ink screen should be brushed and stored. (Refer to the datasheet for specific storage environment requirements)<br/>
#After the screen enters sleep mode, the sent image data will be ignored, and it can be refreshed normally only after initializing again.<br/>
#Control the 0x3C or 0x50 (refer to the datasheet for details) register to adjust the border color. In the routine, you can adjust the Border Waveform Control register or VCOM AND DATA INTERVAL SETTING to set the border.<br/>
#If you find that the created image data is displayed incorrectly on the screen, it is recommended to check whether the image size setting is correct, change the width and height settings of the image and try again.<br/>
#The working voltage of the e-Paper is 3.3V. If you buy the raw panel and you need to add a level convert circuit for compatibility with 5V voltage. The new version of the driver board (V2.1 and subsequent versions) has added a level processing circuit, which can support both 3.3V and 5V working environments. The old version can only support a 3.3V working environment. You can confirm the version before using it. (The one with the 20-pin chip on the PCB is generally the new version)<br/>
#The FPC cable of the screen is relatively fragile, pay attention to bending the cable along the horizontal direction of the screen when using it, and do not bend the cable along the vertical direction of the screen<br/>
#The screen of e-Paper is relatively fragile, please try to avoid dropping, bumping, and pressing hard.<br/>
#We recommend that customers use the sample program provided by us to test with the corresponding development board after they get the screen.<br/>
<div class="tabbertab" title="Hardware/Software setup">
{{Hardware/Software setting for SPI e-paper}}
<div class="tabbertab" title="Codes description">
{{e-Paper Codes Description}}
=== Display a Frame (DisplayFrame) ===
|heading = Support
DisplayFrame is used to send a frame to module, and the screen will refresh and display it.
|content = Technical support
Process: Send command data start transmission 1 -> Send data of dark area -> Send command data start transmission 2 -> Send data of red area -> Refresh the screen.
* One frame consist of images of black area and red area, so we need to send two images for displaying one frame,
* The image of black part: 2 bits = 1 pixel, doesn’t support Gray scale (Can only display black and white). 00b stand for black pixel, and 11b stand for white.
For example:
0xC3:4 pixels □■■□
0x00:4 pixels ■■■■
0xFF:4 pixels □□□□
0x66:The state of pixels is uncertain
* The image of red area: 1 bit = 1 pixel, doesn’t support Gray scale (Can only display red and white). The pixel is white if Bit is set, and it is red on the contrary.
For example:
0xC3:8 pixels □□■■■■□□
0x00:8 pixels ■■■■■■■■
0xFF:8 pixels □□□□□□□□
0x66:8 pixels ■□□■■□□■
* This module doesn’t support partial refresh.
* The refresh rate of this module is slow, and it will flicker for several times during refreshing (about 8s). Please be patient.
<div class="tabbertab" title="Resources">
==Documentation ==
*[ User Manual]
{{Commom Instruction of SPI e-paper}}
* [[:File:1.54inch_e-Paper_Schematic.pdf|Schematic]]
* [[:File:1.54inch-e-paper-b-specification.pdf|Datasheets]]
*[ 1.54inch e-Paper (B) V2 Datasheet]
==Demo code==
*[ Github]
; Datasheets
== Related Resources==
This is a post in Arduino Form about our SPI e-Paper thanks to ZinggJM, maybe you want to refer to.
*[ Waveshare e-Paper display with SPI]
<div class="tabbertab" title="FAQ">
= FAQ =
<!--{{e-Paper FAQ}}-->
{{e-Paper FAQ}}

Latest revision as of 05:59, 24 March 2023

1.54inch e-Paper Module (B) Manual

E-Paper Introduction 4.jpg


Parameters, principles and precautions
Rapberry Pi.jpg

Working with Raspberry Pi

User guides for the development demo of C language, Python

Working with the Arduino

User guides for the development demo based on Arduino UNO R3
Jetson Arduino00.jpg

Working with the Jetson Nano

User guides for the development demo of C language, Python
Sunrise X3 Pi.jpg

Working with Sunrise X3 Pi

User guides for the development demo based on Python

Working with the STM32

User guides for the development demo based on STM32CubeMX
E-Paper ESP32.jpg

Working with ESP32/8266

User guides for ESP32/8266


Documentation, procedures and data sheets, etc


e-Paper frequently asked questions


Technical support