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 as a single 128×32 canvas. It shows one scene: a procedural stick-figure breakdancer on the left, a per-character rainbow "HAPPY BIRTHDAY <name>!" in the centre, and an animated cigar with rising smoke on the right, punctuated by firework bursts. The display runs offline from the first boot. The recipient's name is a config parameter, so the same firmware works for anyone. I designed and built it with Claude Code using ESPHome and a set of C++ scene headers.
This is a physical device, so there is no live demo to embed. The cover above is a capture of the running display, and the full firmware is on GitHub.
The prompts
Every prompt from the project appears below in order, exactly as typed, typos and all. The first two came from a research-and-design chat in Claude to settle the hardware and scope; the rest drove the build in 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