Python · Bluetooth LE hardware

Pixelface

A talking face for my AI, on a 16×16 LED panel, inspired by the Pole Position cartoon.

It started with a 16×16 Bluetooth LED pixel panel I had on hand and wanted to see what I could do with. The answer became the face of my AI assistant.

The look comes from the 1984 Pole Position cartoon, where the talking cars Wheels and Roadie appear as simple computer-drawn faces on a screen. Pixelface uses the same grammar: eyebrows, a single eye line with pupils, and a mouth drawn as two lip strokes. It sleeps on the desk, wakes when asked, holds expressions, and looks around.

It talks with lip sync. A line of text is spoken aloud, the audio is analyzed into timed mouth shapes, and the panel plays them in step with the voice. Prepared lines are cached, so repeating one is instant. The mouth is driven by a timed cue track, so other speech engines can plug in later.

It also runs as a desktop app with an on-screen preview of the face, so it works with or without the panel in range.