1.02inch e-Paper Module Manual
| ||
| ||
Overview
Parameters
Dimension | 1.02inch |
Driver Board Dimensions | 42mm × 27mm |
Display Dimensions | 21.76mm × 14mm |
Outline Dimensions (screen only) | 32.6mm × 18.6mm × 0.98mm |
Operating Dimensions | 3.3V / 5V (5V is required for power supply and signal) |
Communication Interface | SPI |
Dot Pitch | 0.175mm × 0.17mm |
Resolution | 128 × 80 |
Display Color | Black, white |
Grey Scale | 2 |
Refresh Time | 2s |
Partial Refresh Time | 0.3s |
Refresh Power | 26.4mW(typ.) |
Standby Power | <=0.017mW (almost none) |
- 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.
- 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
- CSB (CS): Slave chip select, when CS is low, the chip is enabled.
- SCL (SCK/SCLK): UART clock signal.
- D/C (DC): Data/command control pin, writes commands at a low level; writes data/parameter at a high level.
- SDA (DIN): Serial data signal.
- Timing: CPHL=0, CPOL=0 (SPI0)
【Remarks】For more information about SPI, you can search for information online.
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.
Program Principle
We define the pixels in a monochrome picture, 0 is black and 1 is white.
White:□: Bit 1
Black:■: Bit 0
- 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
- 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:
For the computer, the data is saved in MSB format:
So we can use two bytes for 16 pixels.
Precautions
- For E-paper displays that support partial refresh, please note that you cannot refresh them with the partial refresh mode all the time. After refreshing partially several times, you need to fully refresh EPD once. Otherwise, the display effect will be abnormal, which cannot be repaired!
- 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 it. Otherwise, the screen will remain in a high voltage state for a long time, which will damage the e-Paper and cannot be repaired!
- When using the e-Paper display, it is recommended that the refresh interval is at least 180s, and refresh at least once every 24 hours. If the e-Paper is not used for a long time, you should use the program to clear the screen before storing it. (Refer to the datasheet for specific storage environment requirements.)
- After the screen enters sleep mode, the sent image data will be ignored, and it can be refreshed normally only after initializing again.
- Control the 0x3C or 0x50 (refer to the datasheet for details) register to adjust the border color. In the demo, you can adjust the Border Waveform Control register or VCOM AND DATA INTERVAL SETTING to set the border.
- 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.
- The working voltage of the e-Paper display 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. The old version only supports 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.)
- The FPC cable of the screen is fragile, Please note: Do not bend the cable along the vertical direction of the screen to avoid tearing the cable; Do not repeatedly excessive bending line, to avoid line fracture; Do not bend the cable toward the front of the screen to prevent the cable from being disconnected from the panel. It is recommended to use fixed wiring during debugging and development.
- The screen of e-Paper is relatively fragile, please try to avoid dropping, bumping, and pressing hard.
- We recommend that customers use the sample program provided by us to test with the corresponding development board.
Working With Raspberry Pi
Provide BCM2835, WiringPi, file IO, RPI (Python) library demos.
Hardware connection
When connecting the Raspberry Pi, if the driver board has a 40pin header, you can directly plug it into the 40PIN header of the Raspberry Pi, and pay attention to the pins. If you choose to connect with an 8PIN cable, please refer to the pin correspondence table below.
For the 1.02inch e-paper Module, the pin header is used, and the wiring needs to be connected according to the following table:
e-Paper | Raspberry Pi | |
BCM2835 encoding | Board physical pin number | |
VCC | 3.3V | 3.3V |
GND | GND | GND |
DIN | MOSI | 19 |
CLK | SCLK | 23 |
CS | CE0 | 24 |
DC | 25 | 22 |
RST | 17 | 11 |
BUSY | 24 | 18 |
Take the 7.5inch HD e-Paper (B) connected to the e-paper Driver HAT as an example, just plug it directly into the Raspberry Pi:
Enable SPI Interface
- Open the Raspberry Pi terminal and enter the following command in the config interface:
sudo raspi-config Choose Interfacing Options -> SPI -> Yes Enable the SPI interface
Then reboot your Raspberry Pi:
sudo reboot
- Check /boot/config.txt, and you can see 'dtparam=spi=on' was written in.
To make sure SPI is not occupied, it is recommended to close other drivers' coverage. You can use ls /dev/spi to check whether SPI is occupied. If the terminal outputs /dev/spidev0.1 and /dev/spidev0.1, SPI is not occupied.
Install Library
- Install lg library:
#Open the Raspberry Pi terminal and run the following commands: wget https://github.com/joan2937/lg/archive/master.zip unzip master.zip cd lg-master make sudo make install #For more details, you can refer to: https://github.com/gpiozero/lg
- Install gpiod library (Optional):
#Open the Raspberry Pi terminal and run the following commands: sudo apt-get update sudo apt install gpiod libgpiod-dev
- Install BCM2835
#Open the Raspberry Pi terminal and run the following command wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo ./configure && sudo make && sudo make check && sudo make install For more information, please refer to the official website: http://www.airspayce.com/mikem/bcm2835/
- Install WiringPi
#Open the Raspberry Pi terminal and run the following command: sudo apt-get install wiringpi #For Raspberry Pi systems after May 2019 (Earlier than the previous can not be implemented), an upgrade may be required to: wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v #Running gpio -v will bring up version 2.52, if it doesn't, it means there was an installation error. #The Bullseye branch system uses the following command: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v Run gpio -v and version 2.60 will appear, if it does not appear, it means there is an installation error
- Download program (already downloaded can be skipped):
wget https://files.waveshare.com/upload/7/71/E-Paper_code.zip unzip E-Paper_code.zip -d e-Paper cd e-Paper/RaspberryPi_JetsonNano/
- Downloading the program via GitHub (alternate method, you can skip it if you've already downloaded it).
Access to GitHub is not very smooth at the moment, so we recommend downloading from our website using the method above.
git clone https://github.com/waveshare/e-Paper.git cd e-Paper/RaspberryPi_JetsonNano/
Compile the program (Note: -j4 is compiled using 4 threads, the number can be modified; EPD=epd1in02d is to specify a macro definition, epd1in02d corresponds to the test program in the main function).
At this point in the e-Paper/RaspberryPi_JetsonNano cd c sudo make clean sudo make -j4 EPD=epd1in02d
- Run the demo:
sudo ./epd
Run Python Library
- Install Python Library:
sudo apt-get update sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi.GPIO sudo pip3 install spidev
- Install the function library (Python2)
sudo apt-get update sudo apt-get install python-pip sudo apt-get install python-pil sudo apt-get install python-numpy sudo pip install RPi.GPIO sudo pip install spidev
- Install gpiozero library (it is installed in the system by default, if not, you can install it by following the commands below):
sudo apt-get update # python3 sudo apt install python3-gpiozero # python2 sudo apt install python-gpiozero
- Download the demo: (already downloaded can be skipped):
wget https://files.waveshare.com/upload/7/71/E-Paper_code.zip unzip E-Paper_code.zip -d e-Paper cd e-Paper/RaspberryPi_JetsonNano/
- Downloading the program via GitHub (alternate method, you can skip it if you've already downloaded it).
Access to GitHub is not very smooth at the moment, so we recommend downloading from our website using the method above.
git clone https://github.com/waveshare/e-Paper.git cd e-Paper/RaspberryPi_JetsonNano/
- Run the program:
Make sure in the e-Paper/RaspberryPi_JetsonNano/ cd python/examples/ python3 epd_1in02_test.py
Arduino
Hardware Connection
To connect using the 8PIN cable, please refer to the following pinout table:
e-Paper | Arduino UNO | Mega2560 |
VCC | 5V | 5V |
GND | GND | GND |
DIN | D11 | D51 |
CLK | D13 | D52 |
CS | D10 | D10 |
DC | D9 | D9 |
RST | D8 | D8 |
BUSY | D7 | D7 |
Install IDE
Run the Demo
- Download the demo in Resource, unzip it to the "E-Paper_code" directory, and you can see the following content:
- Open the test demo: E-Paper_code\Arduino\epd1in54_V2\epd1in54_V2.ino
- Select the corresponding Board and Port in the Tools in the Arduino IDE.
- Finally, click upload, the upload is successful as follows (Arduino 1.8.13).
User Guides of Jetson Nano
Hardware connection
- Because the 40PIN GPIO of Jetson Nano is compatible with Raspberry Pi's and the Jetson.GPIO libraries are compatible with RPi.GPIO, therefore we use the same connection as Raspberry Pi.
- To connect the e-Paper, you can follow the table below.
e-Paper | Jetson Nano Developer Kit | |
BCM2835 | Board | |
VCC | 3.3V | 3.3V |
GND | GND | GND |
DIN | 10 (SPI0_MOSI) | 19 |
CLK | 11 (SPI0_SCK) | 23 |
CS | 8 (SPI0_CS0) | 24 |
DC | 25 | 22 |
RST | 17 | 11 |
BUSY | 24 | 18 |
Install C Program
- Download the test demo (Downloaded and can be skipped):
wget https://files.waveshare.com/upload/7/71/E-Paper_code.zip unzip E-Paper_code.zip -d e-Paper cd e-Paper/RaspberryPi_JetsonNano/
- Downloading the program via GitHub (alternate method, you can skip it if you've already downloaded it).
Access to GitHub is not very smooth at the moment, so we recommend downloading from our website using the method above.
git clone https://github.com/waveshare/e-Paper.git cd e-Paper/RaspberryPi_JetsonNano/
- Compile the program (Note: JETSON is a specified device for jetson nano, do not specify the default for the Raspberry Pi; -j4 to use 4 threads compile, the number can be modified; EPD = epd1in02d to specify a macro definition, epd1in02d corresponds to the test program in the main function.)
# At this point in the e-Paper/RaspberryPi_JetsonNano cd c sudo make clean sudo make JETSON -j4 EPD=epd1in02d
- Run the demo:
sudo ./epd
Run Python Library
- Install Python Library:
sudo apt-get update sudo apt-get install python3-numpy sudo apt-get install python3-pip sudo pip3 install Jetson.GPIO
- Download the test demo (Downloaded and can be skipped):
wget https://files.waveshare.com/upload/7/71/E-Paper_code.zip unzip E-Paper_code.zip -d e-Paper cd e-Paper/RaspberryPi_JetsonNano/
- Downloading the program via GitHub (alternate method, you can skip it if you've already downloaded it).
Access to GitHub is not very smooth at the moment, so we recommend downloading from our website using the method above.
git clone https://github.com/waveshare/e-Paper.git cd e-Paper/RaspberryPi_JetsonNano/
- Run the program:
# Make sure in the e-Paper/RaspberryPi_JetsonNano/ cd python/examples/ python3 epd_1in02_test.py
Sunrise X3 Pi
Hardware Connection
When connecting the Sunrise X3 Pi, you can plug the board directly into the 40PIN pins of the Sunrise X3 Pi, taking care to align the pins properly. If you choose to use the 8PIN cable, please refer to the following pinout table:
e-Paper | Sunrise X3 Pi | |
BCM | Board No. | |
VCC | 3.3V | 3.3V |
GND | GND | GND |
DIN | MOSI | 19 |
CLK | SCLK | 23 |
CS | CE0 | 24 |
DC | 25 | 22 |
RST | 17 | 11 |
BUSY | 24 | 18 |
Enable SPI
- SPI is enabled by default, if you accidentally turn it off, please follow this method to turn it on.
- Enter the command: sudo srpi-config
Run python Program
- The corresponding library is already installed in the function, if you uninstall it accidentally, please use the following command to install it:
sudo apt-get update sudo apt-get install python-pip sudo apt-get install python-pil sudo apt-get install python-numpy sudo pip install Hobot.GPIO sudo pip install spidev
- Download the program (already downloaded can be skipped).
wget https://files.waveshare.com/upload/7/71/E-Paper_code.zip unzip E-Paper_code.zip -d e-Paper cd e-Paper/RaspberryPi_JetsonNano/
- Download the program via GitHub (alternate method, you can skip it if you've already downloaded it)
Access to GitHub is not very smooth at the moment, so we recommend using the method above to download it from our website.
git clone https://github.com/waveshare/e-Paper.git cd e-Paper/RaspberryPi_JetsonNano/
- Run the program
#Make sure in the e-Paper/RaspberryPi_JetsonNano/ cd python/examples/ python3 epd_1in02_test.py
STM32
Hardware Connection
Connect with the 8PIN cable, please refer to the following pinout table:
e-Paper | STM32 |
VCC | 3.3V |
GND | GND |
DIN | PA7 |
CLK | PA5 |
CS | PA4 |
DC | PA2 |
RST | PA1 |
BUSY | PA3 |
Run the Program
- Click to download the program, then unzip it into the E-Paper_code directory and you will see the following content.
- Use Keil to open the "epd-demo.uvprojx" in the directory of "E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM".
- Open Keil's compile toolbar (which is usually already open)
- Select the EPD_1in02d_test target at the location shown in the picture.
- Click to compile:
- Make sure the appropriate burner is connected, then click LOAD to download the program to the microcontroller:
Resources
Documentation
Demo code
Datasheets
Software
Related Link
Related Resources
This is a post in Arduino Form about our SPI e-Paper thanks to ZinggJM, maybe you want to refer to.
Related applications
FAQ
Question about Software
- Enter the command: ls /dev/spi*
- The result may appear as shown in the figure.
- This is because the SPI interface is occupied in the /boot/config.txt file.
{{{5}}}
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.
{{{5}}}
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).
{{{5}}}
The process of re-awakening the e-Paper screen is the process of re-powering. Therefore, when the EPD wakes up, the screen must be cleared first, to avoid the afterimage phenomenon to the greatest extent.
{{{5}}}
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).
{{{5}}}
The full refresh initialization function needs to be added when the e-Paper screen is switched from partial refresh to full refresh.
{{{5}}}
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.
{{{5}}}
Install the imaging library using the command sudo apt-get install python-imaging
{{{5}}}
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.
{{{5}}}
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.
{{{5}}}
The border display color can be set through the Border Waveform Control register or the VCOM AND DATA INTERVAL SETTING register.
{{{5}}}
The process of re-awakening the e-paper screen is the process of supplying the power again. Therefore, when the EPD wakes up, it must first clear the screen, so as to avoid the afterimage phenomenon to the greatest extent.
{{{5}}}
Question about Hardware
Yes, now there is a level conversion chip onboard, supporting a 5V drive.
{{{5}}}
- The rated input voltage of the e-paper 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 e-paper screen.
- Device selection can use the model in the schematic diagram we provide or choose according to the data sheet.
{{{5}}}
Yes, pay attention to the correct timing.
{{{5}}}
- 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.
{{{5}}}
- 1.64inch, 2.36inch, 3inch, 0.5mm pitch, 26Pin.
- 1.02inch, 0.5mm pitch, 30Pin.
- 4.37inch, 7.3inch, 0.5mm pitch, 50Pin.
- The rest (non-parallel ports) are 0.5mm pitch, 24Pin.
{{{5}}}
Cable socket 0.5-24pin rear-flip 2.0H (FPC connector).
{{{5}}}
Question about Screen
- 【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.
{{{5}}}
- Refresh mode
- Full refresh: The e-paper 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.
- Partial refresh: The e-paper screen has no flickering effect during the refresh process. Users who use the partial brushing function note that after refreshing several times, a full refresh 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-paper screens support partial refreshing, please refer to product page description).
- Refresh rate
- During use, it is recommended that customers set the refresh interval of the e-paper screen to at least 180 seconds (except for 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-paper screen to sleep mode, or power off (the power supply part of the e-paper screen can be disconnected with an analog switch) to reduce power consumption and prolong the life of the e-paper screen. (If some e-paper screens are powered on for a long time, the screen will be damaged beyond repair.)
- During the use of the three-color e-paper 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).
- Full refresh: The e-paper 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.
- Application
- The e-paper screen is recommended for indoor use. If it is used outdoors, it is necessary to avoid direct sunlight on the e-paper 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-paper screen products, customers should pay attention to determining whether the use environment meets the requirements of an e-paper screen.
- The e-paper screen is recommended for indoor use. If it is used outdoors, it is necessary to avoid direct sunlight on the e-paper 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-paper screen products, customers should pay attention to determining whether the use environment meets the requirements of an e-paper screen.
{{{5}}}
Ideally, with normal use, it can be refreshed 1,000,000 times (1 million times).
{{{5}}}
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.
{{{5}}}
Yes, but you need to re-initialize the electronic paper with software.
{{{5}}}
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.
{{{5}}}
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-paper 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 manufacturer of the 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 called external waveform files to drive the e-paper screen.
{{{5}}}
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.
{{{5}}}
- There are mainly two types of ink screens.
- One is to refresh the background image first.
- The other is to alternately refresh old data and new data.
- One is to refresh the background image first.
{{{5}}}
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.
{{{5}}}
with film.
{{{5}}}
At present, all screens have built-in temperature sensors, and you can also use an external LM75 temperature sensor with IIC pins.
{{{5}}}
The pitch of the 8-pin connectors on the E-Ink display hats is 0.1 inch (2.54 mm).
{{{5}}}
Support
Technical Support
If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 AM GMT+8 (Monday to Friday)