Skip to content

BlinkStick Flex: How to update all 32 LEDs simultaneously? set_led_count(32) lights only first 8 LEDs #126

Description

@DimaTepliakov

Hi BlinkStick team,

I’m using a BlinkStick Flex (32 LED strip) with the Python library on Windows, and I’m trying to light all 32 LEDs at the same time.

Current Behavior

Using set_color() in a loop works, but LEDs update sequentially (one-by-one):

for i in range(32):
    bs.set_color(channel=0, index=i, hex="#00FF00")

This results in visible delay / sweep effect.

Attempt to enable bulk update

I noticed the device exposes set_led_count(), so I tried initializing the device like this:

bs.set_led_count(32)

After doing this, when I attempt to light LEDs, only the first 8 LEDs turn on, and the remaining LEDs stay off.

Example:

bs.set_color(hex=hex_color)

Result:
LEDs 0–7: ON
LEDs 8–31: OFF

So my current solution is:

bs.set_color(hex=hex_color)
for i in range(8, 32):
   bs.set_color(channel=0, index=i, hex=hex_color)

Questions

  1. What is the correct way to update all 32 LEDs simultaneously on BlinkStick Flex?
  2. Is there a frame / bulk update API (single USB transfer) intended for this use case?
  3. After calling set_led_count(32), is there an additional required step (mode, report type, data format, etc.)?
  4. Why does set_led_count(32) appear to limit output to 8 LEDs when using set_color()?

Environment

Device: BlinkStick Flex (32 LEDs)
OS: Windows
Python: 3.10
blinkstick package: 1.2.0

Thanks!
Any guidance or example code would be really appreciated.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions