Difference between revisions of "E-Paper Driver HAT"

From Waveshare Wiki
Jump to: navigation, search
Line 12: Line 12:
 
}}
 
}}
 
==Introduction==
 
==Introduction==
==Feature==
+
===Feature===
 
Based on Raspberry Pi 40pin GPIO interface, E-Paper Driver HAT is suitable for Raspberry Pi series core boards. Jetson Nano lead out SPI control interface, can be connected to Raspberry/Arduino/Nucleo and other onboard level conversion chips on main control boards, compatible with 3.3V and 5V microcontroller interfaces Provide information manual (Raspberry/Jetson Nano/Arduino/STM32 and other sample demo)
 
Based on Raspberry Pi 40pin GPIO interface, E-Paper Driver HAT is suitable for Raspberry Pi series core boards. Jetson Nano lead out SPI control interface, can be connected to Raspberry/Arduino/Nucleo and other onboard level conversion chips on main control boards, compatible with 3.3V and 5V microcontroller interfaces Provide information manual (Raspberry/Jetson Nano/Arduino/STM32 and other sample demo)
  

Revision as of 08:20, 19 May 2022

E-Paper Driver HAT
E-paper-driver-hat-1.jpg

Universal e-Paper Driver HAT, supports various Waveshare SPI e-Paper raw panels
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Introduction

Feature

Based on Raspberry Pi 40pin GPIO interface, E-Paper Driver HAT is suitable for Raspberry Pi series core boards. Jetson Nano lead out SPI control interface, can be connected to Raspberry/Arduino/Nucleo and other onboard level conversion chips on main control boards, compatible with 3.3V and 5V microcontroller interfaces Provide information manual (Raspberry/Jetson Nano/Arduino/STM32 and other sample demo)

Parameter

  • Operating voltage: 3.3V/5V
  • Communication interface: 3-wire SPI, 4-wire SPI
  • Outline dimension: 65mm x 30.2mm
  • Fixed hole diameter: 3.0mm

Switch settings

There are two switches on the front panel of Drive HAT: Display Config and Interface Config.
E-paper-driver-hat-switch.jpg

Display Config Switch

The Display Config switch on e-Paper Driver HAT is made for being compatible with various SPI interface e-Paper panels from Waveshare. This switch has A and B sides. For connecting to different e-Paper raw panels, you can set the Display Config switch refer to the table below:

Switch to B Switch to A
1.54inch e-Paper (B) 1.54inch e-Paper
2.13inch e-Paper (B) 2.13inch e-Paper
2.7inch e-Paper 2.9inch e-Paper
2.7inch e-Paper (B)
2.9inch e-Paper (B)
4.2inch e-Paper
4.2inch e-Paper (B)
7.5inch e-Paper
7.5inch e-Paper (B)

Interface Config Switch

With Interface Config, you can change the SPI interface of e-Paper to 3-lin SPI or 4-line SPI

Switch to 0 Switch to 1
4-line SPI 3-line SPI

Note: Examples we provide use 4-line SPI by default

Example for 7.5inch e-Paper Switch Settings

Connecting the e-Paper Driver HAT to 7.5inch e-Paper, we must switch the Display Config to B according to the Display Config table above, and set the Interface Config to 0 to make the e-Paper work on 4-line SPI mode.
E-paper-driver-hat-switch-example.jpg

How to use

Working with Raspberry Pi

Installing libraries required

If you want to connect your E-paper screen to Raspberry Pi, you should install some necessary libraries, or else the Demo below may work improperly. For more information about how to install the Raspberry Pi libraries, please visit the website: Libraries Installation for RPi, where you can find the detailed presentation about the installations of libraries wiringPi, bcm2835 and python.

Hardware connection

Here is the connection between Raspberry Pi 3B and E-paper (BCM).

e-Paper Raspberry Pi 3B
3.3V 3.3V
GND GND
DIN MOSI
CLK SCLK
CS CE0
DC 25 (BCM)
RST 17 (BCM)
BUSY 24 (BCM)

Expected result

1) After the corresponding libraries installed, you can copy the relative programs into your Raspberry Pi, and then enter the corresponding file.

  • BCM2835: Execute the command: make, to compile the code and generate a file epd. Execute the command: sudo ./epd, the program will run.
  • WringPi: Execute the command: make, to compile the code and generate a file epd. Execute the command: sudo ./epd, the program will run.
  • Python: Execute the command: sudo python main.py

