Blitty

Blitty is an experimental Rust graphics library for small displays connected over SPI, I²C, and other constrained interfaces. Its APIs and rendering strategies are still evolving.
Blitty keeps a double-buffered display list of shapes and sprites. When an object changes, Blitty determines which rectangular screen tiles might have changed and redraws only those tiles. Many small display controllers have their own display memory and allow the host to update specific rectangular regions. Because Blitty renders one tile at a time, it does not require a full-screen framebuffer in the host's RAM.
use ;
let mut scene = new;
let circle = circle
.unwrap;
scene.set.unwrap;
An initialized embedded-graphics
draw target can be connected to the tiled backend and rendered from an async
function:
use ;
use EmbeddedRenderer;
use Rgb565;
use RgbColor;
let renderer = new
.unwrap;
let mut backend = new;
scene.render.await.unwrap;
Run the desktop simulator with:
Blitty aims to provide good performance on these devices without requiring library users to manage damage tracking themselves. Application authors still need to consider the cost of different rendering operations. Blitty includes render diagnostics that help identify where time is being spent. You can see them by running the simulator in diagnostics mode:
More detail is available in the rendering pipeline and execution-cost guide and the LilyGO T-Display-S3 integration.