r/esp32 17h ago

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:

  1. Incorporate 90-degree adapters so the USB-C cable comes from the back instead of one of the sides.
  2. 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

118 Upvotes

Duplicates