LED Matrix Webex Display

Required Components

ComponentSpecificationNotes
LED Matrix PanelP3 Indoor 64x32 RGB, HUB75 interfaceMust have FM6126A driver chip
MicrocontrollerESP32-S3-DevKitC-1-N8R2ESP32-S3 recommended (ESP32 also supported)
Power Supply5V DC, 2.5-4AMatrix requires dedicated power supply
WiringHUB75 ribbon cable + jumper wires16-pin 2.54mm pitch IDC connector

LED Matrix Specifications

P3 Indoor RGB LED Matrix Panel

  • Resolution: 64x32 pixels (2,048 individual RGB LEDs)
  • Physical Size: 192mm x 96mm (7.6" x 3.8")
  • Pixel Pitch: 3mm (P3)
  • Interface: HUB75 (16-pin IDC)
  • Driver Chip: FM6126A (REQUIRED)
  • Scan Mode: 1/16 scan
  • Power: 5V DC, ~2.5A at full brightness
  • Viewing Angle: 140Β° horizontal, 140Β° vertical

ESP32-S3 Pin Mapping

The following pin configuration is used in the firmware (verified from matrix_display.cpp):

HUB75 PinFunctionESP32-S3 GPIODescription
R1Red UpperGPIO 37Red data for upper half of panel
G1Green UpperGPIO 6Green data for upper half
B1Blue UpperGPIO 36Blue data for upper half
R2Red LowerGPIO 35Red data for lower half of panel
G2Green LowerGPIO 5Green data for lower half
B2Blue LowerGPIO 0Blue data for lower half
ARow Select AGPIO 45Row address line A
BRow Select BGPIO 1Row address line B
CRow Select CGPIO 48Row address line C
DRow Select DGPIO 2Row address line D
ERow Select EGPIO 4Row address line E (for 1/32 scan)
CLKClockGPIO 47Shift register clock
LATLatchGPIO 38Latch/strobe signal
OEOutput EnableGPIO 21Output enable (active low)
GNDGroundGNDConnect all GND pins

Note: ESP32 (non-S3) uses different GPIO pins. See the matrix_display.cpp file for ESP32 pin mappings.

HUB75 Connector Pinout

Looking at the matrix from the back (connector side), the HUB75 socket is arranged as:

β”Œβ”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”
β”‚R1 β”‚G1 β”‚B1 β”‚GNDβ”‚R2 β”‚G2 β”‚B2 β”‚GNDβ”‚  ← Top row (odd pins: 1,3,5,7,9,11,13,15)
β”œβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”€
β”‚ A β”‚ B β”‚ C β”‚ D β”‚CLKβ”‚LATβ”‚OE β”‚ E β”‚  ← Bottom row (even pins: 2,4,6,8,10,12,14,16)
β””β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”˜
  1   3   5   7   9  11  13  15
  2   4   6   8  10  12  14  16

Critical Firmware Configuration

The firmware uses the following driver settings (from matrix_display.cpp):

// Panel driver configuration
mxconfig.driver = HUB75_I2S_CFG::FM6126A;  // REQUIRED for P3 panels
mxconfig.clkphase = false;                 // CRITICAL: Must be false
mxconfig.i2sspeed = HUB75_I2S_CFG::HZ_20M; // 20MHz for stability
mxconfig.min_refresh_rate = 120;           // Reduce visible flicker
mxconfig.latch_blanking = 1;               // Stable latch timing

Power Requirements

Power Supply Guidelines

  • Minimum: 5V @ 2.5A (for testing at reduced brightness)
  • Recommended: 5V @ 4A (for full brightness white display)
  • Maximum Draw: ~15-20W at 100% brightness, all LEDs white
  • Typical Usage: ~8-12W with status displays

Important: The ESP32 USB port cannot power the matrix. Use a dedicated 5V power supply connected directly to the matrix power input (red/black wires or barrel jack).

Troubleshooting

πŸ” Display Issues

ProblemPossible CauseSolution
Blank displayPower not connected or FM6126A init failedCheck 5V supply to matrix. Verify firmware has FM6126A driver enabled
Display flickersPoor ground connection or refresh rate issueConnect all GND pins. Verify clkphase = false in code
Wrong colorsSwapped RGB data pinsVerify R1/G1/B1/R2/G2/B2 wiring matches pinout table
Garbled imageClock or latch timing issuesCheck CLK (GPIO 47) and LAT (GPIO 38) connections
Dim displayInsufficient power or brightness settingUse 4A power supply. Check brightness setting in web UI

Need More Help?

Check out the additional documentation: