Which is a Micropython setup of a ST7789 SPI display on a RP2350 using multiple DMA channels to provide a live updating paletted frame buffer. Once setup, you write to the SRAM, it appears on the display, without CPU involvement.
The chatbot, of course, emitted something completely broken, but it was enough for me to see where it was headed. By the time I got it working there were maybe no lines of it's original output left, but much of what replaced it was also LLM generated. Given I was pretty much new to MicroPython, SPI, the ST7789, and the Pico's PIO, it let me build something that I suspect If it were doing it alone, I would have given up before getting it working. (probably when I put my thumbnail through Display #1)
When I get a chance, I'll tidy it up properly, and put it on github.
At the moment I'm playing with Gemini to see if I can make a tile+sprites mode that generates the scanlines as they go to the display (without using CPU)
I couldn't get something like that done one-shot with Claude. On the other hand, Claude did give me a lot of assistance at writing this
https://gist.github.com/Lerc/43540d8d581b2be8155a6a4e6e85c94...
Which is a Micropython setup of a ST7789 SPI display on a RP2350 using multiple DMA channels to provide a live updating paletted frame buffer. Once setup, you write to the SRAM, it appears on the display, without CPU involvement.
I started by feeding it the source of [Dmitry's](https://dmitry.gr/?r=06.%20Thoughts&proj=09.ComplexPioMachin...) C version of the paletted technique.
The chatbot, of course, emitted something completely broken, but it was enough for me to see where it was headed. By the time I got it working there were maybe no lines of it's original output left, but much of what replaced it was also LLM generated. Given I was pretty much new to MicroPython, SPI, the ST7789, and the Pico's PIO, it let me build something that I suspect If it were doing it alone, I would have given up before getting it working. (probably when I put my thumbnail through Display #1)
When I get a chance, I'll tidy it up properly, and put it on github.
At the moment I'm playing with Gemini to see if I can make a tile+sprites mode that generates the scanlines as they go to the display (without using CPU)