waveshare eInk display is stuck powering on with BUSY pin on high

All ESP32 boards running MicroPython.
Target audience: MicroPython users with an ESP32 board.
Post Reply
firstmonkey
Posts: 2
Joined: Thu Apr 08, 2021 2:18 pm

waveshare eInk display is stuck powering on with BUSY pin on high

Post by firstmonkey » Thu Apr 08, 2021 10:50 pm

Hey guys,

first time here! I'm having some problems with my eInk project, this seemed like a good place to ask.
I have a 7.5 inch epaper display from waveshare (waveshare wiki), connected to an ESP32 driver board (wiki) running Micropython. Now to the problem:

I can't get the display to do anything - the code gets stuck in the init process while waiting for the eInk display to power on. The code waits for the display to set the BUSY pin back to low (=idle) and never finishes.

Waveshare only provides RPI/full-fledged python samples, but mcauser ported them to Micropython. His code only provides drivers for the lower resolution V1 of the display, but according to the waveshare wiki V2 displays should be compatible with V1 software after minor changes (whatever that means besides changing resolution constants, wiki didn't specify).
Pin config I took from the ESP32 driver board data sheet: https://www.waveshare.com/w/upload/4/4a ... ual_en.pdf

Here is the code I am running: https://github.com/JulianNaumann/microp ... in5b_HD.py , init is in line 110, power on happens in 115, 116 waits for idle that never comes.

Thanks for reading this far, anybody got any ideas?

marcidy
Posts: 133
Joined: Sat Dec 12, 2020 11:07 pm

Re: waveshare eInk display is stuck powering on with BUSY pin on high

Post by marcidy » Fri Apr 09, 2021 6:45 pm

Waveshare is busy = 0, idle = 1
BUSY Busy state output pin (Low for busy)
so it should be waiting for high, not low.

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: waveshare eInk display is stuck powering on with BUSY pin on high

Post by pythoncoder » Sat Apr 10, 2021 1:18 pm

As a general comment, having ported several display drivers to MicroPython, the way forward is to sit down with the hardware, the datasheet, and the code for the similar display. Check the code line by line against the datasheet.

That said, my limited experience with Waveshare boards was bad. Maybe I was just unlucky, but I bought two samples of an ePaper HAT from different sources - both had hardware problems. @mcauser is the expert on Waveshare but unfortunately he is busy at the moment - I'm hoping to compare notes with him when he becomes available again.
Peter Hinch
Index to my micropython libraries.

firstmonkey
Posts: 2
Joined: Thu Apr 08, 2021 2:18 pm

Re: waveshare eInk display is stuck powering on with BUSY pin on high

Post by firstmonkey » Sun Apr 11, 2021 6:42 pm

marcidy wrote:
Fri Apr 09, 2021 6:45 pm
so it should be waiting for high, not low.
You are absolutely right, slight mistake on my wording (code is still correct though).
pythoncoder wrote:
Sat Apr 10, 2021 1:18 pm
As a general comment, having ported several display drivers to MicroPython, the way forward is to sit down with the hardware, the datasheet, and the code for the similar display. Check the code line by line against the datasheet.

That said, my limited experience with Waveshare boards was bad. Maybe I was just unlucky, but I bought two samples of an ePaper HAT from different sources - both had hardware problems. @mcauser is the expert on Waveshare but unfortunately he is busy at the moment - I'm hoping to compare notes with him when he becomes available again.
Okay I tested the Arduino example provided by waveshare to confirm the hardware actually works. It worked, I will report back once I get the Arduino code ported to python and post here so that others can benefit as well.

Thanks for your input guys :D

Taylen
Posts: 5
Joined: Fri Apr 16, 2021 4:32 pm

Re: waveshare eInk display is stuck powering on with BUSY pin on high

Post by Taylen » Fri Apr 16, 2021 4:43 pm

I just started using micropython too, specifically for a project involving the Waveshare 7.5 v2 display. And I also ran into the fun fact that there hasn't been a driver ported for it yet.

After banging my head against the wall with it for a couple days I finally plugged it into a pi I had laying around and ran the Waveshare test python script and the hardware actually works, so that's a plus.

I know basically nothing about driver development but apparently need to learn if I'm gonna stick with micropython for my IOT devices moving forward. (always just used esphome)

Taylen
Posts: 5
Joined: Fri Apr 16, 2021 4:32 pm

Re: waveshare eInk display is stuck powering on with BUSY pin on high

Post by Taylen » Fri Apr 16, 2021 6:34 pm

Well, here's some good news!

Someone already rewrote the driver for the V2 update!

Turns out that when I'm looking for something new I should look in the PR section first....would've saved me a few days of going in circles

https://github.com/mcauser/micropython- ... er/pull/12

Just tried it out and works.

Post Reply