Skip to content

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

@DimaTepliakov

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.

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