Driver for Waveshare 1.54" black-white-red e-Paper display V2

Discuss development of drivers for external hardware and components, such as LCD screens, sensors, motor drivers, etc.
Target audience: Users and developers of drivers.
Post Reply
User avatar
WZab
Posts: 25
Joined: Tue Jan 21, 2020 7:45 pm

Driver for Waveshare 1.54" black-white-red e-Paper display V2

Post by WZab » Sun Jul 25, 2021 6:05 pm

I had to connect the Waveshare 200x200 1,54" black-white-red e-Paper display (version 2) https://www.waveshare.com/product/displ ... dule-b.htm to the STM32 board.

I started with a nice driver https://github.com/mcauser/micropython- ... r1in54b.py . However, I have quickly discovered that it won't work with version 2. For example I have emprically found that the BUSY signal in version 2 has an opposite polarity - 1 means that the display is busy and 0 that it may accept a new command.

Afterwards I have checked the original Python drivers delevered by Waveshare: https://github.com/waveshare/e-Paper/tr ... ano/python

I could compare the driver for version 1: https://github.com/waveshare/e-Paper/bl ... d1in54b.py with the driver for version 2: https://github.com/waveshare/e-Paper/bl ... n54b_V2.py . Indeed they differ significantly.

Having found that, I have decided to adapt the Waveshare driver for MicroPython running on STM32 (Nucleo F767-ZI). It was necessary to adapt the edpconfig.py file for MicroPython. The quick&dirty solution that allowed me to check if the driver works is available at https://pastebin.com/DcUd9EAF (in shar format). Of course it is far from being optimal. It should be rewritten using similar optimizations as in https://github.com/mcauser/micropython- ... r1in54b.py

However, I've decided to publish my findings to help those who (like me) are afraid that their display is damaged...

Post Reply