Buttons work, but 5.7" e-paper display doesn't (UserWarning: Busy Wait: Held high. Waiting for 1.00s)

Hi,

I’m trying to get my inky impression 5.7" to work. I can get the buttons.py script to work - detected when the A, B, C & D buttons are pressed, but I can’t get any of the other example scripts to work which should update the display itself.

My setup:
Raspberry Pi Zero W
Operating System: Raspbian GNU/Linux 12 (bookworm)
Kernel: Linux 6.12.47+rpt-rpi-v6
Architecture: arm

Inky 600x448 pixels 5.7" e-paper display

Error message:

(pimoroni) eoin@pi:~/Pimoroni/inky/examples/7color $ python clear.py
Detected 7-Colour (UC8159)
/home/eoin/.virtualenvs/pimoroni/lib/python3.11/site-packages/inky/inky_uc8159.py:331: UserWarning: Busy Wait: Held high. Waiting for 1.00s
  warnings.warn(f"Busy Wait: Held high. Waiting for {timeout:0.2f}s")
/home/eoin/.virtualenvs/pimoroni/lib/python3.11/site-packages/inky/inky_uc8159.py:331: UserWarning: Busy Wait: Held high. Waiting for 0.20s
  warnings.warn(f"Busy Wait: Held high. Waiting for {timeout:0.2f}s")
/home/eoin/.virtualenvs/pimoroni/lib/python3.11/site-packages/inky/inky_uc8159.py:337: UserWarning: Busy Wait: Timed out after 0.20s
  warnings.warn(f"Busy Wait: Timed out after {timeout:0.2f}s")

The clear.py script is simply:

#!/usr/bin/env python3

import time

from inky.auto import auto
from inky.inky_uc8159 import CLEAN

inky = auto(ask_user=True, verbose=True)

for _ in range(2):
    for y in range(inky.height - 1):
        for x in range(inky.width - 1):
            inky.set_pixel(x, y, CLEAN)

    inky.show()
    time.sleep(1.0)

Season’s greetings and an update:

I’ve managed to write something to the screen. Once. I can’t figure out how I did it though, and it looks corrupted (says “Hello, world!”, but also has lots random shapes).

I still get the Busy Wait errors described above. I’ve tried increasing the timeout period, haven’t noticed any change. Buttons still work. I’ve also tried changing the busy pin from 17 to 23 as described here exception "Timeout waiting for busy signal to clear." thrown when trying to update display with inky.show (Inky Impressions) · Issue #103 · pimoroni/inky · GitHub Still no luck.

When I remove the Inky display, running ‘pintest’ says all pins are ‘ok’, but when I have the Inky display attached, then the output is:

Testing GPIO20…ok

Testing GPIO25…ok

Testing GPIO26…ok

Testing GPIO19…ok

Testing GPIO16…ok

Testing GPIO0…ok

Testing GPIO21…ok

Testing GPIO4…ok

Testing GPIO17…Pull down on GPIO17 failed

Testing GPIO27…ok

Testing GPIO3…ok

Testing GPIO5…ok

Testing GPIO13…ok

Testing GPIO1…ok

Testing GPIO9…ok

Testing GPIO2…ok

Testing GPIO11…ok

Testing GPIO8…ok

Testing GPIO10…ok

Testing GPIO18…ok

Testing GPIO23…ok

Testing GPIO24…ok

Testing GPIO7…ok

Testing GPIO6…ok

Testing GPIO15…ok

Testing GPIO12…Pull down on GPIO12 failed

Testing GPIO14…ok

Testing GPIO22…ok

Any suggestions?

Did the Pi Zero come with the header pre soldered in place?
Or did you solder it, or is it a hammer header?

Do you have another Pi to test the display on?

Hi! It came pre soldered. I tested with another Pi Zero (also a WH, forgot about the “H”) earlier. Same result.

The oddest thing is that I was clearly able to write to the e-paper display at least once. So it’s almost working.

Any tips/advice very welcome!!

I don’t own one, just so ypu know.
According to the Pinout that’s the Busy signal. Which matches up with your error messages.

The schematic is here,

I’d have a good look see around that pin for any scratches, dings, damage etc.

@hel Hel Gibbons might be able to help?

1 Like

Can you confirm that you are running a vanilla PiOS? On a vanilla PiOS, nothing should keep GPIO17 pulled high. It is used as an input for the inky-driver and the driver-chip should drive it high while being busy and leaving it low otherwise.

This problem has been reported many times already. My guess: it is a problem of the pcb or the driver chip. The python-driver has a timeout of I think 40s, so the display should eventually update. Since the check for busy is spread around the code, the total waiting time might be even longer.

Anyhow, this is something for support. You can wait until Hel is back or mail directly to support linking to this thread.

1 Like

Thanks for your help. Yes, running vanilla PiOS (bookworm).

When nothing is connected to the gpio pins, then pintest says they’re all “…ok”.

I’ll keep fiddling a little, and see if Hel can help when they’re back.

Happy New Year!

1 Like

Can’t immediately think of anything else to try (I think I still have Christmas brain!) but if you don’t manage to get it going please drop an email to support@pimoroni.com with some photos showing your setup and how you’ve got the Inky connected, plus your order details and a link to this thread, and we’ll see if we can help further.

2 Likes