driving second hand matrix

I have been given a load of LED matrix panels as per the photo., that I want to get going for a notice board for a local school.

Some were water damaged ( you can see a rusty LED on the pic ) and the company went under.

The pcb is 8 x 32, but the bottom row of LEDs is not populated.
I have reverse engineered the sockets, and the 7 rows are driven from 7 of the pins on the connector.

I am thinking of having 7 P chan mosfets to drive the rows on all the panels.

The columns are driven by TPIC6B505s , which I am very familiar with, but I always use them for driving 7 segment displays.

I assume I should shift and latch the column data for the top row into the TPICs, then switch on the FET for the top rows.

Then a delay for the POV ?

During the delay I can take the TPIC latches low and be loading the next column data into the shift registers

Then switch off the top rows, latch the data into the TPICs and switch on the second row, and so on.

That I should be able to do, but I am not too confident about how to store the text to be displayed, and presumably an array to store the " slices" of each character from the look up table, and how to send this data.

I have searched around on the site, and there is a lot of info and advice ( mainly rather use a MAX7219 ! :slight_smile: )
I don’t need scrolling, and the LEDs are not multicolour, so I want to keep it simple.

I havn’t got a lot of time to spend, and wonder if anyone can point me to a simple library to drive this ?

ledpanels.jpg

No, given what you have you do not want a MAX7219!

These displays are based on shifting in one whole row at a time, thereby multiplexing through the seven (or eight if you populate them, but the intensity will not match) rows. (You could even make the bottom row green!!)

What you need are serious anode drivers for the rows, capable of at least an Amp - calculate from the column resistor values what the column current would be presuming 5V drive through a logic FET, and multiply that by the number of columns.

Why are the corner LEDs blacked over?

Your proposed sequence is essentially correct - except that the approach is:

  • Set up your next row of data into the registers.
  • Disable the current row.
  • Strobe the latch.
  • Go do all your other processing, repeating all that other until by reading the millis() counter, the time is ready to go to the next row.
  • Loop.
    Put more correctly, you go through your main loop of all operations, never waiting for any event. One of these operations is to check the time - if it is not ready yet for another row to be displayed, then you simply pass on to the next operation but it the time is ready, then you perform the above sequence of steps - and then pass on to the next operation.

You do not need a library.

Thanks Paul,

I think you missed the smiley after the reference to the Max chip :slight_smile:

I use the MAX7219 on some of my alphanumeric signs, and it certainly makes life easier.

I use the TPICs on the 7 seg latched signs.

But of course these free boards already have the TPICs on them.

I have no idea why the two LEDs have sockets on, its only on this one panel as far as I can see ...

Of course I missed that I dont want to put any delays in - I forgot we are refreshing the display as fast as possible, thanks.

The drive side I think I can manage, but its the actual sorting out the data that I am a bit confused with, and hope there might be a library to help

Boffin1:
I forgot we are refreshing the display as fast as possible, thanks.

Not actually "as fast as possible", but a multiplex by seven at say, 50 frames per second would be 350 rows per second or one row each three milliseconds.

Boffin1:
The drive side I think I can manage, but its the actual sorting out the data that I am a bit confused with, and hope there might be a library to help

I should think you would want an adaptation of Marco's Parola library. That appears to be the "gold standard"; you may need to adapt it to some extent to suit a heavily row-oriented structure rather than what I gather is more column-oriented for the MAX7219, but I understand he has provided some support for that anyway.

Thanks Paul, I will have another look at that library when I get a chance
I have to shelve this at the moment as a load of orders have come in at once thank heavens ( like the London bus story, wait an hour and three turn up at once :slight_smile: )

Boffin1:
a load of orders have come in at once thank heavens

Ja you have to keep that bucket glass in your hand topped up ne? 8)

Ja Jimbo, but that's an old photo, its a nice Stellenbosch red nowadays :slight_smile: