ESP32 Controller Design for LED Matrix

0:00

Work done
  • Added ESP32 module shortlist: U1 (ESP32-WROOM-32E-N16) and U2 (ESP32-S3-WROOM-1-N16R8).
  • Implemented USB-C 5V-sink skeleton with Rd: USB1 + R1/R2 (5.1kΩ each) and USB ESD: D1.
  • Added 5V input options: barrel jack J1 and screw terminal J2.
  • Added 5V rail protection/current limiting: U3 (TPS25940) producing P5V_PANEL.
  • Added 3.3V regulation: U4 (AP2112K-3.3) producing P3V3, with decoupling caps C1C4, bulk C5/C6, and 5V reservoir C7.
  • Implemented HUB75 signal level shifting and chainable headers:
    • Level shifters: U5 + U6 (74AHCT245)
    • HUB75 connectors: H1 (to panel) and H2 (chain out)
    • Wired a full set of HUB75 nets (RGB, A-E, CLK/LAT/OE) from U1 -> U5/U6 -> H1/H2.
  • Documented architecture + option comparisons in project properties (“System Architecture”, “Power Architecture Options”, “ESP32 Module Options”, “HUB75 Notes”).
Success criteria review
  • ✅ Detailed schematic skeleton created with ESP32 options, 5V input paths, protection, 3.3V regulation, and HUB75 level shifting + chain headers.
  • ✅ USB-C usage includes Rd on CC via R1/R2 and ESD part D1 on D+/D-.
  • ❌ ERC “Missing Power” still flags USB1, D1, U4, U5, U6. This is due to symbol power-pin expectations vs how the library parts model power pins (needs pin-by-pin confirmation/cleanup).
Next steps
  • Tell me how many panels you want to chain (1/2/3/4+), and whether you want USB-C only or also keep J1/J2. Then I’ll fix the remaining ERC “Missing Power” items and lock the HUB75 pinout mapping to the Waveshare panel’s exact header pin order.
79 days

To get started, talk to Flux or create a New Document.

Documents

    Documents are markdown text files which describe project goals, capture details, or even simulation outputs.

    Assets

    No assets added.

    Ethnic Coral KITT

    Ethnic Coral KITT thumbnail
    Welcome to your new project. Imagine what you can build here.

    Properties

    Option A: Direct 5V input (barrel jack J1 or screw terminal J2) into eFuse U3 -> P5V_PANEL. Option B: USB-C 5V sink using USB1 with Rd pull-downs R1/R2 on CC1/CC2, VBUS into eFuse U3. Add ESD on D+/D- using D1. Option C: USB-PD 9-12V + buck to 5V (not yet implemented, placeholder). Option D: Wide input 12-24V + buck to 5V (not yet implemented, placeholder). Notes: Use overcurrent protection to cut VBUS on overcurrent events. USB data-line ESD should be bidirectional TVS with capacitance below 1 pF per line (part selection TBD if required).

    flowchart TD PWR_IN["5V Input Options"] --> PROTECT["Input Protection and OCP"] PROTECT --> P5V["5V Panel Rail"] PROTECT --> REG33["3.3V Regulator"] REG33 --> MCU["ESP32 Module"] MCU --> HUB75["HUB75 Output Connector"] HUB75 --> PANEL["RGB Matrix Panel"] HUB75 --> HUB75_OUT["HUB75 Chain Output"] MCU --> IO["Debug UART and GPIO"] P5V --> HUB75 P5V --> PANEL P5V --> HUB75_OUT REG33 --> HUB75 PROTECT --> USB_C["USB-C 5V Sink Option"] PROTECT --> DC_JACK["Direct 5V Input Option"] PROTECT --> WIDE_IN["Wide Input Buck Option"]

    Option 1: ESP32-WROOM-32E-N16 (U1) - classic ESP32, adequate GPIO. Option 2: ESP32-S3-WROOM-1-N16R8 (U2) - ESP32-S3 with native USB and PSRAM.

    HUB75 signals are level shifted from 3.3V to 5V using two 74AHCT245 buffers (U5, U6). HUB75 connectors H1 (to panel) and H2 (chain out) share the same signals.

    Pricing & Availability

    Distributor

    Qty 1

    Arrow

    $1.78–$2.39

    Digi-Key

    $10.16–$11.73

    LCSC

    $14.25–$15.13

    Mouser

    $17.44

    TME

    $0.43

    Verical

    $1.68–$3.44

    Controls