2) Image will be displayed on the screen.

  • Note:The refresh rate of this module is slow, and it will flicker for several times during refreshing. Please be patient.

Working with Arduino

Hardware connection

e-Paper Arduino UNO
3.3V 3V3
GND GND
DIN D11
CLK D13
CS D10
DC D9
RST D8
BUSY D7

Expected result

  1. Copy the libraries file of Arduino demo code to the libraries folder which is under the installation directory of Arduino IDE, it usually is C:\users\username\documents\arduino\libraries. You can also designate the location on Arduino IDE--> File -->Preferences -->Sketchbook location
  2. Upload the project.
  3. E-paper will display the image.

Note:

  • The refresh rate of this module is slow, and it will flicker for several times during refreshing. Please be patient.

Working with the STM32 development board

  • Here we use STM32F103ZE development board or NUCLEO-F103RB. (The demo code of 1.54inch/2.13inch/2.9inch e-Paper are based on NUCLEO-F103RB,

Others are based on STM32F103ZE)

  • The demo code is based on HAL, so you can port the demo code to other STM boards with STM32CubeMX.
  • The demo code can be compiled successfully in Keil v5

Hardware connection

Connecting to the STM32F103ZE:

e-Paper STM32F103ZE
3.3V 3V3
GND GND
DIN PA7 (MOSI)
CLK PA5 (SCK)
CS PA4
DC PA2
RST PA1
BUSY PA3

Connecting to the NUCLEO-F103RB:

e-Paper NUCLEO-F103RB
3.3V 3V3
GND GND
DIN PA7
CLK PA5
CS PB6
DC PC7
RST PA9
BUSY PA8

Expected result

  1. Open the project (epd-demo.uvprojx), which is under the MDK-ARM directory.
  2. Click Build to compile the project.
  3. Click Download to load the code to your board.
  • Reset, the screen will display image.
    Note: The refresh rate of this module is slow, and it will flicker for several times during refreshing. Please be patient.

Resources

Documentation

Related Resources

e-Paper

FAQ

Question about Software

 Answer:
*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.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
*Install the imaging library using the command sudo apt-get install python-imaging
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
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.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
The Chinese character library of our demos uses GB2312 encoding method, please change your xxx_test.c file to GB2312 encoding format, compile and download it, and it will display normally
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
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.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
The border display color can be set through the Border Waveform Control register or the VCOM AND DATA INTERVAL SETTING register.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
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).
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
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.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
*It may be caused by the unsuccessful spi driver.

1. First check whether the wiring is correct.
2. Check whether the spi is turned on and whether the parameters are configured correctly (spi baud rate, spi mode and other parameters).

{{{3}}}
{{{4}}}

{{{5}}}


Question about Hardware

 Answer:
Yes, now there is a level conversion chip onboard, supporting 3.3V drive.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
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.

Device selection can use the model in the schematic diagram we provide or choose according to the data sheet.

{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Yes, pay attention to the correct timing.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Check if SPI communication is normal.

Confirm whether the BUSY pin is normally initialized to input mode.
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.

{{{3}}}
{{{4}}}

{{{5}}}


Question about Screen

 Answer:
*【Working conditions】Temperature range: 0~50°C; Humidity range: 35%~65%RH.
  • 【Storage conditions】: Temperature range: below 30°C; Humidity range: below 55%RH; Maximum storage time: 6 months.
  • 【Transportation conditions】: Temperature range: -25~70°C; Maximum transportation time: 10 days.
  • 【After unpacking】: Temperature range: 20°C±5°C; Humidity range: 50±5%RH; Maximum storage time: Assemble within 72 hours.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
*refresh mode
    • Full brush: The electronic ink screen will flicker several times during the refresh process (the number of flickers depends on the refresh time), and the flicker is to remove the afterimage to achieve the best display effect.
    • Bureau brush: The electronic ink screen has no flickering effect during the refresh process. Users who use the partial brushing function note that after refreshing several times, a full brush operation should be performed to remove the residual image, otherwise the residual image problem will become more and more serious, or even damage the screen (currently only some black and white e-ink screens support partial brushing, please refer to product page description).
    • refresh rate
    • During use, it is recommended that customers set the refresh interval of the e-ink screen to at least 180 seconds (except products that support the local brush function).
    • During the standby process (that is, after the refresh operation), it is recommended that the customer set the e-ink screen to sleep mode, or power off operation (the power supply part of the ink screen can be disconnected with an analog switch) to reduce power consumption and prolong the life of the e-ink screen. (If some e-ink screens are powered on for a long time, the screen will be damaged beyond repair.)
    • During the use of the three-color e-ink screen, it is recommended that customers update the display screen at least once every 24 hours (if the screen remains the same screen for a long time, the screen burn will be difficult to repair).
  • Application
    • The e-ink screen is recommended for indoor use. If it is used outdoors, it is necessary to avoid direct sunlight on the e-ink screen, and at the same time, take UV protection measures, because charged particles will dry out under strong light for a long time, resulting in loss of activity and failure to refresh. This situation is irreversible. When designing e-ink screen products, customers should pay attention to determining whether the use environment meets the requirements of e-ink screen.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Ideally, with normal use, it can be refreshed 1,000,000 times (1 million times).
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Power on the development board for a long time, after each refresh operation, it is recommended to set the screen to sleep mode or directly power off processing, otherwise the screen may burn out when the screen is in a high voltage state for a long time.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Yes, but you need to re-initialize the electronic paper with software.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Maybe the SPI rate is too high, resulting in data loss, try to reduce the SPI rate.

Insufficient or unstable power supply leads to data loss.
The data cable is too long to cause data loss, the extension cable should not exceed 20cm.

{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
The display gray scale of electrophoretic electronic paper is determined by the spatial position of the particles in the microcapsule or microcup. The electrophoresis phenomenon occurs between black particles and white particles under the action of voltage. This voltage sequence that promotes the electrophoretic movement of the particles is the driving force of the electronic paper. waveform. The driving waveform is the core part of the electronic paper display, and the optimization of the driving waveform will directly affect the display effect of the display. The driving waveform file is used to describe the parameters formed by the voltage sequence that promotes the electrophoretic movement of the particles, and it needs to be called regularly when the electronic paper is refreshed.

Different batches of e-paper diaphragms and electrophoretic matrices require different voltage values ​​when driving the display due to materials, manufacturing processes, etc. The waveform of the e-ink screen is reflected in the relationship between grayscale, voltage and temperature. Generally speaking, after each batch of electrophoresis matrix is ​​generated, there will be a corresponding waveform file in the form of a .wbf file. The film manufacturer will provide the waveform file and electrophoresis matrix to the manufacturer of the electronic paper screen, and then the The manufacturer of electronic paper screen integrates the protection board, substrate and driver and then provides it to customers; if the waveform file does not correspond to the screen, it is likely that the display cannot be displayed or the display effect is unsatisfactory. Generally, the waveform file has OTP built into the driver IC of the ink screen when leaving the factory, and some programs we provide also call external waveform files to drive the e-ink screen.

{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
LUT is the abbreviation of LOOK UP TABLE, and OTP is the abbreviation of ONE TIME PROGRAM. The original intention of LUT is to load waveform files, and the waveform files are divided into OTP and REGISTER. Among them, OTP is the built-in waveform storage method, and REGISTER is the external waveform storage method.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
There are mainly two types of ink screens.

One is to brush the background image first.
The other is to alternately refresh old data and new data.

{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Simultaneous brushing in different locations needs to be operated in the program design, that is, first brushing the data of different locations into the electronic paper IC, and finally doing the Update/TurnOnDisplay uniformly.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Yes, when e-Paper is batched, there will be some color difference, which is a normal phenomenon. Store the e-paper faces up to reduce the reddish/yellowishness to a certain extent.
{{{3}}}
{{{4}}}

{{{5}}}


Others

 Answer:
with film.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
0.5mm pitch, 24Pin.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Cable socket 0.5-24pin rear flip type 2.0H (FPC connector).
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
At present, all screens have built-in temperature sensors, and external LM75 temperature sensors can also be used with IIC pins.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
The full brush initialization function needs to be added when the ink screen is switched from partial brush to full brush.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
It may be a demo based on the BCM2835 library that has run the C language before. At this time, you need to restart the Raspberry Pi and then run the python demo.
{{{3}}}
{{{4}}}

{{{5}}}


Support

Support

If you require technical support, please go to the Support page and open a ticket.