Here is a demo of a small graphics engine I designed that allows me to embark moving pictures on a nRF52832 directly in code with a reasonable occupied memory size (i can do RLE or LZ4 compression).
The screen Newhaven Display (NHD-C12864A1Z-FSRGB-FBW-HT1) which is given for 3 to 4 FPS is here pushed to its limits with some tricks to 8 FPS. The nRF52832 is cool here, for animations i can run up to 100 FPS depending on complexity but the screen cannot follow the cadence (because pixel commutation time is too long and contrast become to weak).
The video is here:
Here is the final prototype board :-) Sub meter vertical displacements catched by GPS.
Screen is 128 x 64 monochrome => 8192 bits => 1024 bytes
I use a double buffer so about 2 x 1024 bytes + 1024 bytes as decompression work buffer + few more bytes.
So say less than 4 Kbytes RAM.
Cat animation is 35.7 Kbytes uncompressed and 21.1 Kbytes after custom compression.
What resolution is the screen, and how much memory is used for storing and processing the image?
I cannot provide any source because this is the property of my client but i found that during my pre research (github.com/.../u8glib). I have not used it because I have written a special graphics lib that minimise SPI transferts to minimum to maximum avoid radio perturbations for GPS*.
*: fun fact, I did some tests. Average bytes count exchanged to update image pass from more than 1 Kbytes to 35 bytes (I just send deltas) !!! On GPS cold start for difficults conditions (indoor), first fix is up to 2 times faster (mean on multiple tries) when I activate minimisation in my lib.