Pico with Battery HAT for Zero

Hi everyone

I am trying to figure out if my setup will work or I am going to blow up my Pico.

I want to use the Pico together with Pico to Pi HAT
and connect it to this Battery HAT

I plan to use it in combination with Inky Impression 7.3"

I know that the “proper” way is just to get the Inky Frame with Pico.
I want to explore other options to do the setup.

Theoretically, this could work: Pico to Pi HAT, battery HAT, pin-extender socket, Inky Impression. But this would be very unstable mechanically. And it would constantly feed 5V from the battery to the Pico. So you will have to make sure you use intelligent power-management (sleep-modes) from your program.

I have a similar setup with an Inky Impression 5, but I am using my own Pico to Pi HAT and in addition a power-shim for the battery. You can look at this post for details: Weather display project - #15 by bablokb

(scroll up from that link which only shows the image, a few posts up there are a few links to the adapter-hat and the shim).

I got the Inky Impression 7.3" (the old one)
and connected Pico 2W using the Pico to Pi HAT

No batteries so far.

I got an issue rendering anything on the display.
Flashed the lates inky micropython (Releases · pimoroni/inky-frame · GitHub).
Uploaded the jwst5.jpg image.

The pico just crashes (guessing) as soon as the code try to execute the line
graphics.update().
After that the only way to recover is to use flash_nuke.uf2.
Same happens if the screen is connected or not.

Here is a very simple example of the code:

from picographics import PicoGraphics, DISPLAY_INKY_FRAME_7 as DISPLAY  # 7.3"
import jpegdec

IMAGE_E = "jwst5.jpg"
graphics = PicoGraphics(DISPLAY)
j = jpegdec.JPEG(graphics)

def display_image(filename):
    j.open_file(filename)
    j.decode(0, 0, jpegdec.JPEG_SCALE_FULL)
    graphics.update()

print('Refreshing image E.')
display_image(IMAGE_E)
print('Done')

Do you have any ideas what could be the issue, and/or what I can try?
Is it possible for the PicoGraphics to be expecting a connected display or else crashes, and the Pico to Pi hat does not connect to the pins that PicoGraphics expects.

Yep, this should be the cause of your problems. You can look up the pins that the InkyFrame uses and compare this to the pins of the adapter. You have the mapping Pi-Zero-GPIO->Adapter->PIco-GP and this GP is not necessarily the GP that PicoGraphics expects for the InkyFrame.

I am afraid that you need to make your custom build for the Pimoroni MicroPython, because I think they hard-wire their pins. Not fully sure, but I think this is the way it is.

What I found so far is:
Custom Pins section

Maybe will get something working without a custom build

That is a good start. But you need to configure three more pins: busy, reset and data/command. These are not related to the SPI-bus, but to the display. See Inky Impression at Raspberry Pi GPIO Pinout