Go Down

Topic: Driving a 19x19 led matrix (Read 339 times) previous topic - next topic


I'm designing a 19x19 led matrix (for an interactive go board) and am considering how to drive it.

My first thought was to use 3 MCP23017, one and a half for rows, one and a half for columns. I've used them before and and will already be ordering some for another project. Because of the current limitation I would need to do half row scanning. What I'm not sure about is speed. How do I calculate how fast the MCPs would be able to scan the matrix? Is it fast enough to avoid noticeable blinking? What about brightness?

Is there a better way? Possibly with shift registers or some type of dedicated chip?

You could split it up in smaller blocks and use a  couple matrix driver IC's:

MAX7219: 8x8, i.e. 64 leds, it is easy to chain multiple ICs
HT16K33: 8x16, i.e. 128 leds, cannot be chained, you need output pins for each.
TM1638: 8x10, i.e. 80 leds, can be chained, but need a CS pin for each chip.

All these chips has constant current driver for the leds, i.e. the leds do not need any series resistor.


to be precise: HT16K33 uses I2C bus.
A HT16K33 can be individually adressed, one adress  out of 8 different adresses. In other words - you need two I2C pins for a maximum of eight HT16K33.
how to react on postings:
- post helped: provide your final sketch, say thank you & give karma.
- post not understood: Ask as long as you understand the post
- post is off topic (or you think it is): Stay to your topic. Ask again.
- else: Ask again.


Consider using LED strips (like WS8212) that will allow you to manage all the LEDS with just 1 pin and power.
Arduino Libraries https://github.com/MajicDesigns?tab=Repositories
Parola for Arduino https://github.com/MajicDesigns/Parola
Arduino++ blog https://arduinoplusplus.wordpress.com

Go Up