I am at the point of wiring up this beast.  I really am not

I am at the point of wiring up this beast. I really am not certain how many lights are here but I know there are 7 different lines of connection that are needed for each of the set of lights on this project. I think that I have the following:
1 line of 24 LEDs
1 line of 80 LEDs
4 lines of ~120 LEDs
1 line of 6 LEDs

I will be using a Teensy 3.2 to run this project and bought the OCTO board to use as a level shifter to ensure integrity of the signal. I want to use separate controllers so that it don’t have to refresh all the lights with each change to maintain the highest refresh rate while maintaining the most time for CPU cycles for my pattern algorithms.

With all this said, what configuration would you think would be best?

just FastLED?
FastLED with parrallel output
FastLED with OctoWS2811?
other FastLED options?

Appreciate the feedback and assistance!

This thing is going to be a beast to program and just want to set it in the best way possible to begin with because changes halfway down the road might just give me a mental breakdown.

That’s looking pretty great! How large is it?

Its 31 inches in diameter and 5 inches deep.

what’s the wire length between the Teensy and the LED strips? Are you using WS2811 ??
On a similar setup with APA102 I used just the Teensy and wired Data and Clock right to the board. Wire length 2-3m.

I would say the longest length between the level shifter and the first led is maybe 18 inches max. And they are mostly WS2812Bs

@Justin_Eastman then try first to connect them directly to the board.
You’ll see - no sweat. The Teensy is awesome, Thanks @PaulStoffregen !!

+Juergen Buegl thank you for this input, however, I bought the octo board, andas far as I understand the only thing is does is do the level shifting on certain pins (specifically the ones that the OCTO library uses). I think I may have misled from the original post. I think I am more looking at this from the perspective of how to arrange the code. Does it make sense to just define separate controllers and use the native FastLED support or should I attempt to use the FastLED parrallel support or should I go even further to use the FastLED parallel and OCTO support. I suspect that my setup lends itself to one of these approaches better than others and that even one of those is definitely a “don’t do that” approach. Just trying to figure that out ahead of time.

I love KISS - just FastLED, done.
And btw, it is then easily ported to ESP8266 if you wanna get fancy :slight_smile:

If I just wanted to get it done, I would not here asking for advice. I have built enough LED projects to know the KISS rule is not always the best rule. I am trying to do it the best way and tap into the knowledge here in the group. I do thank you for your input.

With that said, I have some ESP8266s laying around… its on the list of things I need to find time to mess with…

@Juergen_Bruegl the teensy is still a better solution for pushing/driving a bunch of LEDs in parallel. The ESP8266 appears to have some problems with noise across pins when updating multiple pins in parallel that I don’t think I’ll be able to fix in code (I just had to switch a project that planned to use the 4-way parallel output in the 8266 to separate outputs because of this).

@Justin_Eastman I would just put everything on the OctoWS2811 ports, and use FastLED with the OctoWS2811 driver. At 3.6ms to write a frame’s worth of data you’re going to be topping out at 300fps anyway - so may as well just keep it all parallel - plus then you could make better use of dithering when cycling all the LEDs.

@Daniel_Garcia Is the OCTO library still useful when the led arrays are varied in length? I have never used the dithering function. I actually always turn it off because I have traditionally done all the fading on my own and found that I got flickering or stuttering when it was on. I think that may be because I don’t continually call FastLED and only call it upon changing an led??? Not sure how to use the dithering unless you are just calling show() at the end of the main loop all the time?

@Justin_Eastman To use FastLED’s dithering optimally, limit your drawing function to be called no more often than once every (say you want 60fps) 16ms, by calling FastLED.delay(16-elapsedThisFrame); – FastLED’s delay() will automatically spam updates so long as dithering is enabled.

@Justin_Eastman As for wiring, I’d find a layout that’s easy to wire, and map the pixels using indirection (I usually use array indices, but pointers also work; pick whichever makes more sense with your platform’s pointer size).

I tend to prefer making any physical maintenance as easy as possible.

Its all wired up and initial programming done. I went ahead and used OCTOws2811 library and of course FastLED. It wastes a lot of memory but with 64k of it, there is lots to waste… I have 6 leds in the middle that are GRB which I just plan on swapping the GR values to RG when processing those lights… Thanks as aways for the good input from eveyrone and to Daniel and Mark for enabling

Here is the initial test pattern - had to turn the brightness down to 75!

@Justin_Eastman I LOVE that you use indirect light on this installation. Kudos!

This is really cool, Justin. I am still mystified as to how the LEDs are mounted. Can you give us a side view?

@Daniel_Wilson
https://plus.google.com/+JustinEastman/posts/7gknA4mpmeX

Oh, wow, this is much more layered that I was imagining. Really cool. I haven’t done and indirect light project yet, but I really like what you’re doing here.