BlinkStick Pro ignoring Channels

Hi there,

just upgraded from a Blinkstick Flex to a Pro. I’m trying to address a total of 106 LEDs (WS2812b Strips).
64 of them are connected to the R Channel, and the rest (42) to the G Channel.
The LED Strips are connected to a Power Supply.
My Problem is, that nomatter what i do, the Blinkstick just uses the LED’s from Channel R.
If i set a Test-Notification in the Blinkstick Client (2.0-rc10), LEDs: 0 to 41, Channel: G it will use this Effect on the LEDs 1 to 42 on the R Channel.
I testet the B Channel aswell - no difference.
The LED Stripes are working, testet both on Channel R and no Probleme here.

In my own Tool that uses Blinkstick .NET Library, the Stick behaves the same.

// <param name="channel">Channel (0 - R, 1 - G, 2 - B)</param>
Device.SetColors(1, colors);
// Does not Set Colors on Channel one, instead it does it on Channel 0

Any Idea how to fix that?
Thanks for your help :slight_smile:

Greetings Andreas

Hi Andreas,

That’s weird. Can you please show me your wiring?

Hi arvydas,

Here’s the Stick:
https://i.imgur.com/WJAoZt0.jpg
The Gray Cable is the GND from the Power Supply, Red is LED Strip 1, Blue the 2nd.
If i swap blue and red, LED Strip 2 is working, but 1 not.

Heres a schematic of my wiring:
https://i.imgur.com/QKquAik.jpg
i set it up like in the tutorial section described.

Thanks for the schematic, your wiring looks good. I’ll test your setup on Monday with the latest version of the library and will let you know.

Hi arvydas,

did you found something out ? :slight_smile:

I can confirm that client application does not work and will look into this, however I picked up the latest source from Github for the BlinkStickDotNet library https://github.com/arvydas/BlinkStickDotNet and it works as expected.

I tested with the following sample code which turns on the LEDs red on the R channel for 1s and then does the same for G channel.

using System;
using BlinkStickDotNet;
using System.Threading;

namespace BlinkStickProChannels
{
    class Program
    {
        static void SetColor(BlinkStick device, byte channel, byte r, byte g, byte b)
        {
            byte[] data = new byte[3 * 8]; 

            for (int i = 0; i < data.Length / 3; i++)
            {
                data[i * 3] = g;
                data[i * 3 + 1] = r;
                data[i * 3 + 2] = b;
            }

            device.SetColors(channel, data);
            Thread.Sleep(20);
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Set indexed color frame. \r\nThis example requires BlinkStick Pro with 8 smart pixels connected to R channel.\r\n");

            BlinkStick device = BlinkStick.FindFirst();

            if (device != null)
            {
                if (device.OpenDevice())
                {
                    SetColor(device, 0, 255, 0, 0);
                    Thread.Sleep(1000);
                    SetColor(device, 0, 0, 0, 0);

                    SetColor(device, 1, 255, 0, 0);
                    Thread.Sleep(1000);
                    SetColor(device, 1, 0, 0, 0);
                }
                else
                {
                    Console.WriteLine("Could not open the device");
                }
            }
            else
            {
                Console.WriteLine("BlinkStick not found");
            }
        }

    }
}

Hi arvydas,

i can confirm that it works with the latest version of your Library.
I must had a too old Version :(.
Thanks for the quick Support! And have a nice day.

Greetings
Andreas