From Waveshare Wiki
Jump to: navigation, search
 
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Infobox item
+
{{#tweekihide:firstHeading|sidebar-left|sidebar-right}}__NOTOC__
|name=7.5inch e-Paper
 
|img=<div class="tabber"><div class="tabbertab" title="Raw Panel">[[File:7.5inch-e-Paper-1.jpg|300px|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=https://www.waveshare.com/7.5inch-e-paper.htm}}]]</div>
 
<div class="tabbertab" title="Fully Laminated Ver.">[[File:7.5inch-e-Paper-G-1.jpg|300px|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=https://www.waveshare.com/7.5inch-e-paper-g.htm}}|7.5inch e-Paper (G)]]</div>
 
<div class="tabbertab" title="With Driver HAT">[[File:7.5inch-e-paper-hat-4.jpg|300px|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=http://www.waveshare.com/7.5inch-e-paper-hat.htm}}]]</div></div>
 
|category=[[:Category:OLEDs / LCDs|OLEDs / LCDs]], [[:Category:LCD|LCD]]
 
|brand=Waveshare
 
|{{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}=display
 
|website_cn=[http://www.waveshare.net/shop 官方中文站点]
 
|website_en=[http://www.waveshare.com/7.5inch-e-paper-hat.htm HAT Ver.]; [https://www.waveshare.com/7.5inch-e-paper.htm Raw Panel]; [https://www.waveshare.com/7.5inch-e-paper-g.htm Fully Laminated Ver.]
 
|interface1=SPI
 
|related=
 
{{Product List|OLEDs / LCDs/e-Paper}}
 
}}
 
==Version Description==
 
This product has been updated to the V2 version with a higher resolution and supports 800x480 resolution (the V1 version has a resolution of 640x384). The hardware structure and interface of the V2 version are compatible with the V1 version, but the software needs to be updated. If you are purchasing for the first time, and there is a V2 label on the back of the screen, you can directly use the V2 program.
 
  
==Feature==
+
<div style="background-color: #343434;text-align: center;color: white;padding: 20px;margin: 8px;">
*Dimension: 7.5inch
+
=7.5inch e-Paper HAT Manual=
*Outline dimension (raw panel): 170.2mm x 111.2mm x 1.18mm
+
</div>
*Outline dimension (driver board): 65mm x 30.2mm
+
<p></p>
* Display dimension: 163.2mm x 97.92mm
+
{{ContentGrid|grid-gap=25px
*Communication interfaces: SPI
+
|content =
*Dot spacing: 0.205x 0.204 (V1:0.255x0.255)
+
{{StudyCard
*Resolution: 800 x 480 (V1: 640x384)
+
|img=[[File:E-Paper_Introduction_4.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#Overview]]
*Display color: Black, White
+
|heading = Introduction
*Gray level: 2
+
|content = Parameters, principles and precautions}}
*Global refresh: 5s
 
*Refresh Power: 26.4mW(typ.)
 
*Standby current: <0.01uA(close to 0)
 
*Note:
 
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.
 
 
 
==SPI Communication Timing==
 
[[File:1.54inch-e-paper-manual-1.png|400px]]
 
 
 
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
 
*DC: data/command control pin, write command when DC=0; write data when DC=1
 
*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 =
 
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 suspended 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 />
 
White:□: Bit 1<br />
 
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 />
 
So we can use two bytes for 16 pixels.<br />
 
 
 
*7.5inch e-paper (V1)
 
Because of the problem of the controller, it defines 0000b to indicate that the corresponding pixel is black, and 0011b to indicate that the corresponding pixel is white, which is 4bit = 1pixel, and the lower two bits of the 4bit are both 0 to display black. On the contrary, the lowest two bits of 4bit can be 1 at the same time. Display white, other data will cause the color of the pixel to be uncertain;<br />
 
For example:<br />
 
0x00: 2 pixels ■■<br />
 
0x03: 2 pixels ■□<br />
 
0x30: 2 pixels □■<br />
 
0x33: 2 pixels □□<br />
 
Taking 4 pixels as an example, we assume that the first 2 pixels are black and the last 2 pixels are white, then the logic of people is like this, which is stored in sequence:<br />
 
[[File:05.png]]
 
 
 
For a computer, its data storage method is high-order first, low-order last, and a byte has only 8 bits, so it is stored in a byte like this:
 
[[File:06.png]]<br />
 
*7.5inch e-paper (V2)<br />
 
This version is the same as the one above
 
Taking 16 pixels as an example, we assume that the first 8 pixels are black and the last 8 pixels are white, so it can be considered that the pixels 1-16 correspond to the 0-bit to 15-bit, 0 means black, 1 Indicates white:
 
 
 
{|class="wikitable" style="text-align:center; width:700px"
 
|-
 
|'''Pixel'''
 
|1
 
|2
 
|3
 
|4
 
|5
 
|6
 
|7
 
|8
 
|9
 
|10
 
|11
 
|12
 
|13
 
|14
 
|15
 
|16
 
|-
 
|'''Bit'''
 
|0
 
|1
 
|2
 
|3
 
|4
 
|5
 
|6
 
|7
 
|8
 
|9
 
|10
 
|11
 
|12
 
|13
 
|14
 
|15
 
|-
 
|'''Data'''
 
|0
 
|0
 
|0
 
|0
 
|0
 
|0
 
|0
 
|0
 
|1
 
|1
 
|1
 
|1
 
|1
 
|1
 
|1
 
|1
 
|-
 
|'''Corresponding Color'''
 
|■
 
|■
 
|■
 
|■
 
|■
 
|■
 
|■
 
|■
 
|□
 
|□
 
|□
 
|□
 
|□
 
|□
 
|□
 
|□
 
|}
 
For a computer, its data storage method is high-order first, low-order last, and a byte has only 8 bits, so there will be a little change:
 
{|class="wikitable" style="text-align:center; width:700px"
 
|-
 
|'''Pixel'''
 
|1
 
|2
 
|3
 
|4
 
|5
 
|6
 
|7
 
|8
 
|9
 
|10
 
|11
 
|12
 
|13
 
|14
 
|15
 
|16
 
|-
 
|'''Bit'''
 
|0
 
|1
 
|2
 
|3
 
|4
 
|5
 
|6
 
|7
 
|8
 
|9
 
|10
 
|11
 
|12
 
|13
 
|14
 
|15
 
|-
 
|'''Data'''
 
|0
 
|0
 
|0
 
|0
 
|0
 
|0
 
|0
 
|0
 
|1
 
|1
 
|1
 
|1
 
|1
 
|1
 
|1
 
|1
 
|-
 
|'''Corresponding Color'''
 
|■
 
|■
 
|■
 
|■
 
|■
 
|■
 
|■
 
|■
 
|□
 
|□
 
|□
 
|□
 
|□
 
|□
 
|□
 
|□
 
|-
 
|'''Byte'''
 
|colspan=8|0x00
 
|colspan=8|0xff
 
|}
 
In this way, only 2 bytes are needed to represent 16 pixels.
 
==Precautions==
 
#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/>
 
 
 
We provide several examples for testing, you first test the e-Paper by following the guides. If your developing board is different, you need to write your codes yourself by following the resources.
 
{{Raspberry Pi Guides for SPI e-Paper}}
 
 
 
 
 
 
 
{{Jetson Nano Guides for SPI e-Paper}}
 
 
 
 
 
{{STM32 Guides for SPI e-Paper}}
 
 
 
 
 
{{Arduino Guides for SPI e-Paper}}
 
 
 
 
 
{{ESP32 Guides for SPI e-Paper}}
 
 
 
 
 
{{ESP8266 Guides for SPI e-Paper}}
 
 
 
 
 
<!--
 
=== Display a Frame (DisplayFrame) ===
 
DisplayFrame is used to send a frame to the module, and the screen will refresh and display it.
 
 
 
Process: Send command data start transmission 1 -> Send data of an image to display -> Refresh the screen.
 
  
Note:
+
{{StudyCard|img=[[File:Rapberry Pi.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#Working_With_Raspberry_Pi]]
* About the image data: 4 bits = 1 pixel, doesn’t support Gray scale (can only display black and white). 0000 (binary) stands for a black pixel, otherwise 0011 (binary) stands for a white pixel.
+
|heading = Working with Raspberry Pi
 +
|content = User guides for the development demo of C language, Python}}
  
For example:
+
{{StudyCard|img=[[File:Arduino00.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#Working_With_Arduino]]
<pre>
+
|heading = Working with the Arduino
0x00: 2 pixels ■■
+
|content = User guides for the development demo based on Arduino UNO R3}}
0x03: 2 pixels ■□
 
0x30: 2 pixels □■
 
0x33: 2 pixels □□
 
but 0x66: the state of pixels is uncertain
 
</pre>
 
* This module doesn’t support partial refresh.
 
* The refresh rate of this module is slow (about 6s), and it will flicker for several times during refreshing. Please be patient.
 
-->
 
<div class="tabbertab" title="Resources">
 
  
=Resources=
+
{{StudyCard|img=[[File:Jetson Arduino00.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#Working_With_Jetson_Nano]]
 +
|heading = Working with the Jetson Nano
 +
|content = User guides for the development demo of C language, Python}}
  
==Documentation==
+
{{StudyCard|img=[[File:Sunrise X3 Pi.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#Working_With_Sunrise_X3_Pi]]
 +
|heading = Working with Sunrise X3 Pi
 +
|content = User guides for the development demo based on Python}}
  
{{Commom Instruction of SPI e-paper}}
+
{{StudyCard|img=[[File:STM321.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#Working_With_STM32]]
 +
|heading = Working with the STM32
 +
|content = User guides for the development demo based on STM32CubeMX}}
  
* [[:File:E-Paper-Driver-HAT-Schematic.pdf|Schematic]]
+
{{StudyCard|img=[[File:E-Paper_ESP32.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#ESP32.2F8266]]
 +
|heading = Working with ESP32/8266
 +
|content = User guides for ESP32/8266}}
  
==Demo code==
+
{{StudyCard|img=[[File:Resource0.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#Resources]]
*[https://github.com/waveshare/e-Paper Github]
+
|heading = Resources
 +
|content = Documentation, procedures and data sheets, etc}}
  
==Datasheets==
+
{{StudyCard|img=[[File:FAQ01.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#FAQ]]
* [[:File:7.5inch-e-paper-specification.pdf|Datasheet]]
+
|heading = FAQ
* [https://www.waveshare.com/w/upload/6/60/7.5inch_e-Paper_V2_Specification.pdf 7.5inch e-Paper V2 Specification]
+
|content = e-Paper frequently asked questions}}
==Related Resources==
 
Notice:<br />
 
The projects listed are all made and shared by the project owners, Waveshare isn't responsible for project either the update.<br />
 
*[https://forum.arduino.cc/index.php?topic=487007.0 Waveshare e-Paper display with SPI]
 
:This is a post in Arduino Form about our SPI e-Paper thanks to ZinggJM, maybe you want to refer to.
 
*[https://github.com/aceisace/Inkycal Inkycal Project]
 
:This is the Inkycal project for reference.
 
*[https://www.youtube.com/watch?v=OW4GYmzWOb8 Task List using Raspberry Pi 3 and 7.5" E-paper Display]
 
*[https://github.com/aceisace/E-Paper-Calendar-with-iCal-sync-and-live-weather E-Paper Calendar with iCal sync and live weather ]
 
</div>
 
<div class="tabbertab" title="FAQ">
 
  
= FAQ =
+
{{StudyCard|img=[[File:support00.jpg|110px|link=https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_Manual#Support]]
==Question about Software==
+
|heading = Support
{{FAQ|stm32 drives the ink screen, the MDK compilation display space is not enough?
+
|content = Technical support
|*Our demo uses stm32f103zet6. If the customer modifies other models in MDK, such as stm32f103rbt6, the ram space becomes smaller, and the stack size and heap size in the startup file need to be modified on the original basis.
 
 
}}
 
}}
{{FAQ|Error ImportError: No module named Image?
 
|*Install the imaging library using the command sudo apt-get install python-imaging
 
 
}}
 
}}
{{FAQ|When to transmit Data Start Transmission 1 and when to use Data Start Transmission 2. In KW mode, what is "OLD" data and what is "NEW" data. ?
 
|If it is a three-color screen, when you need to transmit B/W data, use Data Start Transmission 1, when transmitting RED data, use Data Start Transmission 2, because the 2.13inch e-Paper HAT (D) can only display black and white, Therefore, when working in KW mode Data Start Transmission 1, the last data is sent, that is, the so-called old, and 0x00 is directly sent in the program. When Data Start Transmission 2, the data that needs to be refreshed, the so-called "NEW" is sent. data.
 
}}
 
{{FAQ|Can't display Chinese on the e-ink screen?
 
|The Chinese character library of our routine uses GB2312 encoding method, please change your xxx_test.c file to GB2312 encoding format, compile and download it, and it will display normally
 
}}
 
{{FAQ|The e-Paper display is dark or light?
 
|You can adjust the value of Vcom in the program to change the display contrast, and the screen improvement effect with local brushing is particularly obvious.
 
}}
 
{{FAQ|e-Paper shows black border?
 
|The border display color can be set through the Border Waveform Control register or the VCOM AND DATA INTERVAL SETTING register.
 
}}
 
{{FAQ|After multiple positions are brushed, the font is lighter after brushing several times?
 
|In this case, the customer needs to reduce the position of the round brush and clear the screen after 5 rounds of brushing (increasing the voltage of VCOM can improve the color, but it will increase the afterimage).
 
}}
 
{{FAQ|When the ink screen is in deep sleep mode, the first time the screen refreshes will be unclean. How can I solve it?
 
|The process of re-awakening the e-ink screen is actually the process of re-powering on the power. Therefore, when the EPD wakes up, it must first clear the screen, so as to avoid the afterimage phenomenon to the greatest extent.
 
}}
 
{{FAQ|When testing the program, the program has been stuck in e-Paper busy?
 
|*It may be caused by the unsuccessful spi driver<br/>
 
1. First check whether the wiring is correct<br/>
 
2. Check whether the spi is turned on and whether the parameters are configured correctly (spi baud rate, spi mode and other parameters)<br/>
 
}}
 
==Question about Hardware==
 
{{FAQ|Can Arduino 3.3V drive the ink screen?
 
|Yes, now there is a level conversion chip onboard, supporting 3.3V drive
 
}}
 
{{FAQ|What should be paid attention to when designing the driver board?
 
|The rated input voltage of the ink screen is 2.3~3.6V. If it is a 5V system, level conversion is required. In addition, the voltage should not be lower than 2.5V, so as not to affect the display effect of the ink screen.<br/>
 
Device selection can use the model in the schematic diagram we provide or choose according to the data sheet.<br/>
 
}}
 
{{FAQ|Can I use analog SPI?
 
|Yes, pay attention to the correct timing<br/>
 
}}
 
{{FAQ|Why is the BUSY pin always busy?
 
|Check if SPI communication is normal<br/>
 
Confirm whether the BUSY pin is normally initialized to input mode<br/>
 
It may be that there is no normal reset, try to shorten the duration of the low level during reset (because the power-off switch is added to the drive circuit, the reset low level is too long, which will cause the drive board to power off and cause the reset to fail)
 
If the busy function sends the 0x71 command, you can try to comment it out<br/>
 
}}
 
==Question about Screen==
 
 
==Support==
 
{{Service00}}
 

Latest revision as of 07:15, 24 March 2023


7.5inch e-Paper HAT Manual

E-Paper Introduction 4.jpg

Introduction

Parameters, principles and precautions
Rapberry Pi.jpg

Working with Raspberry Pi

User guides for the development demo of C language, Python
Arduino00.jpg

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
STM321.jpg

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
Resource0.jpg

Resources

Documentation, procedures and data sheets, etc
FAQ01.jpg

FAQ

e-Paper frequently asked questions
Support00.jpg

Support

Technical support