Skip to main content
Visitor II
March 13, 2025
Solved

STP24DP05 IC queries

  • March 13, 2025
  • 1 reply
  • 841 views

Best SPI Routing Method for Double-Sided 16×128 LED Matrix Using STP24DP05

Project Overview

I am designing a double-sided 16×128 RGB LED matrix display using STP24DP05 LED drivers. The LED drivers are controlled using a single SPI bus from the MCU. Since the display consists of both a front and back panel, each panel consist of 16 STP24DP05 LED driver. I am considering two different approaches for routing the SPI and error signals and would like recommendations on the best solution.

Approach 1: Split SPI and Error Signals Using Buffers

In this approach, I use buffer ICs (74LV244) to split the SPI bus and drive both the front and back panels independently. Additionally, the error signal (ERR) from the STP24DP05 drivers is also split and handled separately for each panel. Each panel consist with 16 LED driver. 

  • SPI Control: The SCK, MOSI, MOSI and CS signals are buffered separately for the front and back panels.
  • MCU Control: The MCU enables/disables the SPI buffers using GPIOs, ensuring that data is sent to only one panel at a time.
  • Error Signal (ERR) Handling: The ERR signals from both panels are separately buffered and fed to the MCU, allowing independent error detection for each panel.

Please find attached block level representation for clear understanding.

Approach 2: Daisy-Chaining SPI and Error Signals Through Both Panels

In this approach, the SPI signals pass through all STP24DP05 drivers sequentially, first through the front panel, then continuing to the back panel, before looping back to the MCU for MISO feedback and error signal detection.

  • Single Continuous Daisy Chain: The entire set of drivers is treated as one long chain for SPI and error signals. Total 32 LED drivers including front and back panel.
  • MISO Handling: The last STP24DP05 in the chain directly connects its SOUT to MCU MISO.
  • Error Signal (ERR) Handling: The ERR signal is daisy-chained from all drivers and sent to the MCU as a single error feedback line.
  • All Signals from MCU cards goes to LED driver connector on LED panel PCB and these signals are connected to buffer and to LED driver IC.

Questions :

  1. Which approach is better for a large LED matrix display using STP24DP05?
  2. Does STP24DP05 support long SPI and error signal daisy chains reliably, or would signal integrity degrade over a large number of drivers?
  3. Is splitting SPI and error signals using buffers (74HC245) a recommended approach for large LED displays?
  4. Would reducing SPI clock speed help improve reliability in either approach?
  5. For error signal (ERR) handling, is it better to use separate error lines per panel or a single daisy-chained error line?

I would appreciate any guidance or recommendations based on experience with large SPI daisy chains or similar designs using STP24DP05.

    This topic has been closed for replies.
    Best answer by clintt

    Hi Peter,

     

    Thanks, for your response.

    LED Connection and Panel Configuration

    In my design, I am using the STP24DP05 LED driver to control RGB LEDs. Each output of the STP24DP05 is connected to the cathodes of 8 RGB LEDs (R1, G1, B1), while the anodes of these LEDs are controlled via 8 MOSFETs. The gate of each MOSFET is driven by a 3:8 decoder/demultiplexer, ensuring that only one row is active at a time.

    Thus, with a single STP24DP05, I can control:

    • 8 outputs × 8 RGB LEDs per output = 64 RGB LEDs

    The full panel consists of 16 rows, where each multiplexer output controls 2 rows. The scanning mode is determined as:

    Total rows÷Simultaneously active rows=16/2=8\text{Total rows} \div \text{Simultaneously active rows} = 16/2 = 8Total rows÷Simultaneously active rows=16/2=8

    This results in a 1/8 scanning mode.

    LED Panel Arrangement

    Each panel consists of:

    • 2 (panels) × 16 × 64 LEDs = 16 × 128 LEDs on the front side
    • The same configuration is used on the back panel

    For a 16 × 64 LED panel, I use:

    • 16 STP24DP05 drivers
    • Each STP24DP05 controls 8 outputs × 8 LEDs per output = 512 RGB LEDs
    • Two such panels result in 1024 RGB LEDs on the front side

    Since the back panel has the same configuration, the total number of STP24DP05 drivers required for the entire display (front + back) is 32.

    clintt_0-1741961480798.png

    Note : As we are controlling LED anode switching using mux, at time only two rows will be on(one mux output is connected to two line). 

     

     

    Now can please relate my query above and share your feedback.

    1 reply

    Technical Moderator
    March 14, 2025

    Welcome @clintt, to the community!

    I'm not quite sure how you want to control 16x128 RGB LEDs with 2x16 STP24DP05? Is that 16x128 RGB for each front and back panel or for both together?

    One STP24DP05 can drive up to 24 (individual) LEDs, i.e. 8 RGB LEDs. However, 16x128 = 2048 RGB LEDs are 6144 individual LEDs, for which you would need 256 STP?

    Regards
    /Peter

    clinttAuthorAnswer
    Visitor II
    March 14, 2025

    Hi Peter,

     

    Thanks, for your response.

    LED Connection and Panel Configuration

    In my design, I am using the STP24DP05 LED driver to control RGB LEDs. Each output of the STP24DP05 is connected to the cathodes of 8 RGB LEDs (R1, G1, B1), while the anodes of these LEDs are controlled via 8 MOSFETs. The gate of each MOSFET is driven by a 3:8 decoder/demultiplexer, ensuring that only one row is active at a time.

    Thus, with a single STP24DP05, I can control:

    • 8 outputs × 8 RGB LEDs per output = 64 RGB LEDs

    The full panel consists of 16 rows, where each multiplexer output controls 2 rows. The scanning mode is determined as:

    Total rows÷Simultaneously active rows=16/2=8\text{Total rows} \div \text{Simultaneously active rows} = 16/2 = 8Total rows÷Simultaneously active rows=16/2=8

    This results in a 1/8 scanning mode.

    LED Panel Arrangement

    Each panel consists of:

    • 2 (panels) × 16 × 64 LEDs = 16 × 128 LEDs on the front side
    • The same configuration is used on the back panel

    For a 16 × 64 LED panel, I use:

    • 16 STP24DP05 drivers
    • Each STP24DP05 controls 8 outputs × 8 LEDs per output = 512 RGB LEDs
    • Two such panels result in 1024 RGB LEDs on the front side

    Since the back panel has the same configuration, the total number of STP24DP05 drivers required for the entire display (front + back) is 32.

    clintt_0-1741961480798.png

    Note : As we are controlling LED anode switching using mux, at time only two rows will be on(one mux output is connected to two line). 

     

     

    Now can please relate my query above and share your feedback.

    clinttAuthor
    Visitor II
    March 20, 2025

    Hi Peter,

     

    Can you please share your responses.

     

    Regards,

    Clint