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 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.

I mean, the after-image of the scrolling pixels makes it really difficult to read the text.

Today I published the repositories for the hardware design and software of the PewPew LCD, made a pull request to 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.

The 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.

All the code and board definition is now merged, and as soon as there is a release, you will be able to download the firmware from

In the mean time I'm making small improvements to the PCB design: moving components out of the way, centering the display, moving traces for the touch pad to make it less likely to touch them by mistake.

I also added a "this device belongs to" on the back, because I like the idea of making it yours by signing it.


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).

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.

We ran another PewPew workshop on Monday at the Europython conference in Dublin, using the leftover devices from 2019. I really felt how much this project improved since then. But participants seem to be happy.

@deshipu Where can PewPews be found, at present? Maybe the answer is just "at conferences" :)

@deshipu Glad to hear it went well, and looking forward to improved PewPew workshops! :)

Sign in to participate in the conversation
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!