I’ve had a pico explorer since launch. Everything I tried before was working fine. Even when I did things outside the box for a few experiments.
I upgraded the pico to the latest and greatest pimoroni-pico-micropython release version (v0.1.1).
When I run the balls_demo (from github pimoroni-pico/micropython/examples/pico-explorer) it locks up the entire pico. I have to hard reset (pull the USB cable) and start again.
All the other demos run fine on the latest micropython without any issues, but they don’t create hundreds of ball objects.
It’s not a Thonny file transfer problem, or something like that. If I save to main.py then it locks up on boot and I can’t rescue the pico until I downgrade the micropython version! Do not try this at home!
I have to go all the way back to pimoroni-pico-micropython v0.0.6 alpha to make the balls_demo work again. I don’t change the balls_demo code at all, I just install a different micropython uf2 version and run balls_demo.py again.
On the 0.0.6 micropython I can run the balls_demo and even have up to 500 balls crawling around the full 240x240 display with no absolutely no problems.
With 0.1.1, if I define 5 (five) balls, it will show them moving for a couple of seconds and then locks up. Larger numbers doesn’t show anything at all.
I have another pico with a pico display, I haven’t tried if that has exactly the same problem. I suspect it will do something similar, the balls demo code is virtually the same, apart from the display size.
To the causal observer it looks like a massive micropython memory management problem.
Now I’ve found this issue, which seems to match what I’m experiencing:
Can anyone else please confirm this behaviour and/or suggest how to fix it on the latest pimoroni-pico-micropython?