Skip to content

singhpalwinder/matrix-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Matrix Portal S3 Artwork + Clock Display

This project runs on the Adafruit Matrix Portal S3, a dual-core ESP32-S3 board designed for driving RGB matrix displays. It combines image display and a real-time analog clock rendered directly on the LED matrix.

Artwork is sent to this device from a separate project: πŸ”— shairport-metadata


✨ Features

  • πŸ” Displays static images or animated GIFs sent via TCP
  • πŸ•’ Shows an analog clock with smooth hands and tick marks for all 12 hours
  • πŸ“Ά Connects to Wi-Fi and syncs time via NTP using ezTime
  • 🎨 User-defined text color saved to onboard QSPI flash
  • πŸ”Œ Upload images via HTTP (/icon.bmp) or TCP (GIF frames)
  • πŸŒ™ Sleep mode support (on/off toggle via HTTP/Homeassistant)
  • πŸ”„ Dual-core support: one core handles drawing, the other handles network/server logic

🧠 How It Works

  • Matrix Rendering: Uses the Adafruit_Protomatter library for high-performance drawing on 64x32 RGB matrices.
  • Timekeeping: ezTime manages timezones and NTP syncing.
  • Trigonometry Logic: The analog clock uses SOH-CAH-TOA methodology to calculate hand positions using sin and cos.

Each frame is processed using the matrix.getBuffer() method, where pixels are updated manually for maximum control. An analog clock is drawn using circular geometry and rendered on the right side of the screen.


πŸ“· Image & GIF Uploading

πŸ“€ HTTP Upload (Single Static Image)

Upload a 32x32 icon.gif via POST request to port 80 or image artwork to port 9090 via tcp socket:

curl -X POST --data-binary "@icon.bmp" http://<DEVICE_IP>/upload

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages