From Waveshare Wiki
Jump to: navigation, search
 
(30 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Infobox item
+
{{#tweekihide:firstHeading|sidebar-left|sidebar-right}}__NOTOC__
|img=<div class="tabber"><div class="tabbertab" title="2.9inch e-Paper">[[File:2.9inch-e-Paper-1.jpg|300px|link=https://www.waveshare.com/2.9inch-e-Paper.htm]]</div><div class="tabbertab" title="2.9inch e-Paper Module">[[File:2.9inch-e-paper-module-4.jpg|300px|link=http://www.waveshare.com/2.9inch-e-paper-module.htm]]</div>
 
|caption=296x128, 2.9inch E-Ink display raw panel
 
|caption2=296x128, 2.9inch E-Ink display module, SPI interface
 
|category=[[:Category:OLEDs / LCDs|OLEDs / LCDs]], [[:Category:LCD|LCD]]
 
|brand=Waveshare
 
|{{#urlget:amazon|default}}=display
 
|website_cn=[http://www.waveshare.net/shop/2.9inch-e-paper-module.htm 官方中文站点]
 
|website_en=[http://www.waveshare.com/product/2.9inch-e-paper-module.htm Waveshare website]
 
|interface1=SPI
 
|related=
 
{{Product List|OLEDs / LCDs/e-Paper}}
 
}}
 
<div class="tabber">
 
<div class="tabbertab" title="Introduction">
 
__TOC__
 
==About the versions==
 
<font backgound=white; color=#DD1223>
 
The 2.9inch e-Paper raw panel was updated to the V2 version. The controller and the driver codes are different and the codes of the two versions are not compatible with each other. Except for the software, the outline of the two versions is the same. If you are the regulars of this display, please note that you need to update your driver codes with the new version refer to our new examples for the V2 version. if your the first time buy and use this display, just need to download and use the new V2 examples. The V2 version has a "V2" sticker on the backside of the display panel. Please confirm the version by the sticker.
 
</font>
 
 
 
== Introduction ==
 
{{E-Paper Raw Panel}}
 
 
 
296x128, 2.9inch E-Ink display module, SPI interface
 
 
 
{{Amazon|{{#urlget:amazon|default}}=display
 
|More = [http://www.waveshare.com/product/2.9inch-e-paper-module.htm More]}}
 
 
 
=Video=
 
<youtube height=400px, width=400px>https://youtu.be/OzqH1kWzFZY</youtube>
 
 
 
= Interfaces =
 
{|class="wikitable"
 
|-
 
| VCC || 3.3V
 
|-
 
| GND || GND
 
|-
 
| DIN || SPI MOSI
 
|-
 
| CLK || SPI SCK
 
|-
 
| CS || SPI chip select (Low active)
 
|-
 
| DC || Data/Command control pin (High for data, and low for command)
 
|-
 
| RST || External reset pin (Low for reset)
 
|-
 
| BUSY || Busy state output pin (High for busy)
 
|}
 
 
 
== Working principle ==
 
;Introduction
 
----
 
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. ('''Note that the e-Paper cannot support updating directly under sunlight''')
 
;Communication protocol
 
----
 
[[File:1.54inch-e-paper-manual-1.png]]
 
  
Note: Different from the traditional SPI protocol, the data line from the slave to the master is hidden since the device only has display requirement.
+
<div style="background-color: #343434;text-align: center;color: white;padding: 20px;margin: 8px;">
* CS is slave chip select, when CS is low, the chip is enabled.
+
=2.9inch e-Paper Module Manual=
* 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 by CPHA and CPOL.
 
# CPOL determines the level of the serial synchronous clock at idle state. When CPOL = 0, the level is Low. However, CPOL has little effect to the transmission.
 
# CPHA determines whether data is collected at the first clock edge or at the second clock edge of 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. In here, SPI0 is in used, and data is transferred by bits, MSB first.
 
 
</div>
 
</div>
<div class="tabbertab" title="User Guides of Pi">
+
<p></p>
 +
{{ContentGrid|grid-gap=25px
 +
|content =  
  
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.
+
{{StudyCard
{{Raspberry Pi Guides for SPI e-Paper}}
+
|img=[[File:Start-test1.png|121px|link=https://www.waveshare.com/wiki/2.9inch_e-Paper_Module_Manual#Overview]]
</div>
+
|heading = Introduction
<div class="tabbertab" title="User Guides of Jetson Nano">
+
|content = Parameters, principles, and precautions
 +
}}
  
{{Jetson Nano Guides for SPI e-Paper}}
+
{{StudyCard
</div>
+
|img=[[File:Remote-access-test1.png|121px|link=https://www.waveshare.com/wiki/2.9inch_e-Paper_Module_Manual#Users_Guides_of_Raspberry_Pi]]
<div class="tabbertab" title="User Guides of STM32">
+
|heading = Start with Raspberry Pi
 +
|content = Using BCM2835, WiringPi, file IO, RPI (Python) library development routines and instructions
 +
}}
  
{{STM32 Guides for SPI e-Paper}}
+
{{StudyCard
</div>
+
|img=[[File:Linux-test1.png|121px|link=https://www.waveshare.com/wiki/2.9inch_e-Paper_Module_Manual#User_Guides_of_Jetson_Nano]]
<div class="tabbertab" title="User Guides of Arduino">
+
|heading = Start with the Jetson Nano
 +
|content = Use C language, Python developed routines and instructions
 +
}}
  
{{Arduino Guides for SPI e-Paper}}
+
{{StudyCard
</div>
+
|img=[[File:Config-test1.png|121px|link=https://www.waveshare.com/wiki/2.9inch_e-Paper_Module_Manual#User_Guides_of_STM32]]
<div class="tabbertab" title="User Guides of ESP32">
+
|heading = Starting from the STM32
 +
|content = Use STM32CubeMX to develop routines based on STM32F103ZET6 and their usage instructions
 +
}}
  
{{ESP32 Guides for SPI e-Paper}}
+
{{StudyCard
</div>
+
|img=[[File:Tinker Board 2硬件-test1.png|121px|link=https://www.waveshare.com/wiki/2.9inch_e-Paper_Module_Manual#User_Guides_of_Arduino]]
<div class="tabbertab" title="User Guides of ESP8266">
+
|heading = Starting from the Arduino
 +
|content = Routines developed based on Arduino UNO R3 and their usage instructions
 +
}}
  
{{ESP8266 Guides for SPI e-Paper}}
+
{{StudyCard
</div>
+
|img=[[File:Linux-test1.png|121px|link=https://www.waveshare.com/wiki/2.9inch_e-Paper_Module_Manual#Resources]]
<!--
+
|heading = Resources
=== Set the frame memory (SetFrameMemory) ===
+
|content = Documentation, procedures and data sheets, etc
SetFrameMemory is used to write image data to the memory.
+
}}
* Process:
 
:: Set the area size (see the function SetMemoryArea) -> set the start point (see the function SetMemoryPointer) -> send the command ''Write RAM'' -> start image data transfer.  
 
* The module has two memory areas. Once DisplayFrame is invoked, the following action of SetFrameMemory will set the other memory area, e.g. to set all the two memory areas, the process is: SetFrameMemory -> DisplayFrame -> SetFrameMemory -> DisplayFrame, i.e. set and update twice.
 
* The data from SPI interface is first saved into the memory and then updated if the module received the update command.
 
* About the image to be sent: 1 byte = 8 pixels, doesn’t support Gray scale (Can only display black and white). A bit set stands for a white pixel, otherwise a bit reset stands for a black pixel.
 
For example:
 
<pre>
 
0xC3:8 pixels □□■■■■□□
 
0x00:8 pixels ■■■■■■■■
 
0xFF:8 pixels □□□□□□□□
 
0x66:8 pixels ■□□■■□□■
 
</pre>
 
-->
 
<div class="tabbertab" title="Resources">
 
  
== Documentation ==
+
{{StudyCard
*[https://www.waveshare.com/w/upload/9/98/2.9inch-e-paper-module-user-manual-en.pdf User Manual]
+
|img=[[File:显示屏-test1.png|121px|link=https://www.waveshare.com/wiki/2.9inch_e-Paper_Module_Manual#FAQ]]
{{Commom Instruction of SPI e-paper}}
+
|heading = FAQ
* [[:File:2.9inch_e-Paper_Schematic.pdf|Schematic]]
+
|content = e-Paper frequently asked questions
 +
}}
  
== Demo code ==
+
{{StudyCard
*[https://github.com/waveshare/e-Paper Github]
+
|img=[[File:数据表-test1.png|121px|link=https://www.waveshare.com/wiki/2.9inch_e-Paper_Module_Manual#Support]]
 +
|heading = Support
 +
|content = Technical support
 +
}}
  
== Code shared from users ==
+
}}
Thanks to Martin, who share his code which was modified for particle photon wifi dev kit
 
*[[:File:2.9inch_e-Paper_Module_code_particle.7z|2.9inch_e-Paper_Module_code_particle]]
 
 
 
== Datasheets ==
 
* [[:File:1.54inch_e-Paper_Datasheet.pdf|1.54inch_e-Paper_Datasheet.pdf]]
 
* [[:File:2.13inch_e-Paper_Datasheet.pdf|2.13inch_e-Paper_Datasheet.pdf]]
 
* [[:File:2.9inch_e-Paper_Datasheet.pdf|2.9inch_e-Paper_Datasheet.pdf]]
 
* [https://www.waveshare.com/w/upload/7/79/2.9inch-e-paper-v2-specification.pdf 2.9inch e-Paper V2 Specification]
 
 
 
==Related Resources==
 
This is a post in Arduino Form about our SPI e-Paper thanks to ZinggJM, maybe you want to refer to.
 
*[https://forum.arduino.cc/index.php?topic=487007.0 Waveshare e-Paper display with SPI]
 
 
 
= Relate applications =
 
*[https://www.instructables.com/id/Waveshare-EPaper-and-a-RaspberryPi/ WAVESHARE EPAPER AND A RASPBERRYPI]
 
</div>
 
<div class="tabbertab" title="FAQ">
 
 
 
== FAQ ==
 
<!--{{e-Paper FAQ}}-->
 
{{e-Paper FAQ}}
 
</div>
 
</div>
 
==Support==
 
{{Service00}}
 

Latest revision as of 09:58, 21 July 2022


2.9inch e-Paper Module Manual

Start-test1.png

Introduction

Parameters, principles, and precautions
Remote-access-test1.png

Start with Raspberry Pi

Using BCM2835, WiringPi, file IO, RPI (Python) library development routines and instructions
Linux-test1.png

Start with the Jetson Nano

Use C language, Python developed routines and instructions
Config-test1.png

Starting from the STM32

Use STM32CubeMX to develop routines based on STM32F103ZET6 and their usage instructions
Tinker Board 2硬件-test1.png

Starting from the Arduino

Routines developed based on Arduino UNO R3 and their usage instructions
Linux-test1.png

Resources

Documentation, procedures and data sheets, etc
显示屏-test1.png

FAQ

e-Paper frequently asked questions
数据表-test1.png

Support

Technical support