Best way to control on/off state of 900 LED individually?

I need to set on and off state of 900 LEDs which have been positioned in a single line.
Whole 900 states will be updated once in a minute.
The solution that I have in mind is a two dimensional wiring, 30X30, and then controlling each 30 wires by multiplexers.

Is there a better and easier way?

Are they to be lit consecutively, are many on at the same same? Are they in any pattern?

More info would be helpful.

Weedpharma

I think I'd go with 15 MAX7219, each controls 64 LEDs. Will achieve much better brightness vs 1/30 of the LEDs being on for 1/24th to 1/30th of the time with your own multiplexing.

weedpharma:
Are they to be lit consecutively, are many on at the same same? Are they in any pattern?

More info would be helpful.

Weedpharma

Each LEDs may be lit for a fraction of a second but they should not flicker.
They show a pattern. They may be all OFF or All ON or any possible combination.

With a serial shift-register approach you can control as many LEDs as you wish with 3 control lines (Clock, Data, Latch).

You clock-in all of the data, which you your case would be 900 writes, and then latch the new pattern so although the data propagates serially, the new state of all LEDs is latched-in at once. If you need to rapidly change the states/patterns you might have to do some calculations to estimate if you can update the display pattern, but once per minute would be no problem.

Since each shift-register is driving the next one in line you don't have to worry too much about your control data deteriorating over long distances or with many LEDs. Serial shift registers are probably easier to wire-up than a matrix, especially if the LEDs are physically in a line.

I've got a project with two pairs of 3 [u]MAX6978[/u] driving 2 "strings" of 24LEDs each... Nowhere near 900, but it's the same concept. Maxim also makes a similar 16-port driver, but these Maxim drivers are expensive... No matter what you do to drive & address 900 LEDs, the cost is going to add up! The labor is also going to add-up! It took me "forever" to hand-solder 48 LEDs (96 connections), although there were some things about the mechanical/physical design that made it a little tricky.

CrossRoads:
I think I'd go with 15 MAX7219, each controls 64 LEDs. Will achieve much better brightness vs 1/30 of the LEDs being on for 1/24th to 1/30th of the time with your own multiplexing.

As usual, that would be my suggestion. Importantly, the MAX7219 performs the current control, so you need only one resistor per driver chip, and it performs all the multiplexing for you, so you do not have to code it.

Depending on how close you mount the drivers to the display, and how the display is spread out, wiring the LEDs into matrix form is likely going to be substantially easier - only 16 wires from a driver per 64 LEDs.

900 individually latched LEDs x 20mA each equals 18Amps. Have you considered a) the necessary power supply and b) the relevant cable loadings ?

Say the drive voltage is 5 volts then dropping a nominal 3.2 volts would generate around 60 watts of heat.

OK, all 900 may not be illuminated at the same time, or if so, for any length of time, but your design concept should make allowance for the possibility.

jackrae:
900 individually latched LEDs x 20mA each equals 18Amps.

Whereas, though not quite as bright, multiplexed to 40 mA per LED on a 1 of 8 cycle, would be 4.5A.

Incidentally, if you could get away with 896 LEDs, that is only 14 MAX7219s (plus 14 resistors, 14 0.1µF and a dozen or so 22µF capacitors).

No matter what you do, you are going to go mad constructing this. How closely spaced do you intend them to be? If for example you wanted one tenth inch spacing and used SMD LEDs, then 64 would occupy only 6.4 inches and you could use PCB modules to resolve the wiring.

In this project the LEDs guide the end user to do some handcraft works depending on the lit LEDs.
It's not so desired but, if the problems make the project to be a difficult one to overcome, I can build 128(2X64) LED blocks which only 100 LED will be attached to each. And 9 blocks will be addressed one after another when the end user presses a button.

I think this will ease the whole project.

Since each shift-register is driving the next one in line you don't have to worry too much about your control data deteriorating over long distances or with many LEDs.

While this is true for the data signal, it is not true of the clock or latch and you might have to use buffers for a long chain.

@moham14
You have not said over what distance you want to spread these LEDs. If it is too far then the whole project can become untenable.

I would consider using NeoPixel arrays, which would simplify things greatly.

MarkT:
I would consider using NeoPixel arrays, which would simplify things greatly.

But of course, cost ten times as much.

Such is life!

Paul__B:
But of course, cost ten times as much.

Such is life!

The judgement on cost depends on how you value the time it makes. A string of WS2812 would maybe cost around £120, but the wiring is simple and the software is easy with standard library. OTOH, designing, building and testing a bespoke config would take several hours. If we take an engineers time at £25/hour, can you complete a bespoke design in 5 hours?

For a one off installation, using off the shelf modules or WS2812 or similar is a better solution.

But I would consider a 32x32 panel which you can buy ready-made, and is a lot cheaper than addressable LEDs. It depends on what form factor is required, which the OP does not state.

bobcousins:
It depends on what form factor is required, which the OP does not state.

Well ...

moham14:
I need to set on and off state of 900 LEDs which have been positioned in a single line.

OK, cheaper than I thought. £115.98 it is! (£125.97 waterproof).


That's 15 metres long by the way. :smiley:

Rather than an LED display, have you considered using a computer display screen (VDU in old words) and dividing it up into a 30x30 matrix with each matrix block being addressed and controlled via software. That would not only eliminate the need for manufacture and power supply problems but also increase the display potential as you could also address blocks by colour.

what is the power requirement for 900 ?
how many can be addressed from a single connection ?

link to suppier ? I found that e-bay here in the US was closer to $200.

I completely agree that if you take 10 hours to figure out how to program the descrete components and then 8 hours to solder all 900 and a few more hours to troubleshoot. that a $200 cost would be much lower in price.

if you plan on making hundreds, then the production line discount will spread that engineering over the total units and make that lower cost.

jackrae:
Rather than an LED display, have you considered using a computer display screen (VDU in old words) and dividing it up into a 30x30 matrix with each matrix block being addressed and controlled via software. That would not only eliminate the need for manufacture and power supply problems but also increase the display potential as you could also address blocks by colour.

the OP said 900 in a single line. I missed how long that line needs to be. and if it will be for public display or hidden behind something.

900 in a line at say 10mm spacing works out around 9 metres. What the OP originally suggested is perhaps not exactly what he meant - it sometimes happens.

Perhaps it is what he meant - I can think of applications such as kitting, or order picking where you might want to highlight part bins that the operator should go to.

Impossible to tell without more info, but these details really do make a difference to choosing the most appropriate solution, and sadly most people posing the questions don't provide enough information.

bobcousins:
Impossible to tell without more info, but these details really do make a difference to choosing the most appropriate solution, and sadly most people posing the questions don't provide enough information.

And don't read the "How to post" sticky.

Ain't that the truth.