Looking for feedback on my no_std RGB LED animation library for embedded systems

⚓ Rust    📅 2025-11-08    👤 surdeus    👁️ 6      

surdeus

Hi! I've been working on a library for controlling RGB LEDs on embedded devices and would love to get feedback before publishing to crates.io.

What is it?

rgb-sequencer is a no_std-compatible library that lets you define high-level color animations for RGB LEDs instead of manually managing timers and color interpolation.

Key Features

  • Zero heap allocation - Uses fixed-capacity collections with compile-time sizing
  • Two animation approaches :
    • Step-based: Define color waypoints with durations (blinks, fades, cycles)
    • Function-based: Mathematical animations (sine waves, procedural patterns)
  • Pause/resume with timing compensation - Perfect timing continuity
  • Multi-LED control - Independent animations per LED
  • Platform-agnostic - LED control and timing abstracted through traits

What I'm looking for feedback on

  • API design - Is it intuitive? Ergonomic? Any footguns?
  • Documentation - Is it clear? Missing important info?
  • Use cases - Am I missing features that would be valuable?
  • Code quality - Any safety issues, performance concerns, or Rust anti-patterns?
  • General impressions - Would you use this? What would stop you?

Repository: GitHub - HybridChild/rgb-sequencer

The README has a bunch of examples including function-based sequences, multi-LED control, and integration with Embassy (async runtime).

Thanks for any feedback!

1 post - 1 participant

Read full topic

🏷️ Rust_feed