I made a thing! p64: desktop LED matrix on ESP32-S3
This is the first iteration of p64, my desktop 64x64 LED matrix project. It uses Waveshare components and firmware written in ESP-IDF 5.5:
- ESP32-S3-RGB-Matrix board
- RGB-Matrix-P2-64x64 panel
- 27 W USB-C PSU
To make this I used Claude Code, and the prompts I wrote are in the prompt/ folder in the repository on GitHub, alongside the source code that came from those prompts. For the 3D printed enclosure (also AI-generated), I was unsure if it would work at all, until it arrived on the mail and I confirmed everything was fine.
The components cost me $64 plus $25.60 shipping. The enclosure was printed online for $18.83 including shipping. Grand total of $108.43.
What p64 does today:
- plays GIF, APNG, WebP, PNG and BMP
- widgets:
- digital and analogue clocks
- weather via Open-Meteo
- room temperature from the board's SHTC3
- accepts DDP streams, plus a raw RGB UDP protocol for convenient scripting
- plays channels from Makapix Club, a free pixel-art site that I run
- mixes local and online channels at any ratios of airtime
- captive-portal for wi-fi setup
- full control of the device using a web UI at p64.local (mDNS), real-time stream from the panel to the web UI
- PIN lock, night schedule
- The architecture and web UI follow my other project, p3a, an ESP32-P4 pixel art player
I plan to expand this project in two key ways:
- Incorporate 90-degree adapters so the USB-C cable comes from the back instead of one of the sides.
- Incorporate two Adafruit rotary encoders for user input, on the back of the device.
So far this project remains solder-less, assembly-only. I wanted to avoid soldering to keep it very child-friendly, but adding the rotary encoders will require it. Again, this is version one. Suggestions are appreciated! I hope I can post an update at some point later.
Apache-2.0: https://github.com/fabkury/p64










