--- description: "Me documenting my 64x64 LED matrix display" created: 2025-03-11 --- ![Main](Main.webp) ## Display documentation ### From Aliexpress seller [64x64 Indoor RGB HD P3 Led Module Video Wall High Quality P2.5 P4 P5 P6 P7.62 P8 P10 Panel Full Color Display - Aliexpress.com](https://www.aliexpress.com/item/32757647402.html) Key | Value ------------------------- | ----------------------------------- Item | P3 Chip | Epstar Chip size | Red 9 mil, Green 12. Blue 12mil Light type | SMD2121 Pixel Pitch | 3mm Module Size | 192mmX192mm Module Resolution | 64 X 64 (dots) Density of pixel | 111111dots/m2 Pixel configuration | 1R1G1B Red wavelength | 625±2nm Green wavelength | 525±2nm Blue wavelength | 470±2nm Colors | 16777216 Best viewing distance | ≥2m viewing angle | 120°/90° Maximum power consumption | 20W Brightness | 1500cd/m2 Gray scale | 14bits per color Color temperature | 6500k Control method | Synchronization or Asynchronization Driving method | 1/32 scanning Frame frequency | 60Hz Refresh frequency | ≥600Hz Working Voltage | DC5V IP grade | IP54 MTBF | More than 8000hours Life Span | 80,000hours ### Chips 1. CHIPONE `ICN74HC245TS` `A14276CA` 2. `MBI5124GP` `A3YN72CTHB` 3. `RUC7258` `8W913170` ![Chip 1](Chip 1.webp) ![Chip 2](Chip 2.webp) ![Chip 3](Chip 3.webp) ### Display IN connector ![In left](In left.webp) ![In right](In right.webp) --- ## Micro controller wiring I use an [ESP32 WEMOS LOLIN S2 Mini](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s2_mini.html) which has an ESP32-S2F chip on it ![ESP32-S2F_chip](ESP32-S2F_chip.webp) Display in wiring ``` ┌────────┐ R1 ┤ 1 40 ├ G1 B1 ┤ 2 38 ├ N R2 ┤ 4 36 ├ G2 B2 ┤ 6 34 ├ LE LA ┤ 8 21 ├ LB LC ┤ 10 17 ├ LD CLK ┤ 13 15 ├ LAT OE ┤ 14 ⏚ ├ GND └────────┘ ``` ![ESP32 S2 Mini](ESP32 S2 Mini.webp) --- ## PCB Connector board The screen glitches unless you have a solid connection. This PCB is a straight connection, except the gnd which is flipped with the adjacent pin. ![esp32_display_pcb_top_plugged_in](esp32_display_pcb_top_plugged_in.webp) ![esp32_display_pcb_bottom](esp32_display_pcb_bottom.webp) Half the display glitched out, untill i added a 100pf capacitor between `lat pin` and `gnd` as per: --- ## Software ```c++ #define R1_PIN 1 #define G1_PIN 40 #define B1_PIN 2 #define R2_PIN 4 #define G2_PIN 36 #define B2_PIN 6 #define A_PIN 8 #define B_PIN 21 #define C_PIN 10 #define D_PIN 17 #define E_PIN 34 // required for 1/32 scan panels, like 64x64px. Any available pin would do, i.e. IO32 #define LAT_PIN 15 #define OE_PIN 14 #define CLK_PIN 13 HUB75_I2S_CFG::i2s_pins _pins={R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN}; HUB75_I2S_CFG mxconfig( 64, // Module width 64, // Module height 1, // chain length _pins, // pin mapping ); dma_display = new MatrixPanel_I2S_DMA(mxconfig); ``` --- I'm still experiencing some glitching, especially on the lower half of the display, albeit a better PSU made the problem go away for static sketches, plasma still struggles.