From Waveshare Wiki
Jump to: navigation, search
 
(31 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<div class="tabber">
+
{{#tweekihide:firstHeading|sidebar-left|sidebar-right}}__NOTOC__
<div class="tabbertab" title="Instruction">
 
{{Infobox item
 
|name=3.7inch e-Paper
 
|name2=3.7inch e-paper HAT
 
|img=[[File:3.7inch-e-Paper-1.jpg|300px|link=https://www.waveshare.com/3.7inch-e-paper.htm]]
 
|img2=[[File:3.7inch-e-Paper-HAT-1.jpg|300px|link=http://www.waveshare.com/3.7inch-e-paper-hat.htm]]
 
|caption=480x280, 3.7inch E-Ink raw panel without driver board
 
|caption2=480x280, 3.7inch E-Ink display HAT for Raspberry Pi, SPI interface
 
|category=[[:Category:OLEDs / LCDs|OLEDs / LCDs]], [[:Category:LCD|LCD]] [[:Category:Display|e-Paper]]
 
|brand=Waveshare
 
|{{#urlget:amazon|default}}=display
 
|website_cn=[http://www.waveshare.net/shop/3.7inch-e-paper-hat.htm 官方中文站点]
 
|website_en=[http://www.waveshare.com/3.7inch-e-paper-hat.htm Waveshare website]
 
|interface1=SPI
 
|related=
 
{{Product List|OLEDs / LCDs/e-Paper}}
 
}}
 
 
 
== Introduction ==
 
 
 
'''Note:''' The raw panel requires a driver board, If you are the first time use this e-Paper, we recommend you to buy the HAT version or buy more one driver hat for easy use, otherwise you need to make the driver board yourself. And this instruction is based on the HAT version.
 
 
 
480x280, 3.7inch E-Ink display HAT for Raspberry Pi, SPI interface
 
 
 
{{Amazon|{{#urlget:amazon|default}}=display
 
|More = [http://www.waveshare.com/3.7inch-e-paper-hat.htm More]}}
 
 
 
= 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 (Low for busy)
 
|}
 
==SPI timing==
 
----
 
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|400px]]
 
 
 
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 the 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.
 
SPI communication has data transfer timing, which is combined with 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 data is collected at the first clock edge or at the second clock edge of the 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. Here, SPI0 is in used, and data is transferred by bits, MSB first.
 
 
 
==Working protocoal==
 
===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 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 />
 
*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
 
:* Deep Grey: 10b
 
:* Light Grey: 01b
 
:* White: 11b
 
{|class="wikitable" style="text-align:center; width:700px"
 
|-
 
|'''Pixel'''
 
|colspan=2|1
 
|colspan=2|2
 
|colspan=2|3
 
|colspan=2|4
 
|colspan=2|5
 
|colspan=2|6
 
|colspan=2|7
 
|colspan=2|8
 
|-
 
|'''Bit'''
 
|7
 
|6
 
|5
 
|4
 
|3
 
|2
 
|1
 
|0
 
|7
 
|6
 
|5
 
|4
 
|3
 
|2
 
|1
 
|0
 
|-
 
|'''Data'''
 
|0
 
|0
 
|0
 
|0
 
|1
 
|0
 
|1
 
|0
 
|0
 
|1
 
|0
 
|1
 
|1
 
|1
 
|1
 
|1
 
|-
 
|'''Color'''
 
|colspan=2|Black
 
|colspan=2|Black
 
|colspan=2|Deep Grey
 
|colspan=2|Deep Grey
 
|colspan=2|Light Grey
 
|colspan=2|Light Grey
 
|colspan=2|White
 
|colspan=2|White
 
|-
 
|'''Byte'''
 
|colspan=8|0x0A
 
|colspan=8|0x5F
 
|}
 
  
 +
<div style="background-color: #343434;text-align: center;color: white;padding: 20px;margin: 8px;">
 +
=3.7inch e-Paper HAT Manual=
 
</div>
 
</div>
<div class="tabbertab" title="User Guides of Pi">
+
<p></p>
 +
{{ContentGrid|grid-gap=25px
 +
|content =
 +
{{StudyCard
 +
|img=[[File:E-Paper_Introduction_4.jpg|121px|link=https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#Introduction]]
 +
|heading = Introduction
 +
|content = Parameters, principles, and precautions
 +
}}
 +
{{StudyCard
 +
|img=[[File:Rapberry Pi.jpg|121px|link=https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#Working_With_Raspberry_Pi]]
 +
|heading = Working with Raspberry Pi
 +
|content = User guides for the development demo of C language, Python
 +
}}
 +
{{StudyCard
 +
|img=[[File:Arduino00.jpg|121px|link=https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#Working_With_Arduino]]
 +
|heading = Working with the Arduino
 +
|content = User guides for the development demo based on Arduino UNO R3
 +
}}
 +
{{StudyCard
 +
|img=[[File:Jetson Arduino00.jpg|121px|link=https://www.waveshare.com/wiki/3.7inch_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
 +
}}
 +
{{StudyCard
 +
|img=[[File:Sunrise X3 Pi.jpg|121px|link=https://www.waveshare.com/wiki/3.7inch_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
 +
}}
 +
{{StudyCard
 +
|img=[[File:STM321.jpg|121px|link=https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#Working_With_STM32]]
 +
|heading = Working with the STM32
 +
|content = User guides for the development demo based on STM32CubeMX
 +
}}
 +
{{StudyCard|img=[[File:E-Paper_ESP32.jpg|110px|link=https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#ESP32.2F8266]]
 +
|heading = Working with ESP32/8266
 +
|content = User guides for ESP32/8266}}
  
We provide several examples for testing, you can 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:Resource0.jpg|121px|link=https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#Resources]]
</div>
+
|heading = Resources
<div class="tabbertab" title="User Guides of Jetson Nano">
+
|content = Documentation, procedures and data sheets, etc
{{Jetson Nano Guides for SPI e-Paper}}
+
}}
</div>
+
{{StudyCard
<div class="tabbertab" title="User Guides of STM32">
+
|img=[[File:FAQ01.jpg|121px|link=https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#FAQ]]
{{STM32 Guides for SPI e-Paper}}
+
|heading = FAQ
</div>
+
|content = e-Paper frequently asked questions
<div class="tabbertab" title="User Guides of Arduino">
+
}}
{{Arduino Guides for SPI e-Paper}}
+
{{StudyCard
</div>
+
|img=[[File:support00.jpg|121px|link=https://www.waveshare.com/wiki/3.7inch_e-Paper_HAT_Manual#Support]]
<div class="tabbertab" title="User Guides of ESP32">
+
|heading = Support
{{ESP32 Guides for SPI e-Paper}}
+
|content = Technical support
</div>
+
}}
<div class="tabbertab" title="User Guides of ESP8266">
+
}}
{{ESP8266 Guides for SPI e-Paper}}
 
</div>
 
<div class="tabbertab" title="Resources">
 
 
 
== Resources ==
 
=== Documentation ===
 
{{Commom Instruction of SPI e-paper}}
 
 
 
*[https://www.waveshare.com/w/upload/8/87/E-Paper-Driver-HAT-Schematic.pdf Driver board Schematic]
 
*[https://www.waveshare.com/w/upload/2/27/7inch_HD_e-Paper_Specification.pdf 7.5inch HD e-Paper Specification]
 
===Demo code===
 
*[https://github.com/waveshare/e-Paper Github]
 
 
 
===Related Resources===
 
This is a post in Arduino Form about our SPI e-Paper thanks to ZinggJM, maybe you want to refer to it.
 
*[https://forum.arduino.cc/index.php?topic=487007.0 Waveshare e-Paper display with SPI]
 
 
 
=== Related applications (shared by user)===
 
*[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 ==
 
<!--{{e-Paper FAQ}}-->
 
{{e-Paper FAQ}}
 
</div>
 
<div class="tabbertab" title="Support">
 
==Support==
 
{{Service00}}
 
</div>
 
</div>
 

Latest revision as of 06:20, 24 March 2023


3.7inch 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