This is an experimental port of the Pervasive Displays Library Suite to Python on the Raspberry Pi Pico and Raspberry Pi Zero 2W or 4B.
The Pervasive Displays Library Suite is specifically designed for the Pervasive Displays e-paper screens and EXT3 extension board.
The PDLS_EXT3_Python_Touch provides a high-level interface to drive the E-paper Pico Development Kit 2.71"-Touch (EPDK-271-Touch) and the EXT3-Touch with 3.70" Touch EPD.
The EPDK-271-Touch includes
- iTC 2.7" e-paper screen with embedded fast update and capacitive touch;
- EPD Extension Kit Gen 3 (EXT3-1);
- Touch Expansion Board for EXT3 (EXT3-Touch);
- Raspberry Pi Pico board;
- cables;
- nuts, bolts and spacers.
- Graphics routines
- Text routines
- Fast update
- Touch management
- GUI with button and text
- Four extended fonts
- Go to the documentation
For hardware, refer to
For software, see the procedures on the respective folders for Raspberry Pi Pico and Raspberry Pi Zero 2W or 4B.
-
Contrary to the version for the Zero 2W and Model 4B, the version for the Pico does not rely on the Blinka library due to its overhead. Instead, it uses the official MicroPython version from Raspberry Pi which includes access to the SPI and I²C ports and GPIOs.
-
The refresh process is very slow with Python. Fast mode refresh takes 2 seconds, compared to 700 ms in in C++, even with the Model 4B, the RP2040 overclocked at 240 MHz, and SPI speed set at 8 MHz.
-
Due to the limited size of Flash and RAM on the Pico, only three fonts are provided. Adding the fourth one raises an memory overflow error.
-
Memory can be tracked with
gc
.
# Memory
import gc
print("Before", gc.mem_free())
gc.collect()
print("After", gc.mem_free())
Copyright © Rei Vilo, 2010-2023
Licence Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)