2.13inch e-Paper HAT+

From Waveshare Wiki
Jump to: navigation, search
2.13inch e-Paper
Raw display
2.13inch e-Paper HAT.jpg

250×122, Black/White, RPi/SPI
support partial refresh
2.13inch e-Paper HAT+
With driver HAT
2.13inch e-Paper HAT +2.jpg

250×122, Black/White, RPi/SPI
support partial refresh
{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Parameters

Size 2.13inch
Driver Board Size 65mm × 30.5mm
Display Size 48.55mm × 23.71mm
Outline Dimensions (raw display) 59.2mm × 29.2mm × 1.05mm
Operating Voltage 3.3V
Communication Interface SPI
Dot Pitch 0.194mm × 0.194mm
Resolution 250 × 122
Display Color black, white
Grayscale 2
Refresh Time 2s
Partial refresh 0.3s
Quick refresh 1.8s
Refresh Power (raw display) <10.5mW (typ.)
Standby Power (raw display) <0.01mW (typ.)
Operating Temperature 0 ~ 50 ℃
Storage Temperature -25 ~ 70 ℃
  • Refresh time: The refresh time is based on experimental test data, and there may be errors in the actual refresh time. The actual results shall prevail. There will be a flickering effect during the global refresh process, which is a normal phenomenon.
  • Refresh power consumption: The power consumption data is experimental test data, and the actual power consumption may have certain errors due to the presence of the driver board and actual usage. The actual results shall prevail.
  • Refresh at low temperatures may cause a color cast, and it is necessary to stand still at 25°C for 6 hours before refreshing.

Communication Method

4.37inch-e-paper-manual-2.jpg
CSB (CS): Slave chip select signal, active at low level. When it is at low level, the chip is enabled.
SCL (SCK/SCLK): Serial clock signal.
D/C (DC): Data/command control signal, write command (Command) when the level is low; write data (Data/parameter) when the level is high.
SDA (DIN): Serial data signal.
Timing: CPHL=0, CPOL=0, i.e. SPI mode 0.
Note: For specific information about SPI communication, you can search for information online on your own.

Operating Principle

The e-paper used in this product uses "microcapsule electrophoresis display" technology for image display. The basic principle is that charged nanoparticles suspended in a liquid migrate under the action of an electric field. The e-paper display screen displays patterns by reflecting ambient light and does not require a backlight. Under ambient light, the e-paper display screen is clearly visible, with a viewing angle of almost 180°. Therefore, e-paper displays are ideal for reading.

Programming Principle

  • For black and white images, we can define it as 0 if it is black and 1 if it is white, so there is a way to represent colors:
    • White: □ corresponds to 1
    • Black: ■ corresponds to 0
  • A dot is generally called a pixel on the graph, and the color is either 1 or 0, that is, 1 bit can identify the color: 1Pixel = 1bit, then a byte contains 8 pixels.
  • Take 16 pixels as an example. We assume that the first 8 pixels are black and the last 8 pixels are white. Then it can be thought that pixels 1-16 correspond to bits 0 to 15, and 0 means black. 1 means white:

E-paper hardware work 1.png
For the computer, the way it stores data is that the high bits come first and the low bits come last, and each byte only has 8 bits, so there may be a slight change:
E-paper hardware work 2.png
In this way, only 2 bytes are required to represent 16 pixels.

Precautions

  1. The screen supports partial refresh. Please note that when using it, you cannot always use partial refresh to refresh the screen. You need to perform a global refresh of the screen after several partial refreshes. Otherwise, the screen display effect will be abnormal.
  2. Note that the screen cannot be powered on for a long time. When the screen does not refresh, the screen must be set to sleep mode or power off. Otherwise, the screen will remain in a high voltage state for a long time, which will damage the diaphragm and cannot be repaired.
  3. When using the e-paper screen, it is recommended that the refresh interval is at least 180s, and refreshed at least every 24 hours. If the e-paper screen is not used for a long time, it should be whitened and stored. (Refer to the data sheet for specific storage environment requirements)
  4. After the screen enters sleep mode, the image data sent will be ignored, and it can only be refreshed normally after re-initialization.
  5. Control the 0x3C or 0x50 (refer to the data sheet for details) register to adjust the border color. In the example demo, you can adjust the Border Waveform Control register or VCOM AND DATA INERTVAL SETTING to set it.
  6. If you find that the data of the created image is displayed incorrectly on the screen, it is recommended to check whether the image size is set correctly, and try again by changing the width and height settings.
  7. The working voltage requirement for an ink screen is 3.3V. If you purchase a raw display and need to work in a 5V environment when designing the circuit, it is recommended to perform level conversion processing. The new version of the driver board (Rev2.1 and subsequent versions) has added a level processing circuit, which can support both 3.3V and 5V working environments simultaneously. The old version can only support 3.3V working environment. When using it, you can first confirm the version number (which is under the board name).
  8. The FPC cable of the screen is relatively fragile. Please note: do not bend the cable in the vertical direction of the screen to avoid the cable being torn; do not repeatedly bend the cable excessively to avoid the cable breaking; do not bend the cable toward the front of the screen to prevent the cable from being disconnected from the panel. During debugging and R&D, it is recommended to fix the wiring before use.
  9. The ink screen screen is relatively fragile, so be careful to avoid falling, colliding, or pressing hard.
  10. We recommend that customers first use the sample demo we provide and use the corresponding development board to test after getting the screen.


Raspberry Pi

Hardware Connection

When connecting to the Raspberry Pi, you can directly plug the board into the 40PIN pin header of the Raspberry Pi, and be careful to align the pins.

Enable SPI Interface

  • Open the Raspberry Pi terminal and enter the following command to enter the configuration interface:
sudo raspi-config
Select Interfacing Options -> SPI -> Yes to enable the SPI interface

RPI open spi.png

  • Restart Raspberry Pi:
sudo reboot
  • Check /boot/config.txt and you can see that 'dtparam=spi=on' has been written to

RPI open spi 1.jpg

  • To ensure that SPI is not occupied, it is recommended that other driver overlays be temporarily turned off. You can use ls /dev/spi* to check the SPI occupancy. The terminal output /dev/spidev0.0 and /dev/spidev0.1 indicates that the SPI situation is normal

RPI open spi 2.jpg

Enable I2C Interface

  • Open the Raspberry Pi terminal and input the following command to enter the configuration interface:
sudo raspi-config 
Select Interacting Options ->I2C ->yes to start the I2C kernel driver

RPI open i2c.png
Then restart Raspberry Pi:

sudo reboot

Install C 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 information, please refer to the source code: 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 (optional)
#Open the Raspberry Pi terminal and run the following commands:
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 (optional)
#Open the Raspberry Pi terminal and run the following commands:
sudo apt-get install wiringpi
#For Raspberry Pi systems after May 2019 (those earlier may not require execution), an upgrade may be necessary:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# Run gpio -v and version 2.52 will appear. If it does not appear, there is an installation error.

#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, there is an installation error.

Install Python Library

  • Install function library
sudo apt-get update
sudo apt-get install python3-pip
sudo apt-get install python3-pil
sudo apt-get install python3-numpy
sudo apt-get install python3-smbus
sudo pip3 install spidev
  • Install 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 apt-get install python-smbus
sudo pip install spidev
  • Install gpiozero library (the system has installed it by default, if it is not installed, please follow the following command to install it)
sudo apt-get update
# python3
sudo apt install python3-gpiozero
# python2
sudo apt install python-gpiozero

e-Paper

Run C Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/common/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Alternate decompression method
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Download the demo via GitHub (alternative method, skip if already downloaded)

Currently, accessing GitHub is not very smooth. It is recommended to use the above method to download from our official website.

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/RaspberryPi_JetsonNano/
  • Compiler demo (Note: -j4 means using 4 threads for compilation, the number can be modified by yourself; EPD=epd2in13V4 designates a macro definition, where epd2in13V4 corresponds to the test demo in the main function)
# It is now in e-Paper/RaspberryPi_JetsonNano position
cd c
sudo make clean
sudo make -j4 EPD=epd2in13V4
  • Run the demo
sudo ./epd

Run Python Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/common/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Alternate decompression method
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Download the demo via GitHub (alternative method, skip if already downloaded)

Currently, accessing GitHub is not very smooth. It is recommended to use the above method to download from our official website.

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/RaspberryPi_JetsonNano/
  • Run the demo
# Make sure it is in e-Paper/RaspberryPi_JetsonNano/ position
cd python/examples/
python3 epd_2in13_V4_test.py

RTC

Run C Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/2.13inch_e-Paper_HAT%2B/2in13_e-Paper-RTC.zip
unzip 2in13_e-Paper-RTC.zip -d 2in13_e-Paper-RTC
cd 2in13_e-Paper-RTC/Raspberrypi/
  • Compiler demo (Note: -j4 means using 4 threads for compilation, the number can be modified by yourself)
# It is now in 2in13_e-Paper-RTC/Raspberrypi/ position
cd c
make clean
make -j4
  • Run the demo
# Note: The kernel driver code set in config.txt needs to be commented out at runtime, otherwise the output data may be incorrect
sudo ./main

Run Python Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/2.13inch_e-Paper_HAT%2B/2in13_e-Paper-RTC.zip
unzip 2in13_e-Paper-RTC.zip -d 2in13_e-Paper-RTC
cd 2in13_e-Paper-RTC/Raspberrypi/
  • Run the demo
 # It is now in 2in13_e-Paper-RTC/Raspberrypi/ position
 # Note: The kernel driver code set in config.txt needs to be commented out at runtime, otherwise the output data may be incorrect
 cd python
 # Set the RTC time and loop to display time, date, and temperature
 sudo python main.py
 # Sync the RTC time to the system, only for systems that are not connected to the internet
 sudo python Set_system_time.py

Add Kernel Driver

Note that with this method, you can't use the demo above
Add at the end of /boot/config.txt

dtoverlay=i2c-rtc,ds3231

Hwclock

Synchronize system clock -> hardware clock.

sudo hwclock -w

Synchronize hardware clock -> system clock.

sudo hwclock  -s
 #Need to turn off the network, or disable network time synchronization, otherwise it will be changed back

Set the hardware clock time:

sudo hwclock --set --date="9/8/2021 16:45:05"

View the hardware clock.

sudo hwclock -r

Show version information.

sudo hwclock --verbose

Jetson Nano

Hardware Connection

The 40PIN pin of Jetson Nano is compatible with the 40PIN pin of Raspberry Pi, and it provides a Jetson.GPIO library that is consistent with the API of RPI.GPIO library of Raspberry Pi, so the serial number connected here is the same as that of Raspberry Pi. When using the 40PIN interface, you can directly insert the module into the 40Pin header of the Jetson Nano.

Install Python Library

  • Install function library
sudo apt-get update
sudo apt-get install python3-numpy
sudo apt-get install python3-pip
sudo pip3 install Jetson.GPIO
sudo pip3 install smbus

e-Paper

Run C Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/common/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Alternate decompression method
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Download the demo via GitHub (alternative method, skip if already downloaded)

Currently, accessing GitHub is not very smooth. It is recommended to use the another method to download from our official website.

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/RaspberryPi_JetsonNano/
  • Compiler demo (Note: JETSON specifies the device as jetson nano, if not specified, the default is Raspberry Pi; -j4 means using 4 threads for compilation, the number can be modified by yourself; EPD=epd2in13V4 designates a macro definition, where epd2in13V4 corresponds to the test demo in the main function)
# It is now in e-Paper/RaspberryPi_JetsonNano position
cd c
sudo make clean
sudo make JETSON -j4 EPD=epd2in13V4
  • Run the demo
sudo ./epd

Run Python Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/common/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Alternate decompression method
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Download the demo via GitHub (alternative method, skip if already downloaded)

Currently, accessing GitHub is not very smooth. It is recommended to use the above method to download from our official website.

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/RaspberryPi_JetsonNano/
  • Run the demo
# Make sure it is in e-Paper/RaspberryPi_JetsonNano/ position
cd python/examples/
python3 epd_2in13_V4_test.py

RTC

Run C Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/2.13inch_e-Paper_HAT%2B/2in13_e-Paper-RTC.zip
unzip 2in13_e-Paper-RTC.zip -d 2in13_e-Paper-RTC
cd 2in13_e-Paper-RTC/Jetson_nano/
  • Compiler demo (Note: -j4 means using 4 threads for compilation, the number can be modified by yourself)
# It is now in 2in13_e-Paper-RTC/Jetson_nano/ position
cd c
make clean
make -j4
  • Run the demo
# Note: The kernel driver code set in config.txt needs to be commented out at runtime, otherwise the output data may be incorrect
sudo ./main

Run Python Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/2.13inch_e-Paper_HAT%2B/2in13_e-Paper-RTC.zip
unzip 2in13_e-Paper-RTC.zip -d 2in13_e-Paper-RTC
cd 2in13_e-Paper-RTC/Jetson_nano/
  • Run the demo
 # It is now in 2in13_e-Paper-RTC/Jetson_nano/ position
 # Note: The kernel driver code set in config.txt needs to be commented out at runtime, otherwise the output data may be incorrect
 cd python
 # Set the RTC time and loop to display time, date, and temperature
 sudo python main.py
 # Sync the RTC time to the system, only for systems that are not connected to the internet
 sudo python Set_system_time.py

RDK X3

Hardware Connection

When connecting to the RDK X3, you can directly plug the board into the RDK X3's 40PIN pin header, and be careful to align the pins.

Enable SPI

  • SPI is turned on by default. If it is turned off accidentally, please follow the following methods to turn it on.
  • Enter command: sudo srpi-config

Sunrise X3 Pi SPI E-paper-0.jpg
Sunrise X3 Pi SPI E-paper-1.jpg
Sunrise X3 Pi SPI E-paper-2.jpg

Install wiringpi Library

sudo apt update
sudo apt install git-core
git clone https://gitee.com/study-dp/WiringPi.git
cd WiringPi
./build
#Enter the following command, if the software version is displayed, the installation is successful
gpio -v

Install Python Library

sudo apt update
sudo apt install nano
sudo apt install python3-pip
sudo apt install python3-pil
sudo pip3 install Hobot.GPIO
sudo pip3 install smbus
sudo pip3 install spidev

e-Paper

Run Python Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/common/E-Paper_code.zip
unzip E-Paper_code.zip -d e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Alternate decompression method
sudo apt-get install p7zip-full
7z x E-Paper_code.zip -O./e-Paper
cd e-Paper/RaspberryPi_JetsonNano/
  • Download the demo via GitHub (alternative method, skip if already downloaded)

Currently, accessing GitHub is not very smooth. It is recommended to use the above method to download from our official website.

git clone https://github.com/waveshare/e-Paper.git
cd e-Paper/RaspberryPi_JetsonNano/
  • Run demo
# Make sure it is in e-Paper/RaspberryPi_JetsonNano/
cd python/examples/
python3 epd_2in13_V4_test.py

RTC

Run C Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/2.13inch_e-Paper_HAT%2B/2in13_e-Paper-RTC.zip
unzip 2in13_e-Paper-RTC.zip -d 2in13_e-Paper-RTC
cd 2in13_e-Paper-RTC/Horizon_Sunrise_X3_PI/
  • Compiler demo (Note: -j4 means using 4 threads for compilation, the number can be modified by yourself)
# At this time, it is in the 2in13_e-Paper-RTC/Horizon_Sunrise_X3_PI/ position
cd c
make clean
make -j4
  • Run the demo
# Note: The kernel driver code set in config.txt needs to be commented out at runtime, otherwise the output data may be incorrect
sudo ./main

Run Python Demo

  • Download the demo (you can skip it if you have already downloaded it)
wget https://files.waveshare.com/wiki/2.13inch_e-Paper_HAT%2B/2in13_e-Paper-RTC.zip
unzip 2in13_e-Paper-RTC.zip -d 2in13_e-Paper-RTC
cd 2in13_e-Paper-RTC/Horizon_Sunrise_X3_PI/
  • Run the demo
 # At this time, it is in the 2in13_e-Paper-RTC/Horizon_Sunrise_X3_PI/ position
 # Note: The kernel driver code set in config.txt needs to be commented out at runtime, otherwise the output data may be incorrect
 cd python
 # Set the RTC time and loop to display time, date, and temperature
 sudo python main.py
 # Sync the RTC time to the system, only for systems that are not connected to the internet
 sudo python Set_system_time.py

pwnagotchi

Hardware Connection

When connecting to the Raspberry Pi, you can directly plug the board into the 40PIN pin header of the Raspberry Pi, and be careful to align the pins.

Image Preparation

The official images stopped updating in 2021, but third party images continued to update based on the official images
Comparison:

  • The official images are smaller in size, has fewer functions, and run more smoothly than the third party ones, but all need to import programs and plug-ins by yourself, and Pi5 is not supported
  • Third-party images are relatively large in size, have more functions, and are maintained, and the latest system supports Pi5

Image download address:
GitHub: Official pwnagotchi images; Third party pwnagotchi images
Unzip the downloaded image, and then flash the unzipped img file to the TF card

Computer Preparation

1. Connect the computer to the power port of the Raspberry Pi, zero to the USB port (it is recommended to use the computer's USB 3.0 port)
2.13inch e-Paper HAT+ 6.jpg
2. Install RNDIS Driver
3. Enter the control panel\Network and Internet\Network connection to view. If the Raspberry Pi is turned on normally at this time, then a new RNDIS network will appear, as shown in the figure below
2.13inch e-Paper HAT+ 1.png
4. Please right-click to bring up the menu, click Properties> Internet Protocol Version 4 (TCP/IPv4), and configure it to the following static IP address:

IP:  10.0.0.1
Mask: 255.255.255.0
Gateway: 10.0.0.1
DNS (if required): 8.8.8.8 (or something else)

2.13inch e-Paper HAT+ 2.png2.13inch e-Paper HAT+ 3.png
5. Try to ping 10.0.0.2, if it works, then you can visit the Web interface or connect it via SSH.

win + R key, and then input cmd
Type ping 10.0.0.2 in the terminal

2.13inch e-Paper HAT+ 4.png2.13inch e-Paper HAT+ 5.png

Official Image Processing

Demo Preparation

The official image only supports a small number of outdated screens, so the built-in program is updated (PS: The package maintained by the third party does not support the official system, and you need to manually add it under the package)

  • Download pwnagotchi demo and unzip it
  • Modify the name of the unzipped folder, e.g. pwnagotchi to pwnagotchi_ss
  • Import the folder with the modified name to the boot directory of the TF card

Booting

1. Connect the computer to the power port of the Raspberry Pi, zero to the USB port (it is recommended to use the computer's USB 3.0 port)
2.13inch e-Paper HAT+ 6.jpg
2. Open the terminal, enter ssh [email protected], and the password is: raspberry
3. After connecting to zero via SSH, enter the following command to replace the original program

sudo rm -rf /usr/local/lib/python3.7/dist-packages/pwnagotchi
cd /boot
sudo mv pwnagotchi_ss /usr/local/lib/python3.7/dist-packages
cd /usr/local/lib/python3.7/dist-packages
sudo mv pwnagotchi_ss pwnagotchi

4. Create a config.toml file and set the splash screen (here the black and white screen of 2.13_V4 is set)

cd /boot
sudo nano config.toml
Input the following content:
main.name = "pwnagotchi"
main.lang = "en"
main.whitelist = [
   "waveshare_wifi",
   "waveshare_wifi_5G"
]
main.plugins.grid.enabled = true
main.plugins.grid.report = true
main.plugins.grid.exclude = [
  "YourHomeNetworkHere"
]
ui.display.enabled = true
ui.display.type = "waveshare_4"
ui.display.color = "black"

# The main.whitelist is used to store the Wi-Fi whitelist, preventing attacks on itself
# Press Ctrl + O to save, and press Ctrl + X to exit

5. Input sudo poweroff to shut down, and disconnect the Raspberry Pi from the computer, then connect the power supply

Third Party Image Processing

Demo Preparation

Third party package download address: Package
You can download and modify it as needed

Booting

1. Connect the computer to the power port of the Raspberry Pi, zero to the USB port (it is recommended to use the computer's USB 3.0 port)
2.13inch e-Paper HAT+ 6.jpg
2. Open the terminal, enter ssh [email protected], and the password is: raspberry
3. Create a config.toml file and set the splash screen (here the black and white screen of 2.13_V4 is set)

cd /boot
sudo nano config.toml
Input the following content:
main.name = "pwnagotchi"
main.lang = "en"
main.whitelist = [
   "waveshare_wifi",
   "waveshare_wifi_5G"
]
main.plugins.grid.enabled = true
main.plugins.grid.report = true
main.plugins.grid.exclude = [
  "YourHomeNetworkHere"
]
ui.display.enabled = true
ui.display.type = "waveshare_4"
ui.display.color = "black"

# The main.whitelist is used to store the Wi-Fi whitelist, preventing attacks on itself
# Press Ctrl + O to save, and press Ctrl + X to exit

5. Input sudo poweroff to shut down, and disconnect the Raspberry Pi from the computer, then connect the power supply

FAQ

 Answer:
  • The file name of python may be different for different systems, but the location is the same
  • /usr/local/lib/python*.**/dist-packages/pwnagotchi/
  • python*.** is the actual python directory name in your system, such as python 3.11, python 3.7, etc


 Answer:
  • Swap the values of WHITE and BLACK in the pwnagotchi\ui\view.py file


 Answer:
  • Open the file pwnagotchi/ui/hw/libs/waveshare/epaper/v2in13_V4/epd2in13_V4.py and add the corresponding code to the Clear function; The screen of 2.13V3 also operates in the same way
Pwnagotchi-FAQ-1.jpg



FAQ

Software Issues

 Answer:
  • Enter command: ls /dev/spi*
  • The result may appear as shown in the figure RPI FAQ 1.jpg
  • This is because the SPI interface is occupied in the /boot/config.txt file RPI FAQ 2.jpg
  • The solution is as follows:
    • Remove the occupation of spi0-0 in the /boot/config.txt file
    • Modify the position of the image in the /e-Paper/RaspberryPi_JetsonNano/lib/waveshare_epd/epdconfig.py file to 0,1
    • RPI FAQ 3.jpg


 Answer:
  • Our example demo uses STM32f103ZET6, if the customer modifies to other model in the MDK, such as STM32F103RBT6, the RAM space becomes smaller, and you need to modify the stack size and heap size in the startup file on the original basis.


 Answer:
  • In Data Start Transmission 1, the previous data is sent, the so-called "OLD" data, and the 0x00 is usually sent directly in the program; In Data Start Transmission 2, the data that needs to be refreshed is sent, the so-called "NEW" data.


 Answer:
  • The Chinese font library of our example demo uses GB2312 encoding. Please change your xxx_test.c file to GB2312 encoding format, compile and download it, and it will display normally.


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


 Answer:
  • In this case, the customer needs to reduce the number of partially refreshing positions and perform a screen clearing after partially refreshing 5 times.


 Answer:
  • The process of waking up the e-Paper is actually a process of re-powering on, so when the EPD wakes up, it needs to perform a screen clearing action first to minimize residual images.


 Answer:
  • May be caused by SPI driver failure:
    • 1. First check if the wiring is correct.
    • 2. Check if SPI is enabled and parameters are configured correctly. (Baud rate, mode and other parameters)


 Answer:
  • When switching from partial refresh to global refresh on the e-Paper, a global refresh initialization function needs to be added.


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


 Answer:
  • Use the command "sudo apt-get install python-imaging" to install the imaging function library.


Hardware Issues

 Answer:
  • Yes, there is now a level translation chip onboard that supports 5V drive.


 Answer:
  • The rated input voltage of the e-Paper 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 to avoid affecting the display effect of the e-Paper.
  • For device selection, you can use the model in the schematic diagram we provide or select according to the data sheet.


 Answer:
  • Yes, please note that the timing needs to be correct.


 Answer:
  • Confirm if SPI communication is normal.
  • Confirm if the BUSY pin is properly initialized to input mode.
  • It may be that there is no normal reset. Try to shorten the duration of the low level during the reset. (Due to the addition of a power-off switch in the driver circuit, resetting the low level for too long can cause the driver board to lose power and result in reset failure.)
  • If the busy function has a send 0x71 command, you can try to comment it out.


 Answer:
  • 1.64 inch, 2.36 inch, 3 inch, 0.5mm pitch, 26pin
  • 1.02inch, 0.5mm pitch, 30pin
  • 4.37inch, 7.3inch, 0.5mm pitch, 50pin
  • The rest (non-parallel port) are 0.5mm pitch, 24pin


 Answer:
  • Cable socket 0.5-XXpin rear flip 2.0H (FPC connector).


Screen Issues

 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 shipping time: 10 days.
  • [After unpacking]: Temperature range: 20°C±5°C; Humidity range: 50±5%RH; Maximum storage time: Complete assembly within 72 hours.


 Answer:
  • Refresh mode:
    • Global refresh: The e-Paper will flash multiple times during the refresh process (the number of flashes depends on the refresh time). The flashing is to remove residual images 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 refresh function should pay attention to performing a global refresh operation to clear the residual images after refreshing several times. Otherwise, the residual image problem will become more and more serious and even damage the screen. (Currently, only some black and white e-Paper screens support partial refresh, please refer to the product page description for details.)
  • Refresh frequency:
    • 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 partial refresh function)
    • During the standby process (that is, after the refresh operation), it is recommended that customers set the e-Paper screen to sleep mode or power off (the power supply of the e-Paper can be disconnected with an analog switch) to reduce power consumption and extend the life of the e-Paper screen. (If some e-ink screens are powered on for a long time, the screen may be damaged and cannot be repaired.)
  • Usage Scenarios:
    • The e-Paper screen is recommended for indoor use, not for outdoor use.
    • If the usage scenario is outdoors, we cannot guarantee its display effect. If the screen is damaged due to outdoor use, we do not provide warranty service.
    • The following are some protections for outdoor use. We do not guarantee that the e-Paper can be used normally after taking these protections.
      • Avoid direct sunlight on the e-Paper screen, and at the same time take ultraviolet protection measures, because charged particles will dry out under strong light for a long time, resulting in inactivation and cannot be refreshed, which is irreversible.
      • Use 3M tape to completely cover the white plastic part on the e-Paper connection cable. Complete coverage or no tape will have different reactions under ultraviolet light.
      • Place the e-Paper in a relatively cool area, such as under the shade of trees or under the shadow of eaves.
    • When designing e-Paper products, customers should determine whether the use environment meets the requirements of e-Paper screens.


 Answer:
  • Ideally, with normal use, it can be refreshed 1,000,000 times (1 million times).


 Answer:
  • When the development board is powered on for a long time, after each refresh operation, it is recommended to set the screen to sleep mode or directly cut off the power, otherwise the screen may be burned when the e-Paper is in a high voltage state for a long time.


 Answer:
  • Yes, but you need to redo the e-paper initialization operation with the software.


 Answer:
  • The SPI rate may be too high, causing data loss, try to reduce the SPI rate.
  • Insufficient power supply or unstable power supply causes data loss.
  • The data cable is too long and causes data loss, and the extension cable should not exceed 20cm.


 Answer:
  • The gray scale of electrophoresis e-paper is determined by the spatial position of the particles in the microcapsule or microcup, and the electrophoresis phenomenon occurs between black particles and white particles under the action of voltage, and the voltage timing that prompts the electrophoretic movement of the particles is the driving waveform of the e-paper. The driving waveform is the core part of the e-paper display, and the optimization of the driving waveform will directly affect the display effect of the display. The drive waveform file is a parameter formed to describe the voltage timing that causes the electrophoretic motion of the particles, and needs to be called periodically when the e-paper is refreshed.
  • Different batches of e-paper diaphragms and electrophoretic matrices will have different voltage values ​​when driving the display due to reasons such as materials and manufacturing processes. The relationship between grayscale, voltage, and temperature is reflected in the waveform of the e-Paper screen. Generally speaking, after each batch of electrophoresis matrices is generated, there will be a corresponding waveform file in the form of a .wbf file. The membrane manufacturer will provide the waveform file and electrophoresis matrix to the manufacturer of the e-paper screen, and then the the manufacturer of the e-paper screen integrates the protective board, substrate and driver and provides them to customers later; if the waveform file does not correspond to the screen, it is likely to cause the display to fail or the display effect to be unsatisfactory. Generally, the waveform file has been OTP built into the driver IC of the e-paper screen when it leaves the factory, and some of the demos we provide also call external waveform files to drive the e-paper screen.


 Answer:
  • LUT is the abbreviation of LOOK UP TABLE, and OTP is the abbreviation of ONE TIME PROGRAM. The original meaning of LUT is to load waveform files, and waveform files are divided into two types: OTP and REGISTER. OTP is the built-in waveform storage method, and REGISTER is the external waveform storage method.


 Answer:
  • There are two main types of e-paper screens:
    • One is to refresh the background image first.
    • The other is to alternately refresh old data and new data.


 Answer:
  • Simultaneous partial refresh at different locations requires programming, that is, first refresh the data at different locations into the e-paper IC, and finally complete Updata/TurnOnDisplay in a unified manner.



 Answer:
  • All current screens have built-in temperature sensors, or an external LM75 temperature sensor can be used using the IIC pins.


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 PM GMT+8 (Monday to Friday)