Micropython Waveshare Epaper Micropython Drivers For Waveshare E Paper
MicroPython drivers for various Waveshare e-Paper displays, based on the original Waveshare Raspberry Pi examples found in the wiki. I recently got a Waveshare E-Paper Display, in order to learn more about displays – programming and using them with microcontrollers. I chose specifically the e-paper because of its features like very low power consumption (up to 8mA only when refreshing) and preserving the state when unpowered. The latter can be especially handy for battery-powered sensor devices. Think of an environmental sensor that measures data only once in a while and sleeps in between, but with e-paper, it can display e.g. the last measurement all the time without affecting battery life.
For starters, I got the pretty small, 1.54" display, with three available colours, i.e. black, red, and no colour. The Waveshare E-Paper Display (EPD) communicates via SPI, uses 6 pins for communication (which with power supply makes 8 in total). It comes with libraries for Arduino, Raspberry Pi (in Python and C++) and STM32, so you're all set on these platforms. For other environments, well, tough luck. The Python library for Raspberry Pi uses PIL (Python Imaging Library) for displaying text and images.
It's awesome because it greatly simplifies the implementation. PIL is however not available in MicroPython, so I had to resort to drawing text using fonts defined in the code as arrays. Here's the example definition of a letter 'A' in a 24-pixel font: Full font definition is available here. 3x24 = 72 bytes are required for a single character. Now multiply it by the number of printable ASCII characters (95, in the 32-127 range) and you'll get 6840 items in the list.
Even for the small 8-pixel font the list has 760 elements. pip install waveshare-epaper Copy PIP instructions Waveshare e-paper package for Python on Raspberry Pi Waveshare e-paper package for Python on Raspberry Pi. Original source is https://github.com/waveshare/e-Paper. You can get available e-paper modules list by epaper.modules().
epaper.epaper method takes the model name and returns the e-paper library module. E‐paper (a.k.a. “E‐Ink”) displays are perfect for low‐power and daylight‐readable applications. In this post, we’ll show how to wire up an 800 × 480 e‐paper display to a Raspberry Pi Pico, then walk through the MicroPython code to display images. We need to use the SPI interface of the Pico. The Pico 2 has two SPI interfaces: SPI0 and SPI1.
We’ll use SPI0. See the pinout below. Below are my pin connections. The e‐paper typically has the following signals: For DC, RST, BUSY, you can actually use any GPIOs you want. I just randomly picked GP8, GP9, GP10.
Of course, if you want to use other GPIOs, you need to change the code accordingly. Save the following script (e.g. epaper_800x480.py) to your Raspberry Pi Pico via Thonny or any other method. It defines a driver class, initializes the display, and can show an image. An open API service indexing awesome lists of open source software. MicroPython drivers for Waveshare e-paper modules https://github.com/mcauser/micropython-waveshare-epaper
Last synced: 11 months ago JSON representation MicroPython drivers for Waveshare e-paper modules MicroPython drivers for various Waveshare e-Paper displays, based on the original Waveshare Raspberry Pi examples found in the [wiki](https://www.waveshare.com/wiki/Main_Page). The library supports drawing lines, shapes, text and images. All code is documented and there are demo examples. Tested on WaveShare 2.9inch e-Paper Display (B) 128x296 resolution using Wemos Lolin ESP32 Wrover.
Sample XGLCD fonts are included in the fonts folder. Additional fonts can generated from TTF fonts using a free utility called MikroElektronika GLCD Font Creator. There are sample images in monocrhome (monoHMSB) and raw format. I’ve included a python app called img2monoHMSB.py in the utils folder to convert images in common formats such as JPEG and PNG to monoHMSB. demo_images.py example draws monochrome images in black & white and red & white: demo_qr.py example draws a QR code which is readable by phones, tablets and webcams:
People Also Search
- GitHub - mcauser/micropython-waveshare-epaper: MicroPython drivers for ...
- MicroPython Waveshare e-Paper Drivers - Open Source Embedded Project
- An efficient MicroPython library for E-Paper Display
- waveshare-epaper · PyPI
- micropython-waveshare-epaper: MicroPython drivers for Waveshare e-paper ...
- Waveshare E-paper Display With Raspberry Pi Pico Microcontroller and ...
- Pico e-Paper 2.13 - Waveshare Wiki
- Driving WaveShare E‐Paper Display with a Raspberry Pi Pico in MicroPython
- https://github.com/mcauser/micropython-waveshare-epaper
- MicroPython Display Driver for WaveShare 2.9inch e-Paper Display (B)
MicroPython Drivers For Various Waveshare E-Paper Displays, Based On The
MicroPython drivers for various Waveshare e-Paper displays, based on the original Waveshare Raspberry Pi examples found in the wiki. I recently got a Waveshare E-Paper Display, in order to learn more about displays – programming and using them with microcontrollers. I chose specifically the e-paper because of its features like very low power consumption (up to 8mA only when refreshing) and preserv...
For Starters, I Got The Pretty Small, 1.54" Display, With
For starters, I got the pretty small, 1.54" display, with three available colours, i.e. black, red, and no colour. The Waveshare E-Paper Display (EPD) communicates via SPI, uses 6 pins for communication (which with power supply makes 8 in total). It comes with libraries for Arduino, Raspberry Pi (in Python and C++) and STM32, so you're all set on these platforms. For other environments, well, toug...
It's Awesome Because It Greatly Simplifies The Implementation. PIL Is
It's awesome because it greatly simplifies the implementation. PIL is however not available in MicroPython, so I had to resort to drawing text using fonts defined in the code as arrays. Here's the example definition of a letter 'A' in a 24-pixel font: Full font definition is available here. 3x24 = 72 bytes are required for a single character. Now multiply it by the number of printable ASCII charac...
Even For The Small 8-pixel Font The List Has 760
Even for the small 8-pixel font the list has 760 elements. pip install waveshare-epaper Copy PIP instructions Waveshare e-paper package for Python on Raspberry Pi Waveshare e-paper package for Python on Raspberry Pi. Original source is https://github.com/waveshare/e-Paper. You can get available e-paper modules list by epaper.modules().
Epaper.epaper Method Takes The Model Name And Returns The E-paper
epaper.epaper method takes the model name and returns the e-paper library module. E‐paper (a.k.a. “E‐Ink”) displays are perfect for low‐power and daylight‐readable applications. In this post, we’ll show how to wire up an 800 × 480 e‐paper display to a Raspberry Pi Pico, then walk through the MicroPython code to display images. We need to use the SPI interface of the Pico. The Pico 2 has two SPI in...