Fancy Message Matrix
An LED matrix display running custom firmware that shows a rotating birthday message, a breakdancing stick figure, an animated cigar, and occasional fireworks.

Fancy Message Matrix is custom firmware for an Adafruit Matrix Portal S3 driving two chained 64×32 LED panels — a single 128×32 canvas. It runs standalone and offline on first boot, showing one permanent scene: a procedural stick-figure breakdancer on the left, a per-character rainbow "HAPPY BIRTHDAY <name>!" in the center, and a permanent animated cigar with rising smoke on the right, punctuated by firework bursts. The recipient's name is a single parameter in the config, so the same firmware works for anyone. It was designed and built end to end with Claude Code, and runs on ESPHome with a set of C++ scene headers.
This one is a physical device, so there's no live demo to embed — the cover above is a capture of the running display. The full firmware is on GitHub.
The prompts
Every prompt from the project, in order, exactly as typed — typos and all. The first two were a research-and-design chat on Claude to nail down the hardware and scope; the rest are the build itself, driven from Claude Code. Use the Copy button on any block to grab it verbatim.
Research and design
What are the technologies used in https://transit-tracker.eastsideurbanism.org/docs/introduction
I want to repurpose the hardware and load a new custom firmware which displays revolving message "Happy Birthday Bill!"
How would you advise I go about this?
I like the idea of adding added effects like rainbow gradiants, sprite animation and confetti. Can we add a stick figure breakdancing and fireworks. Suggest a repository/folder name. And provide me with a handover message I can provide Claude Code to commence building the project.
Building it in Claude Code
Read HANDOVER.md and build out the project per PHASE 1. Stop after each phase for review.
flash for me
I want back the brightness reduction/increase using side button(s) feature
start phase 2
start phase 3
How about consisting of just one scene. Keep the breakdancing figure permanently there on the left hand side. On the very right hand side add a rotation between an animated cigar with smoke eminating off of it and discipating above, and a firework animation. In the center communicate the message "Happy birthday Bill". Otherwise shorthand birthday to bday.
i've plugged in the device.
the cigar needs to be bigger, but also just have the fireworks ocassionally light whilst the animated cigar remains there permanently.
Make the frequency of the fireworks twice as frequent.
Sweet, now, can we make the name of the birthday recipient parameterized? Suggest character limitations.
I've changed the name. reflash
Sent right after editing recipient_name directly in bill-matrix.yaml. Claude Code saw the hand edit via a file-change system reminder and reflashed with the new name.
Revise the README.md and prepare for me to push to a github repository
Do one last santiy check to ensure we aren't leaking anything personal, and then push to empty repo: https://github.com/jqhils/fancy-msg-matrix