Troubleshooting an LED suit with 2D pixel maps

I’ve got the torso, back, arms and head working with 2D pixel patterns. The only things that I’m still struggling with are how to get the legs to join the party (light up). There are a total of 1160 pixel but changing the total number of pixels in the settings does nothing to increase the number of pixels that light up. Any suggestions would be greatly appreciated. However, I’ll keep trying again tomorrow.

Hi @Kamehana,
I moved this troubleshooting post to a new topic (trying to keep the pixel mapper tool post on topic).

Here are some steps I would do to troubleshoot your LED suit:

  1. Ensure all pixels are getting data. Make sure you have the right pixel count in settings (it seems you have done this), and load a basic 1D render pattern like the “new pattern” rainbow. All LEDs should light up - if not then something is wrong with either pixel count, or the data path/power of part of your suit.
  2. Ensure every pixel has a mapped coordinate and is being rendered when in 2D mode. Even if you have all 1160 pixels in settings and verify they can get data with a 1D pattern, if a 2D pattern is running and there is no pixel coordinate data for a given pixel, it will not render. Put another way, if your legs don’t have pixel map data they won’t render in a 2D pattern.
  3. The pattern selected may not be rendering anything interesting in that area. You can try a simple 2D pattern, like the “new pattern” rainbow but rename render to render2D.

Tip:
In V3 you can verify the current rendering mode currently used by looking at this area near the live preview:

render mode screen shot

Thanks for the troubleshooting suggestions.

I followed your suggestions:
1: Confirmed the pixel count: 1160
2: Confirmed that every pixel has mapped coordinates
3: Tried using “new pattern” w/ render2D

However, I can only get the upper body.

The WS2812B strip that I have has the following set-up:
1: GND
2: BI
3: DI
4: +5v

I discovered something pretty strange with respect to the costume wiring.
I connected the costume ground to the PB ground. I am using the micro-USB to power the PB. So I don’t use the 5v connection on the PB connection block.

The WS2812 strip has two additional wires: BI & DI
What is really strange is that yesterday when I connected the BI to the PB Data - the costume upper-body turned on, and when I connect the DI to the PB Data the legs turned on. However, that was yesterday. Today, I can only get the upper body to turn on no matter which wire I connect. Obviously the PB can communicate with the upper part of the costume. So the lower part of the costume must be wired in a way that makes it incompatible with the PB. This is unfortunate. Ideally, I would like to get the entire costume to work with the PB without having to rewire the lower part of the costume.

It sounds to me (had something similar happen with my firework) like an intermittent data line between the upper and lower halves. Is there a way you could possibly test for that?

Good idea. I’m guessing that I just follow the data line from the upper half and find out how it connects to the lower half. What test did you do to determine that there was an issue with the data line? Also was there a test that you used to determine where in the data line you had the problem? Thanks

Honestly in my case I just assumed it. I used a meter to measure the resistance between the data-out on the last pixel that way working and the data-in that wasn’t and confirmed a break (high resistance, over a few ohms). Using a continuity tester for all three lines would be a good idea.

I also found by trial and error that just putting pressure on the strips, hookup wire, and solder joins in different ways made them start working again.

@Kamehana,
The point of the exercise in step #1 above is to verify that the data is getting to all LEDs and that all LEDs are working:

  1. Ensure all pixels are getting data. Make sure you have the right pixel count in settings (it seems you have done this), and load a basic 1D render pattern like the “new pattern” rainbow. All LEDs should light up - if not then something is wrong with either pixel count, or the data path/power of part of your suit.

With a 1D (plain old render) pattern the pixel map is taken out of the equation. If all LEDs are not lighting up when you have a 1D pattern and you’ve already checked the pixel count, then it is probably a wiring/power issue. If this simple setup doesn’t work, then I wouldn’t spend any time on 2D or pixel maps until they are working.

Since you still have your old controller, try connecting it again and see if everything still lights up. When in doubt, it can help to go back to a known-good setup and change 1 variable at a time.

You mention a DI and BI line, but WS2812 do not support this. That is a feature of WS2813 (and some others like WS2815 which are 12V LEDs). You can count the number of metal contacts on the LEDs. 4 for WS2812, and 6 for WS2813. They use the same data protocol and settings in Pixelblaze, but differ in how many data lines join each LED.

ws2812 vs ws2813

If you do have WS2812s and 2 data lines labeled DI and BI, perhaps they are mislabeled independent data lines and one is routed to the legs (can use an output expander to drive these 2 strings if so). If they are WS2813’s the BI data line should be connected to GND, otherwise the first pixel might get skipped and cause all data to get shifted down 1 position (first pixel draws on the 2nd, etc).

The original controller will turn on the entire costume (upper and lower).

The strip is actually a WS2813 and not a WS2812B. It’s just like the bottom photo.
As you suggested, I connected the BI data line to the GND and all the LEDs turned on. However only the upper body plays the pattern. The lower body is white. It’s progress.

Thanks for the suggestions.

Just out of curiosity, what happens when you run a 1D pattern and set it to 2000 pixels?