PicoGame is a CircuitPython game engine built by MakerClassCZ that delivers up to 100 FPS on microcontroller displays by replacing full-screen refreshes with partial updates implemented in C.

The two existing options, DisplayIO and Stage, both failed on different fronts: DisplayIO redraws the entire screen on every frame, and Stage lacked flexibility. PicoGame fixes both problems simultaneously. It uses fixed-point math instead of soft-float arithmetic, keeps RAM reserved for Python, and schedules the calculation of each next frame segment during the idle time between sending the current one to the display.

The ceiling is the display bus itself. Heavy motion scenes drop to around 10 FPS. Static or sparse scenes hit 100. The full writeup at chiptron.eu details the C implementation and the partial-update scheduling logic, which is worth reading if you have ever tried to squeeze real-time graphics out of a RP2040 or similar chip.

[READ ORIGINAL →]