Powering 3200 LEDs controlled by Arduino, how do I / do I have common ground?

I'm by no means an expert at this which is why it's fun learning... but I need to do something outside my comfort zone which feels very likely to fry things and I don't want to do that!

I'm using the FastLEDs library to control a strip of 150 WS2812 IC Controlled LEDs. I experimented originally by cutting the strip and just controlling 5 which worked well off the board. Power from the 5v pin and back to ground, data from one of the digital pins.

When I went up to 150 my brain said I was going to need more power and I have a 5v 1amp supply on the desk so I wired that to the LED strip hot and neutral and just had the data pin on the Arduino connected up and sending the info.

This lit all 150 well but flickered. On more digging on Google I found that I needed to connect the GND from the LED strip (that goes back to my power supply) also to my Arduino. I did this and it works beautifully.

Now I've been asked if I can scale that up next week for a display to 450 LEDs (3 strips). I know that my 1 amp won't be enough here and I've been handed a 5v 20amp transformer for the task, I also have a 5v 30amp one of my own if it were to prove inadequate for the task.

So my general electronics knowledge is pretty (decades) rusty but if I set the LEDs and the Arduino up to draw from the same PSU then they only draw what they need and the fact that they share a ground won't melt my little buddy.... I think.... but I don't know.

I also don't know what to do if I end up needing half a dozen PSUs....

Any help appreciated, I get that it probably a very basic ask!

In theory, 450 leds could draw up to 27A, if all leds were set to max brightness white. Most patterns & animations use significantly less, depending on the pattern/animation, it could be 1/3rd of that, or more or less.

FastLED library allows you to specify a max power draw. If a pattern/animation would exceed that, it automatically lowers the brightness to keep the power within the limit you specify.

The Arduino will draw the current it needs, no more. Don't try to run all the current through the Arduino. Take separate 5V & gnd lines from the psu to the arduino and from the psu to the strip.

Use good quality thick wires to power the strip, and connect each 5M length at both ends, plus somewhere in the middle. The strip itself can't take too much current, the copper strips on the strip are too thin. The result would be a voltage drop causing a colour change along the strip when the leds are supposed to be the same colour.

Put a ~500R resistor in the data line, close to the start of the strip. Put 1000uF caps across the power connections to the strip, at least one for each 5M section.

If you use multiple PSUs, connect the grounds but don't connect the 5V lines. Use them to power different 5M strips.

Cracking stuff, thanks.

Wired up one strip now as you suggested. Don't have the Caps to hand so need to grab those before I go further then.

Please note that you can't use a transformer directly to power Arduino or led strips. Transformers are AC 'devices'.

Did you mean power supply?

As an aside, 1000uF is an overly pessimistic spec for the filtering cap, much less is sufficient under typical operating conditions. Often no additional cap is needed at all. But sometimes one is (depending on power supply, wire length and resistance, etc).

Though, you do have to inject power every strip or so, due to voltage drop over the length of the strip) - if you're running into the blues not working well in parts of the strip far from where its connected to the supply, this is the problem.

3200 LEDs? 192A max current (a kilowatt!), 1/10th of a second to update the whole string, and 9600 bytes of RAM needed for the frame buffer. All of these will pose some scaling challenges.

sterretje:
Please note that you can't use a transformer directly to power Arduino or led strips. Transformers are AC 'devices'.

Did you mean power supply?

I definitely meant power supply!

DrAzzy:
3200 LEDs? 192A max current (a kilowatt!), 1/10th of a second to update the whole string, and 9600 bytes of RAM needed for the frame buffer. All of these will pose some scaling challenges.

Absolutely and that's part of the reason for posting. We're assuming we'd need quite a lot of supplies and probably 4 Unos or maybe 2 Megas at least because the data will come from - not sure if everyone is familiar with the term - DMX.... so in the test run I did I created a couple of sets of arrays that (with config) say "LEDs 1 through 50 will present as Fixture 1 which is a 3 channel RGB lamp etc etc etc".

To give the context the smaller scale project (450 LEDs) is to "prettify" an installation we're doing at a local shopping centre to support a mental health project and it's hundreds of butterflies (decorated by local school kids) stuck to a rather large representation of the same made from MDF. Relatively simple, damned good cause.

The larger project is to create an 8 x 8 grid of squares on the floor, covered in thick poly-carbonate, each grid full of the 2812s. This is then installed at the theatre and plugged into (via DMX) the lighting desk so that the lighting guy can - at any moment - turn on one, none or any number of the squares in the floor to support the dancers / actors on top in a musical called - no prizes for guessing - Chess!

It's likely going to cost a few grand so plenty of prototpying and opinions are very welcome as we're not a "for profit" bunch of folk!

The larger project is to create an 8 x 8 grid of squares on the floor,

So, 3200 LEDs calculates-out to 50 addressable LEDs per square.

That's probably impractical... Not that I have anything against impractical projects... I have an 8-foot "speaker stack" in my living room and an 8-foot "VU meter" that I made! Oh yeah, plus some sound activated lights in my van. Those lighting projects were a lot of work for something that's just a "gimmick", so... Very impractical!

One DMX controlled RGB light per-square might be enough... I don't know how many "channels" the Saturday Night Fever dance floor had, but the patterns were repeated so there weren't a lot of channels.

Whatever you do for theater has to be super reliable and that's not easy with a one-off project and there's usually a time-crunch to get the props designed, tested, and debugged. If you do this, I recommend making it modular & serviceable... i.e. Make an extra "square" or two that you can quickly drop-in and plug-in. Ideally, you should have spares of everything (that's another advantage of using multiple power supplies instead or one power supply). Everything should plug-in so you quickly make a repair without soldering, and ideally you should have spares of everything.