Hi all, I'm currently struggling with a project I took on several months ago.

Hi all,

I’m currently struggling with a project I took on several months ago.
Although I have seen this question crop up from time to time, I thought mine was specific enough to ask again.

I am trying to combine parallelOutput with XYmapping and I am finding it difficult to find out where I’m going wrong…

A bit about the project:

It is a waterproof LED suit I have made for a friend with a FlyBoard. (https://tinyurl.com/y86eo67u)

It consists of 8 different length strips of WS2813 LED connected to a teensy 3.2, using an OctoWS2811 adapter board. The suit contains 4 main sections (Arms, Legs, Chest & Back) with two sections in each (left & right) - each contains a different length of LEDs (Arms - 76, Chest - 86, Legs - 91).

So I have two strings of 76, two strings of 86 and two strings of 91.
(Plus two strings for the back which i havn’t managed to complete yet)

I originally tried by creating multiple CRGBs, one for each strip

Code - https://tinyurl.com/yd4ewkue

This gives a nice effect but each section is separate and the colour doesn’t run between sections very well.

I managed to get two animations running simultaneous but it still wasn’t what i’m after. https://youtu.be/PpceKK2IrK8

I then tried using CRGBSets for each of the different sections which was a bit better but still not really what i’m looking for.

I want the suit to be addressed as one matrix so that I can use simple graphic effects across the whole suit. Like colour wiping and/or fire etc.
I aim to implement ‘height to light’ (or acceleration to light) at some stage using an accelerometer - but lets get it working first :slight_smile:

I have tried some other methods for setting up these LEDs with varying effects. Such as an Array of Arrays etc but they just don’t give me the kind of control that I imagined (or I am not code-confident enough to accomplish the desired effects)

The last thing i have tried was to create a matrix with the XYmapping tool kindly shared amongst this community. I first made a matrix for just the right side chest and ran code from the RGBShades Demo mentioned here a few days ago. This is what i achieved with that - https://youtu.be/a5vFuKt09E4

However, when i create a matrix that contains the whole front of the suit i.e The legs, arms and chest (image #3) and output using only one pin with the RGBShades demo for reference, the frame rate drops to 5fps @ 48MHz and 9fps at 144MHz. i know this is not a reasonable test to try and output approx 1900 LEDs on one pin(The matrix needed to be 26high x 73wide to contain the pattern of LEDs - this may have to be even be larger in the future to more accurately define the complex LED layout) but then i remembered my earlier testing with parallelOutput, from which i was getting frame rates of approx 140-150fps.

But then when i changed;

FastLED.addLeds<WS2812, 20, GRB>(leds, LAST_VISIBLE_LED + 1);


FastLED.addLEDs<WS2811_PORT_D, 6(leds, LAST_VISIBLE_LED + 1);

I get no animation on the suit at all.
For the life of me i cannot work out how to set this up using parallel output

Code for Reference - https://tinyurl.com/y9c9pknt

I may be tired or I may be overlooking something simple, but could somebody please kick me in the right direction.

I think it’s just the setup part of the script that is wrong. As when I initialise with a different amount of LEDs i.e - addLEDs<>(leds, NUM_LEDS) different sections of the suit seem to light up on their own. But cannot get the whole suit to light up in unison.

This project is taking up a good proportion of my time at the minute, and as i have a few plates spinning at once i would appreciate if someone could spend 5 minutes to help out a fellow Electrical Engineer.

Many Thanks for reading.

It’s a long piece of text to read but please don’t TL;DR me :slight_smile:

@dalemorris164 - Use the Search Community box on the left of this web page and use the terms: dreamcoat and also try Robert Atkins. He has some amazing posts including code of his awesome Technocolor Dreamcoat. This might help you with your project. One of his sketches can be found at: