A Wi-Fi-enabled LED Pixel Art Display based on HUB75E panels, powered by an ESP32.
Note: The colors are much more vibrant in person, and the flickering only appears on camera.
- Added an NTP Clock.
- Added Scrolling Custom Text.
- Clock and text colors can now be changed via the WebUI.
- Text font and scroll speed are configurable.
- Added toggles for:
- GIF display
- Clock
- Scrolling text
- Added a toggle for GIF looping.
- Switched the file system to LittleFS.
- Wi-Fi Connectivity: On startup, the panel connects to the Wi-Fi network and displays the firmware version, IP address, RSSI, and Wi-Fi SSID for 4 seconds.
- GIF Playback: Plays GIF files stored in the ESP32's SPI Flash.
- NTP Clock: Displays the current time (configurable GMT and DST offsets in the firmware).
- WebUI:
- Upload, delete, download, and play GIF files.
- Control brightness via a slider.
- Authentication functionality for secure access.
- Remote rebooting of the ESP32.
- Custom Scrolling Text: Replace the clock with custom scrolling text.
- WebUI Customization:
- Change text and clock colors.
- Adjust text scroll speed and size.
- Playback Toggles:
- Enable or disable GIF playback, clock, or scrolling text individually.
- Toggle GIF looping to either loop a single GIF or play all stored GIFs sequentially.
These features are tentative and may not be implemented due to time constraints or motivation.
- Proper date system
- Weather display
- Additional clock types and faces
- Canvas drawing functionality
- Stopwatch/Timer/Pomodoro modes
- HUB75 Panel: Compatible with the ESP32-HUB75-MatrixPanel-DMA library. By default, a 64x64 1/32 scan panel is supported.
- ESP32 Board: ESP32, ESP32-S2, or ESP32-S3.
Note: GPIO 34+ on the ESP32 are input-only. GPIO 5, 23, 18, and 19 are reserved for future SD card support.
Panel | ESP32 GPIO Pin |
---|---|
R1 | 25 |
G1 | 26 |
B1 | 27 |
R2 | 14 |
G2 | 12 |
B2 | 13 |
A | 22 |
B | 32 |
C | 33 |
D | 17 |
E | 21 |
OE | 15 |
CLK | 16 |
LAT | 4 |
- Arduino IDE (v1.8.19) or PlatformIO.
- Wi-Fi:
- Change the Wi-Fi SSID and password in
firmware.ino
(only 2.4GHz networks are supported).
- Change the Wi-Fi SSID and password in
- WebUI:
- Update the WebUI username and password in
firmware.ino
.
- Update the WebUI username and password in
- Brightness:
- Set the default brightness in
firmware.ino
(range: 0–255).
- Set the default brightness in
- Panel Resolution:
- Use other resolution panels as per the examples in the ESP32-HUB75-MatrixPanel-DMA library.
- Authentication:
- Disable authentication by changing
false
totrue
on line 258 inwebserver.ino
.
- Disable authentication by changing
For smooth assembly and answers to most questions, refer to the project documentation on my website.
- 3D Printable Files for the Case and the Diffuser:
- Project Documentation and Assembly:
- GIF Playback: Based on examples from the ESP32-HUB75-MatrixPanel-DMA library.
- WebUI: Inspired by the ESP32 Async WebServer File Upload Example.