Device Demos
Here are some examples of projects that were only possible with Turbo support in circuitpython
Put the extra time to work
Now for some pixels! These frames come from recorded DVI output of our Feather RP2040 DVI experiments. Each combines native helpers with data formats and memory handling chosen for the job.
These recorded demos used custom firmware and Native or Viper code. Current official UF2 downloads with Turbo support are on the Try Turbo page. Look at how the work is divided between the computer and the board; the 19.71× number belongs to the separate Metro RP2040 Mandelbrot test.
Letters become windows

Impossible Type turns prepared letter masks into windows onto an animated texture. The fonts are rasterized on the computer; a Viper compositor writes the pixels on the microcontroller. This is a useful division of work for animated labels, instrument displays, and visual experiments. Real DVI capture at 13.5 seconds.
A large image, one row at a time

Impossible Image streams a 320 × 4096 RGB PNG whose decoded pixels total 3.75 MiB. Streaming keeps the image from having to fit in RAM all at once. A compiled helper handles selected pixel-processing work. Real DVI capture at 65 seconds.
Animation is a whole pipeline
The animation capture above uses a 76,800-byte framebuffer per track. The recorded six-loop run maintained its default 12 fps with frame-result checks. The current single-framebuffer display can tear.
These examples suggest directions to explore: animated type, compact dashboards, streaming art, and visualizations. Each new project needs its own memory budget and timing measurements.
You can read a long book without laying every page on your desk. Streaming uses the same trick: process a piece, then reuse working memory for the next piece. The 3.75 MiB figure describes the image's decoded pixels, not RAM occupied all at once. The decoder and display still need their own working buffers.
Hardware in these captures
These recorded experiments used the Feather RP2040 with DVI Output Port and their own custom firmware. It is a different board and build from the Metro benchmark. A full-size HDMI cable connects the DVI output to a compatible display.
Another way to share the work
Jeff Epler's PIO example sends NeoPixel data in the background while CircuitPython continues. PIO handles a timing-sensitive I/O job; a compiled function handles CPU work. Choose the part that is keeping your project busy.
Page last edited September 11, 2026
Text editor powered by tinymce.