I have a 2 year old inky frame 5.7" with onboard RPi pico, but I need the full python suite (not micro python), i.e. via RPi zero (ori 4 or 5). Can I just ignore the onboard pico and connect the RPi via the breakout pins in the lower left (from the back)? If so, which pins should be connected?
Grateful for any advice. David
Hey @David197028,
After some light research, it seems like these breakout pins are likely for accessing the pins on the pico and not to directly interface with the Inky frame.
We have a similar model of these displays in stock, I will pull one out tomorrow for you and see if I can figure out how to get the display working from a Pi 4 using standard python.
Hi David,
tldr; the Pi Version isnt drop in compatible with the Pico version:
From the schematic, the Pico W version includes a shift register that handles a couple of other things, these arent handled in the library.
Could we get a bit more info on this project?
Could you have the Pi generate an image, then the Pico can retrieve it? I found this example where it gets an image and pushes it to the screen: inky-frame/examples/inky_frame_xkcd_daily.py at main · pimoroni/inky-frame · GitHub
Thanks, Liam, I suspect you’re right!
After a lot of work, I had the inky frame showing a different graphic every day, but after a few days it would randomly show negative images, and I admit that I abandoned it at that stage. The RAM always seemed to be an issue, as evidenced by the gc calls in the script you referenced.
I have the inky impressions 4” working brilliantly, driven by the Pi zero, which seemed so much easier than working with the pico, so I thought maybe I could reinvigorate the Frame?
This project though is a desktop calendar display, which pulls a French word of the day from a google sheet in the web and writes it over an image using a tkinter ImageDarw object.
Thanks, David
Hi @David197028
Looking at the Getting Started with Inky Frame guide on Pimoroni’s website, at the very bottom there is a note under troubleshooting that mentions excessive RAM usage and how you can limit it. Looking at that getting started guide there also appears to be an included function that would allow for you to draw over images, in the example code there is a line that clears the background as white, in theory if you can get your image onto the screen you could then omit the line that selects the colour white and then fills the screen with that colour and just write over the image similar to the below code
from picographics import PicoGraphics, DISPLAY_INKY_FRAME as DISPLAY
graphics = PicoGraphics(DISPLAY)
BLACK = 0
WHITE = 1
GREEN = 2
BLUE = 3
RED = 4
YELLOW = 5
ORANGE = 6
TAUPE = 7
#graphics.set_pen(WHITE)
#graphics.clear()
graphics.set_pen(BLACK)
graphics.text("Hello Inky", 0, 0, 600, 4)
graphics.update()
Hi Dan,
Thanks. The code I used to drive it is from
It has a ‘clear’ function in the loop around line 314, so I don’t know what is going wrong. But I spent many hours on it in the past, and thought a better way forward was to get a separate e-ink display and drive it from the RPi Zero, and that has been more successful.
So I think the answer to my question seems to be NO, you can’t drive the inky frame directly from the Zero. ChatGPT suggested sending images to the pico from the RPi Zero via USB! The code looked a bit daunting for me at this stage! Maybe one day…
SO for now I’ll wait until the e-ink displays are in stock and go from there.
Thanks again for the suggestions.
Best, David
Hi @David197028
The only other thing that I could think of, and it would be pretty much the same as using USB would be to use UART to communicate between the Pi and the Pico although I would guess that this would be more complex again compared to using USB.