Pages: [1]   Go Down
Author Topic: General 'concep't of running/controlling large amounts fo leds? (matrix?)  (Read 890 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Edison Member
Karma: 8
Posts: 1251
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Im fairly new to embedded electronics/Arduino world in general...

I have played with a few different platforms.. worked with some basic Arduino test projects/code..
used a few external components, switches, sensors, leds, accelerometers...etc

all of this is fairly straight forward stuff..  my strength (more my focus) is code side.. I lack much in hardware/basic electronics knowledge.

I am not asking for 'code'.. or any schematics...etc,... just a general conversation, in laymen terms preferably, about how it works.

if there were 'MANY' leds in a string.. I understand how using one I/O post to control ONE led works..

but when you have say 30 or 60 LEDS you need to control? how do you go about that?

You obviously do NOT have enough I/O pins to control all of the leds directly..

when I have seen an actual example of a led usually in sections..

say 6/8 legs in a 'segment'..then several segments to make a total of "XX" (whatever)

I see/read about people talking about LED maxtirx's..

which Im assuming is where this discussion leads to? (yes)

but before I look at this 8x8, 6x8, 2x8 matrix diagrams...etc terminology, I need to be able to understand and conceptualize what I am reading..

anyone got some kid gloves (and links) to help a thick headed, un-experienced member understand? =)

Thanks guys.


Offline Offline
Faraday Member
Karma: 31
Posts: 2611
Per aspera ad astra.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 There is an IC max7219, look on data sheet at:

And you can make a search on similar chips by key words.
Hope it will help.

Ontario, Canada
Offline Offline
Karma: 0
Posts: 27
I love Arduino
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

There is a trick called Charlieplexing (Charlie + multiplexing) which allows small number (n) of control pins can control n(n-1) LEDs.
I found this link from Google search with a keyword 'charlieplexing led,' and found the insctuctable explains this trick quite well.

Hope this helps.  smiley

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
Karma: 549
Posts: 27434
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If you look at a part like this
You will see lots of common connections.
If you a single LED on, you drive a left pin high (the anode connections) and a top pin low (the cathode connections).
Want a whole row? Anode high, all cathodes low.
Want a whole column? All anodes high, one cathode low.
Anything else requires switching them in a pattern repeatedly over time.
For instance, a diagonal line.
Switch A1C1, then A2C2, then A3C3, etc. each combination briefly & repeatedly so to the eye it looks they are all on.
Typically one would do something like set the columns, pulse the row on/off, & repeat thru the matrix.
write columns, pulse row 1
write columns, pulse row 2
write columns, pulse row 3
Chips like the MAX7221 do this cycling for you, and also control the current so no external current limit resistors are needed.

* LTPL42557AC.jpg (34.24 KB, 960x720 - viewed 21 times.)

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at
Arduino for Teens available at

Pages: [1]   Go Up
Jump to: