Looks like I might be able to get re-started on my LED suit project. Wondering if I can get some expert and/or experienced opinion. The ‘suit’ will be made up of 10 6-led-wide by 12-led-high grids made from 60 led/meter strips (WS2812b). Most, if not all, of the effects will be mirrored (right and left). I’m trying to decide between three hook-up options but don’t know if one has an advantage as far as speed goes. I’ll be using an Arduino Mega 2560. Hopefully I’ll be able to post diagrams below.
Option 01 – Run every grid separately (72 leds/grid), off of nine pins on the Arduino.
Option 02 – Run as four 6x24 grids (144 leds/grid) and two 6x12 grids (72 leds/grid), off of six pins on the Arduino.
Option 03 – Run as two 6x60 grids (360 leds/grid) off of two pins on the Arduino.
I guess what I’m asking is, will I get better performance out of the Arduino and FastLED running more grids with fewer leds each, or fewer grids with more leds each?
From previous discussions with Daniel and my experience with using multiple pins (as high as 34!!!) of a MEGA2560, there is a very small overhead cost to using multiple pins but probably not significant enough to worry about.
In a nutshell, I would go for what is the best wiring solution for you. You will not have a noticeable performance drop !
However, I would suggest that you will get a significantly better performance out of a Teensy3.1 and it’s OCTOws2811 adapter !!
I got a great (eBay) deal on my first couple of WS2812’s when I first ventured into addressable leds so that’s why I’m playing with those. Also, I have arduinos sitting around from other projects.
There’s a good chance I’ll upgrade everything since there’s a serious possibility I’ll try and wire up Christmas lights for the outside of the house one day.
This project is mostly to force me into an accelerated learning curve.
I’m also a big shiny object and squirrel chaser, so I want to make sure this will entertain me for a long time before I start sinking significant cash into it.
I would go with whichever of option one or two was most convenient for the wiring, with a preference for each panel off a separate pin if there’s not much difference. Parallel output on the Due will give you much better frame rates.
A Due is an Arduino that has more or less the same footprint as a MEGA2560 but much more powerful. You can use it to drive strips in parallel, the MEGA2560 cannot !
However, the Due operates at 3.3V so that would require a level shifter.
(I just realized I was thinking “shift register” when I read “level shifter”. My mistake. I’ve used level shifters on the Mega for different sensors on a quadcopter, and shift registers for previous LED projects. Sorry for (my) confusion.)
For power, so far, I’ve used a USB backup battery (2 Amps) or a wall wart. I just recently tested a a 5 meter strip of 300 LED’s to make sure they were all working. I powered it off the USB battery and it had no problem lighting the whole strip in red, blue, or green, even though power was only connected to one end. However, with yellow or white, it definitely wound up with an unintentional gradient effect (I didn’t have time to see what would happen if I ran extra leads to the other end).
I always run separate power to the LED’s – I don’t run them off the Arduino directly. Currently (pun intended), I have a 5-volt wall wart with a capacitor bridging the + and - and then running to the LED strip(s). I tap in power every 2-3 meters. The ground/negative of the wall wart is also connected to the ground of the Mega 2560. I have a resistor between the Arduino data pin(s) and the strip(s).
I’ll experiment with different power sources once I have all the panels built. Right now I’m thinking multiple USB batteries, each powering a section or two. Or an 11.1 volt lipo battery (I already own a couple for quadcopter flying, so no additional expense) with regulators or buck converters to feed separate sections.
For the layout, I’m now leaning towards controlling all ten grids with their own pins. Even if I only get the rainbow running mirrored on all of them at once, it’ll look cool, but I’ll still have the option of doing something more complex later.
I’ve thought about buying a Due, but haven’t committed yet. Since I’m new to this and already using the Mega, I think I’ll learn as many basics as possible first, and then experiment with different hardware later. I don’t want to muddy the water (there’s already enough silt in my brain).
Thanks everyone for all the EXCELLENT and GENEROUS ideas and advice.
Ah right, you said Mega 2650 not Due, forget me. The Mega’s pins are indeed 5V so you won’t need level shifters, and you can not indeed do parallel output on the Mega. So I think you will indeed find your frame rate to be cripplingly slow. Give it a go with the Mega you already have but I’d anticipate having to upgrade to a Teensy 3.1 (and therefore level shifters & parallel output) at some point. They’re only twenty bucks and you’ll get a much better result.
I’ll get the LED car rolling first, and then add the turbocharger and spoiler later! Thanks again for all the help everyone. Hope I can do the same for others once I know a little more.
Just a quick followup in case anyone looks at this later. All 10 panels ran successfully – off one signal for now – using a 3S (11.1 volt) lipo battery. The Arduino was powered directly from the battery, and the panels split up and powered from three buck converters that could handle up to 3 amps each. Most of the effects were run at half brightness which was still VERY bright for night use. I haven’t done an endurance test at this point, but it ran for over half an hour and still hard charge left on the battery.