Controlling very long LED strips

I was wondering if an Arduino uno can control 500 meters of LED strips. If not is there a different Arduino that can?

Yes, it can.

Can it control the type of strips you want in the way you want? Who knows?

What kind of LEDs?
How many per meter?

Type & total will make a big difference.

A strip of WS2812 LEDs with 30 per meter.

In theory it is possible, but the practicalities of driving so many LED's will not be easily overcome.

In the worst case scenario, lets say every LED showing "White" at Full brightness is going to require a very very large 5 Volt Power Supply.

Typical current drain for each led ( Not Forgetting that there are three LED's per "LED" i.e. Red, Green, Blue) is 20mA typically, so 60mA per RGB LED.

Then you say you are using 30 LED's per metre, so 60mA X 30 = 1.8 Amps.

For the 500 Meters of LED's you plan to use, then I make that 1.8 Amps X 500 = 900 Amps.

That of course is the worse case, but then it is always best to consider worst case's.

The big question of course is why you would want to use such a long strip of LED's ??

I am sure someone will correct me if my Maths are incorrect :slight_smile:

A strip of WS2812 LEDs with 30 per meter.

The answer could still be yes. You did say “control” rather than “power” or “run”. As pointed out, no Arduino can provide 900A and multiple high capacity PSUs would be required. But the Uno could control them all, provided the same pattern/animation is used repeatedly along the 500m. Uno can control around 500~600 ws2812, so long as the patterns are simple. Probably fewer for more complex patterns which might require more of Uno’s 2K of ram for calculations/algorithms. 2K ram is enough for 3 or maybe 4 X 5m strips, which is 450~600 LEDs in total. So if the pattern can repeat every 15~20m along the 500m, Uno can do it. This would be at least 25 repeats, so the data signal from the Uno would need to be boosted with buffer chips because of the number of strips and the distances required.

Other types of Arduino have much more ram, so the pattern may not have to be repeated as often, maybe not at all. But for such a large number of LEDs, the update rate would be slow. I believe there are Arduino libraries that will simultaneously update several strip sections, with independent patterns, to overcome the slow update speed.

Let assume your code is very efficient and takes 1.5 usec to send 1 bit of data (WS2812 takes 1.25 usec per bit), and you have 24 bits per pixel.

So for 15000 LEDs (500 m * 30/m), that would be 360000 bits of data to send per frame

At 1.5 usec per bit, you can have max frame rate of about 2/sec

It will take you a little over 0.5 second just to update the whole strip.

I was wondering if an Arduino uno can control 500 meters of LED strips.

install the library you want to use in your project, set it to 500*30 LEDs and see what the compiler is telling you.

If you are new to WS2812, take your time and read the Adafruit Neopixel Uberguide