Not seeing the full 4mb of flash? - Interstate 75 W (RP2350)

So I might just be dumb and not understanding the QSPI flash works but Thonny only reports that there is 2MB of usable space.

For a sanity check, I flashed it with just stock rp2350 .uf2 and it now reading that there is 2.5mb of usable space.

I do know that there were issues in the past with some boards manufactured incorrectly but judging by the pictures in this github issue, but I don’t think my board was a part of it.

The board does work with i75w_rp2350-v0.0.5-micropython-with-filesystem.uf2 and i75w_rp2350-v0.0.5-micropython.uf2.
I have gotten it to run the example programs with little to no issue.
I’m just trying to get as much usable space as possible to play long rendered animations.

Any help would be much appreciated.

You should be aware that the Pimoroni fork of MicroPython is on steroids. I.e. they include all kinds of drivers and libraries in the firmware.

Although I am no expert on their build-system, it seems that they reserve 2MB for the firmware. If you need more flash available to the user, you must build your own version and remove everything you don’t need.

What you could do to save some space is to precompile your own py-files. This does save some flash and is simple.

BTW: There is no (Python) solution if your animations don’t work because they need too much RAM. In this case you could switch to plain C SDK programming, but that is not trivial.

That’s kind of what I figured but I still didn’t know enough about how microcontrollers handle memory just yet.

Regardless, I have gotten it to do what I want it to do. Just I can only do like 2 secs worth of animations.

I’ve never had good luck with making a custom build or getting C working on the pico.

I have tried to hook up a SD card to it and have gotten it to work, but the pico takes way too long reading from the card and decoding the image for the animation to be smooth.

I think I’m going to look into doing indexed colors for .pngs and see if i can save space that way.

Thank you for the help.

This looks very nice. One option would be to switch to a different driver board. Adafruit has one with an ESP32-S3 with 8MB flash and 2MB RAM. Or you build your own with one of these powerful Pico2 Plus boards here and add the matrix driver as an external breakout. Of course not as nice as an integrated solution, but I think once you leave basic territory, you just need additional effort.