Skip to content

feat: Multiple RGB channels and zones #18

@cursor

Description

@cursor

Feature Description

Support multiple independent RGB channels/zones for complex setups.

Motivation

  • Different case zones need different colors
  • Multiple RGB strips
  • Front vs. back lighting
  • Per-fan RGB (if fans have integrated LEDs)

Implementation

Hardware

  • Additional GPIO pins for RGB data
  • Up to 4-6 independent channels
  • Each channel: separate WS2812B chain

Pin Usage

  • Channel 1: GPIO 16 (existing)
  • Channel 2: GPIO 17
  • Channel 3: GPIO 18
  • Channel 4: GPIO 19
  • etc.

Software Control

Per-Zone:

pico-fan-ctl rgb zone 1 rainbow
pico-fan-ctl rgb zone 2 static --color ff0000
pico-fan-ctl rgb zone 3 breathing --color 0000ff

Synchronized:

pico-fan-ctl rgb all rainbow --sync

USB HID Extension

  • Report 0x03 extended with zone parameter
  • Configure LEDs per zone
  • Zone mapping stored in flash

Use Cases

  1. Case Lighting: Front + back different colors
  2. Fan RGB: Individual fan ring colors
  3. Strip Zones: Top/bottom/side strips
  4. Ambient: Case + desk lighting
  5. Status: Different zones for different info

Acceptance Criteria

  • At least 3 RGB channels
  • Independent control
  • Synchronization option
  • Zone configuration in flash
  • Documentation with wiring

Priority

Low - Advanced feature

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