The new PCBs resolve all the problems with the previous PCBs, so at least I have CircuitPython working and something displaying on the screen. However, I have now uncovered a new rich vein of problems. Apparently displayio is broken right now on SAMD21, as the display doesn't survive VM restart. I reproduced it with a better supported, official display, and reported it for now — don't have any more energy right now to debug it.
I've given up on the bug. It's some big change related to timers and sleep modes — something that broke a lot of stuff on SAMD21, and it makes a number of boards with displays, like the Hallowing M0 Express, effectively stop working, apart from the boards you might want to connect a display to. However, it was unreported for a year, and nobody seems to be interested in it. So I'm going to focus on some other projects, and maybe start using different chips, that have less broken CircuitPython ports.
The bug has been fixed by Dan Halbert, and I would never have guessed it myself. I'm continuing the work on this small and cheap #circuitpython #gamedev handheld. I ported the pew library for it, so all the usual PewPew games work on it, I even improved the display with help from @isziaui. Next I need to make a custom game selection program using full resolution of the display, because the default one, with the name of the game scrolling horizontally over the 8x8 display is bad on a slow LCD.
Today I published the repositories for the hardware design and software of the PewPew LCD, made a pull request to #circuitpython to add the board definition, and applied for a USB VID/PID pair (CP requires each board to have it unique). I also applied for OSHW certification for it.
Then I realized that the relevant Hackaday Prize challenge starts next month, not this, so I guess I will keep writing the documentation on the side for a while.
Got the OSHWA certification, now just waiting for the USB VID/PID.
The hackaday.io project is up now, with a few logs recapitulating the work done so far. I have a few more logs already composed to add there, but I don't want to overwhelm the audience.
The PCBs for version 2.1 arrived, and I think I'm finally happy with the device. The screen aligns with the silkscreen, the traces for the touchpads no longer get in the way, and it looks cleaner without the doodles.
I also wrote a log about the whole PewPew ecosystem, and how you don't even need the dedicated device (though it makes things easier).
https://hackaday.io/project/185291-pewpew-lcd/log/206581-the-pewpew-ecosystem
And now Hackaday has written about it again, as it qualified to the finals of the Hacakday Prize:
https://hackaday.com/2022/06/28/2022-hackaday-prize-reuse-recycle-revamp-finalists/
Now working on a fancier game selection menu for PewPew LCD. Unfortunately I can't make that hand animated, like I did on the PewPew M4, because the LCD is too slow for it. As a side effect of the fact that the height of the screen is not a multiple of the text height, I get a nice indicator that scrolling is possible (once I implement it). I'm going to do a similar thing with the top line (moving the whole thing a bit up, to hide part of the text line) to indicate scrolling up is possible.
@deshipu Congratulations!
@deshipu Where can PewPews be found, at present? Maybe the answer is just "at conferences" :)
@seachaint You can still buy them from Makerfabs at
https://makerfabs.com/index.php?route=journal2/quickview&pid=624
@deshipu wonderful, thanks :)
@deshipu Glad to hear it went well, and looking forward to improved PewPew workshops! :)
And now Hackaday has written about it:
https://hackaday.com/2022/05/27/hackaday-prize-2022-pewpew-lcd-plays-with-python/