Adafruit iconAdafruitSep 15, 2026 ~2 min source read

Pico-Faces: an image generator that runs on a microcontroller

A compact image-generation model called Pico-Faces runs on the RP2350 (Raspberry Pi Pico 2). It uses a latent flow diffusion transformer and outputs 128×128 face images via USB serial or video hardware, with added support for Fruit Jam and HSTX/DVI.

Share this story

Send the public story page.

Useful takeaways from this story.

Pico-Faces implements a latent flow diffusion transformer (DiT) that’s been compressed to run on an RP2350 microcontroller.

The model targets very small size: the project describes packing the approach down to roughly 1/5000 the parameters of typical larger image models, with future microcontrollers expected to handle models around 1.5 million parameters.

# What Pico-Faces does

Pico-Faces is an image-generation model adapted to run on very small hardware: the RP2350 microcontroller used in the Raspberry Pi Pico 2. The implementation focuses on generating 128×128 pixel images of human faces using a compact model architecture called a latent flow diffusion transformer (DiT).

# Why this matters for hobbyists and makers

# How it outputs images

Pico-Faces supports two primary output modes:

  • USB serial: the microcontroller sends raw image data over USB serial. A host PC receives that data and renders it using Python Imaging Library (PIL) code.
  • Video output: the original project supported VGA output using the Pimoroni Pico VGA Demo Base. The author extended support to Fruit Jam and HSTX/DVI video output, allowing the Pico to drive different displays directly.

The author also added a creative 2×2 color-grid effect inspired by Andy Warhol, showing the project can be adapted for artistic display styles as well as technical demonstration.

# Technical approach in plain terms

The model uses a latent diffusion-style approach implemented as a DiT. That means images are represented in a compressed latent space and the diffusion/transformer operations happen there, which reduces memory and compute demands compared with operating directly at full pixel resolution. The write-up emphasizes tricks and efficiencies to shrink the model dramatically while preserving the core image-generation workflow.

# What you can do with it

  • Reproduce the demo on RP2350-based hardware (Raspberry Pi Pico 2).
  • Send generated images to a host machine over USB for post-processing or archiving.
  • Drive displays directly using supported video outputs (VGA, Fruit Jam, HSTX/DVI) to make standalone art or interactive installations.
  • Experiment with visual effects, such as the included 2×2 color-grid variant.

# Community and next steps

# Practical constraints to expect

  • Output resolution is 128×128, so images are small and best for displays or projects that work with low-resolution artwork.
  • Running a compact generative model on RP2350 requires tradeoffs in speed and detail compared to larger models on GPUs.

# Where to learn more

Follow the linked Pico-Faces guide and related Adafruit Learning System resources for implementation details, code examples for serial rendering, and instructions for setting up video output on hardware like Fruit Jam or HSTX/DVI.

More context around this story.

Art
Omanobserver iconOmanobserverSep 16, 2026

Art

French artist JR performs one of his characteristic jumps as he poses in front of his installation "DILUVIUM" at the Vatican Apostolic Library, at the Vatican. — Reuters

Loading more related stories...

Keep reading in the app

Open the app view to save this story, compare related coverage, and continue from the same source.

Open in app