Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

16x16 led matrix questions

Status
Not open for further replies.

SteveyD

New Member
Hello

I'm interested in building a 16x16 led matrix.

While I'd like to use two MAX7219's, one to drive the rows and one to drive the columns.

Can this be done or will I need to use one MAX7219 and something else?

I've looked at other designs and so far they all deal mainly with the MAX7219 in an 8x8 configuration.
Would mean you'd need four MAX7219's to run a 16x16, one Max7219 for each 8x8 block?

How would you add a second 16x16 matrix to the first to give you 16x32?


Stevey
 
Thanks for that part Bill,

So much for eventually trying a 16x16 bi-colored, that would need six MAX7219's

Need to find an easier (cheaper) way so it may have to be a MAX7219 and something else.

Would the MAX7219 drive the Columns or Rows?

Stevey
 
You could use discrete transistors (mosfets) and serial-to-parallel driver ICs, like TPIC6C595 or MIC5821, but it's a little bit more work for the microcprocessor.

Regards, Mike
 

Attachments

  • 8x32 Matrix.png
    8x32 Matrix.png
    33.6 KB · Views: 6,904
Mike

With your design, could you use a '595 for the rows along with the transistors and reduce the pin count from 8 down to 1?

RA0, RA1, RA2 to the Columns (Ser, SCK, RCK)
RB0, RA1, RA2 to the Rows? (Ser1,SCK,RCK)

If so, then maybe it is possible to use two Max7219's in a similar configuration?
One driving the Rows with transistors
One driving the Columns.


(What program do you use to export your .png images from, is it a circuit simulator?)

SteveyD
 
Hi as already stated you can use a 8x8 multiplexed LED driver like MAX7219/21 or AS1106/07 or AS1115 to drive 16 channels. You need to connect the sinks to the sources on the same driver IC.
If you are concerned about pricing try the austriamicrosystems parts AS1106/07
They are fully compatible to the Maxim ones. BTW: You can order 3 samples for free.
https://www.electro-tech-online.com/custompdfs/2011/01/AS1106_07_Datasheet_v2_26.pdf
A more advanced part would be :
https://www.electro-tech-online.com/custompdfs/2011/01/AS1116_Datasheet_v1_05_LED_Driver.pdf

AS1119 can drive 144LEDs in two 8x9 matrixes, this part is very advanced, but only available in WL-CSP.
https://www.electro-tech-online.com/custompdfs/2011/01/AS1119_Datasheet_v1_03.pdf
I think on this video it shows what you want to do or?:
YouTube - austriamicrosystems' AS1119 144ch dot matrix LED driver demoboard
 
Thanks for that part Bill,

So much for eventually trying a 16x16 bi-colored, that would need six MAX7219's

Need to find an easier (cheaper) way so it may have to be a MAX7219 and something else.

Would the MAX7219 drive the Columns or Rows?

Stevey

As I understand it, the MAX7219 drives both rows and columns for a single 8x8 matrix, using its own internal scan timing. You wouldn't use one for rows and another for columns - that's not what they're designed for and there's no way to synchronise them that I can see.

If you had a 16x16 matrix made up of four 8x8 units mounted together, you'd need four MAX7219 chips, one driving each physical 8x8 block. I'm not sure whether there would be any strange effects due to their autonomous scan rates, though I think probably not.

I also wondered about using two MAX7219 for an 8x8 bicolour matrix, but I've convinced myself that it can't work.
 
Last edited:
Here's a thought..

IC1 = MAX7219
IC2 = MAX7219

IC1 dig0-7 connected to columns 0-7
IC2 dig0-7 connected to columns 8-15

IC1 seg a-g connected to rows 0-7
IC2 seg a-g connected to rows 8-15

What would happen if you strobe IC1 to turn on column 5 and you strobe IC2 to turn on row 11, wouldn't that turn on the led in column 5 row 11?
I'm assuming a transistor would be needed to handle the forward voltage?



If not a MAX7219, would a pair or TLC5940's work instead?
 
Last edited:
Probably wont work, why bother to avoid using just two more MAX7219's?
Ahh yes I forgot bicolor LEDs, well you'll need eight total, do they even support bicolor LEDs?
 
Last edited:
Thanks Bill

I guess I am out of ideas for this to work with a pair of MAX7219's.

I'll start again with a different approach.
 
Here's a thought..

IC1 = MAX7219
IC2 = MAX7219

IC1 dig0-7 connected to columns 0-7
IC2 dig0-7 connected to columns 8-15

IC1 seg a-g connected to rows 0-7
IC2 seg a-g connected to rows 8-15

What would happen if you strobe IC1 to turn on column 5 and you strobe IC2 to turn on row 11, wouldn't that turn on the led in column 5 row 11?
I'm assuming a transistor would be needed to handle the forward voltage?

I'm not following you. I'm certainly no expert and haven't used them (mine haven't even arrived yet!) so beware - I may be wrong. But recently I was thinking how I'd use a PIC to do the job, loading data serially into one to drive one 8x8 matrix. The same day I found the MAX7219 which does the job the exact same way with less fuss and no external oscillator or drivers needed. Cheap too! Brilliant!

[Assuming we're talking about an 8x8 matrix] They're basically eight row drivers and eight column drivers, plus eight bytes of RAM and an oscillator. You load serially 64 bits of data into the RAM and it uses this one byte at a time with completely autonomous internal timing to drive the 64 LEDs. You have no control of the speed it does this and you can't strobe any given row or column - it just gets on with it. That's why I'm saying you can't make them cooperate to drive bicolour matrices or use them to drive bigger than an 8x8 matrix. After each burst of 64 bits of data, the processor doesn't need to do anything until you want to display some different data. The timing is internal. The only way to join them is to let the serial data from one feed the next chip.

Please someone correct me if I've misunderstood them!
 
Last edited:
The method I was thinking of appears to be more along the method of using latch registers.

Reviewing the datasheet in more detail for the MAX7219, it would be much easier to use 4 of them to drive a 16x16 display.
I was hoping to cut that count in half.. running a bi-colored display would double the chips. From what I've read up so far, its not recommended to try to control a bi-color led with 2 separate chips but rather a single one.

Only problem I see with that is you would end up with a 4x8 bi-color matrix instead of an 8x8. That equals 8 MAX7219 chips for each 16x16.

I believe my idea posted today might work with SPI Shift registers with 16 outputs each. One drives the columns, one drives the rows, a 3rd would drive the second color.

I'm researching this path right now.. A pair of MAX6969's
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top