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?