P2 Driver for HUB75 LED Matrix Panels - Project in the works



  • I've attached the specification for the HUB75 panel we'll be stocking. We're placing an order for 100 units to start.

    We'll also add a wider panel more suitable for text scrolling, next.

    Ken Gracey
  • Update: status of in joint investigation with @"Roy Eltham":

    We found that the panels showing the text doubling and overlap are using a different (and lately less common) addressing scheme.

    To explain I have to introduce a topic briefly. (if you are not interested in how we send data to these panels, you can skip this post, just know that we've identified the problem.)

    In Detail:
    When buying panels you'll see that 1/16 scan and 1/32 scan panels are more common lately and use ABCD and ABCDE addressing respectively. When looking at these panels one sees that there are 2x more rows than addresses (e.g., 1/16 scan has 32 rows, while 1/32 scan has 64 rows, etc.)

    For this to work, we emit RGB1 values simultaneously with RGB2 values effectively sending 2 pixels of data in a single clock. For 1/16 scan we are sending pixels for rows 0 and 16, 1 and 17, 2 and 18, etc. at the same time. We paint the top half rows 0-15 simultaneously with the bottom half rows 16-31 (or 0-31 with 32-63.)

    The ⅛ scan panels, in this specific case, 64x32 are a different animal in that we now have 32 rows and only addresses 0-7 (ABC, only, addressing.) HUB75 limits us to still sending only RGB1 and RGB2 values at the same time. So a ⅛. scan 16-row panel works in our current scheme but a ⅛ scan 32-row panel doesn't.

    This will cause a different pixel ordering on the serial stream and sending 4 pixels for each address but I'm not yet finding good examples for how this stream has to look. A visual example of this painting of 4 lines at a time can be seen in this Sparkfun post (scroll down to the black/red animated images.)

    I do want to address ⅛ scan panels in the driver, but after discussion with Roy, we decided that I will first clean up 64x64 single panel display timing, and get the multi-panel display working before I try to add code to handle the ⅛ scan panels.

    Thanks for reading.
  • Ken Gracey wrote: »
    I've attached the specification for the HUB75 panel we'll be stocking.

    "Excellent" choice Ken, as the ICN2037 driver chip for the 64x64 1/32 scan panel quoted in the .pdf is already supported by this driver and is the same panel a @Twyyx had sent to me to use during awakening of this support!

    In HP parlance, an "Excellent question" is one for which we already had an answer ;-)
  • Based on the number of chips on this 64x32 1/8th scan panel, I think it's arranged as if it were two panels chained together. So it's very likely that once you get multi panel working, that it may just allow these to work, however, I suspect the arrangement of the 2 panels worth of stuff on these might be interleaved instead of a top/bot or left/right type of thing.
  • YanomaniYanomani Posts: 1,118
    Hi Roy Eltham and Stephen Moraco

    Would you mind re-posting any links for those 64x32, 1/8 scan panels you've been talking about?

    Unfortunatelly, I also didn't got a means to understand which kind of panel (led-pitch) you've been talking about: P2, P3, P4...?

    Any closeup image(s), took from the backside would be highly appreciated. :smile:

    Thanks in advance for any useful reference.

  • Stephen MoracoStephen Moraco Posts: 111
    edited 2021-01-20 05:00
    Latest Progress
    - Multi-panel now works in development code (not yet released, sitting on develop/ branch in repo)
    - I have a better understanding of what's needed for our ⅛ scan panels (just a bit more code... ;-)
    -- To the user of a 64x32 ⅛ Scan panel it appears as 64x32 pixels (internally the driver treats it as a 128x16 panel, just fun!)
    -- Oh, also they draw 8A @5v at full-on for each 64x32 panel.

    Latest Issues I'm chasing
    - I'm having difficulty with my most-performant panels (FM6126A-based) as these need custom init code at power-on. I can init a single panel. Multiple panels don't init correctly.
    -- The related chips are FM6126A, FM6126Q (w/2 init registers), and FM6127 (w/3 init registers). The Chinese datasheets don't cover the needed initialization serial chains. Lots of RPi and Arduino users refer to a working snippet of code... which also works for me when ported for single panels but not for multiple panels. Unless I find more online references I may be down to stepping thru likely bit patterns until I hit one that works.... (mumble...mumble...)
    -- FYI: (links to the various posts about this init stuff.) which are also in my code.

    More news when I have more... ;-)
  • Stephen MoracoStephen Moraco Posts: 111
    edited 2021-01-20 05:08
    Yanomani wrote: »
    Would you mind re-posting any links for those 64x32, 1/8 scan panels you've been talking about?


    The ⅛ Scan i found at: Amazon - ⅛ scan (but says 1/16th, sigh)

    Larger panels reportedly using FM6126A chips (but i"ve no first-hand knowledge): also at Amazon
  • YanomaniYanomani Posts: 1,118
    Hi Stephen

    Thanks for reposting the 1/8 scan panel link.

    I use to save the meetings chat sessions very often, but sometimes, my 4G connection simply drops, closing the Zoom session, and I feel like a lost soul, in a swampy vacuum... :frowning:

    Also thank you for the heads-up, about the evolution of the project.

Sign In or Register to comment.