I’m a bit disapointed by my new Inky Impression 7.3" (2025 Edition).
The datasheet on the store indicated that it take approx 12s to refresh the screen.
I run the stripe.py example on a Rapsberry Pi Zero 1.3.
The whole script took approx 35s to run.
I added some time.monotonic() on the example to understand what take time, and the show() itself is about 28s, more than twice what is announced.
the modified script:
#!/usr/bin/env python3
from inky.auto import auto
import time
t0 = time.monotonic()
inky = auto(ask_user=True, verbose=True)
COLOURS = [0, 1, 2, 3, 5, 6]
t1 = time.monotonic()
print("auto", t1 - t0)
for y in range(inky.height - 1):
c = y // (inky.height // 6)
for x in range(inky.width - 1):
inky.set_pixel(x, y, COLOURS[c])
t2 = time.monotonic()
print("set pixels", t2 - t1)
inky.show()
t3 = time.monotonic()
print("show", t3 - t2)
print("TOTAL: ", t3 - t0, " seconds")
the output:
(pimoroni) pi@inky:~/inky/examples/spectra6 $ python stripes.py
Detected Spectra 6 7.3 800 x 480 (E673)
auto 0.048976729000060004
set pixels 7.378557071000159
show 27.811930762999964
TOTAL: 35.23946456300018 seconds
I may understand that on a very low powerful device (Rpi Zero) the set_pixel can take a while, even if 7s seems a lot for a 800x480 matric.
But regarding the show()function, why this is not like announced ?
Is it something due to the library ? Or the hardware ?
I can confirm your measurements. It has nothing to do with the Python-side of things. It is the display and I already suggested to Pimoroni to update the shop page. The 12s is from the datasheet and as always this figure will certainly be valid for a very specific use case. The datasheet is not public so it is hard to tell.
The core update within the screen is about 18s, but with the coding you need to setup things, you are in the range you observed. See also my post here: Inky-Impression 7.3 (2025)
The datasheet says that cooler temperatures (below 25°C) might increase the refresh time also - not a problem we’re having in Sheffield-on-Sea at the moment!
I’ve added a note about ‘real world’ refresh times to the shop page.
@Korhm - 40s is a lot more than I’m getting, I wonder if the OG Pi Zero is slowing things down? Please can you ping a video showing the refresh cycle over to support@pimoroni.com ?
Does the datasheet have a graph for the relationship between update time and temperature? My tests were somewhere between 20-25°C, and I don’t think in this range the timings will vary that much. We are talking about +33% (12s → 18s) which is a lot.
I think the 12s is probably for a very specific update procedure. I have seen this in other datasheets where they for example claim the time for a pure white-to-black transition.
display.refresh() is somewhat difficult to time, because the method actually returns before it is finished with the refresh. You have to time the busy-pin. 40s is long, but that is what I see on application side too. The core refresh (i.e. within the display, the MCU waiting) is similar to running with Python on a Pi5 and about 18s. Depends somewhat on the content, but only ± 0.5s or so.
If you core timings are really in the 40s range, than I consider this as strange or … the display has a problem.
With the Pi Zero 1.3 and the official inky repository on github, the refresh time (when the pixels are physically changing on the screen) is about 25-30s. I think the temperature of the room is about 26°C. Unfortunatly for my screen (I myself !!) I do not have any cooler room
With the Pi Pico W and the circuit python implementation, the refresh time is always 40s. I think the difference is because of the EPaperDisplay driver)
I ordered both Pico2 and Zero2. I will do more test as soons as I have its. But the 25s seems more reasonable
I did not yet recevied the new Raspberry Pi Zero and Pico, but I get my new ESP32-S3 dev kit.
I manage to write code (adaptation of python code from Inky github to Arduino) to display 6 stripes of the 6 different colors. The time to refresh the screen is about 18 s.
It confirms that the screen itself is working perflectly.