Wow, thanks for posting that one - looks awesome! Trying to update/push 454*454 pixels quick has got to be hard though!
The driver is a mixture of
lcd_spilcd. You can send a minimum of 4 pixels to the screen which is why you need a buffer although there may be the possibility of reading pixels directly from the screen framebuffer. Using 32MHz SPI, I think the absolute maximum for writing 454 x 454 8 bit pixels would be 50ms, so 75 ms is not bad. The driver code needs cleaned up w.r.t comments/generality etc but you can see it here.
And how does it work? I would like to see it on the video, the topic of emulation is very interesting.
@jeffmer Hi! What do you think about Vla ePaper Watch?
That looks interesting - did you develop an Espruino driver for the E-paper screen?
There is now a port of Espruino to this NRF52840 watch which has a 454x454 AMOLED display. The watch can be operated in an always on mode in which the display takes approx 4ma with about 20% of pixels lit and 50-60% of full brightness. The G5 has a 290maH battery.
The current screen driver stores 4-bits per pixel (103Kbyte framebuffer) and takes around 75ms to do a full screen update with the screen set to 8 bits per pixel. The pictures below do not do justice to the display which is very sharp and bright.
It is necessary to open the watch to flash Espruino via SWD pins. Fortunately, it is not too difficult to open as the back is held on by four screws - however it is also glued and needs to be heat softened.
The G5 port is a team effort involving @fanoush and @yngv126399 with credit to atc1441 for discovering the watch and critical information like the location of the SWD pins.