LightSabre
LightSabre is a project designed to control WS281x RGB LEDs using the Secondary Memory Interface (SMI) of a Raspberry Pi, tailored for scenography and lighting applications.
Features
- WS281x LED Control: High-performance driving of addressable RGB LEDs via the Raspberry Pi SMI.
- ArtNet Support: Receives color data over the ArtNet protocol, allowing the Raspberry Pi to function as a DMX controller.
- Standalone Mode: Analyzes audio input from an I2S microphone, performing spectral decomposition to generate dynamic lighting effects.
- Web Interface: Local web server for configuring and tweaking standalone behavior.
- MIDI Integration: Supports real-time control and parameter adjustment via MIDI controllers.
Technology Stack
- Backend: Written in Rust for robust and efficient controller logic. Some low-level operations may be implemented in C or Assembly (to be determined) for optimal performance.
- Frontend: Built with Vue.js, providing a modern and responsive web interface for configuration and control.
Use Cases
- Stage lighting and scenography
- Interactive art installations
- Music-synchronized light shows
Getting Started
- Hardware Requirements
- Raspberry Pi (any model with SMI support)
- WS281x-compatible RGB LED strip
- I2S microphone (for standalone mode)
- Optional: MIDI controller
System install
The project is design for running on top of Raspberry Pi OS Lite 32bits (formerly Raspbian).
Raspberry Pi OS Lite provides device access through file system, networking tools for network interface management, POSIX sockets, native threading, and process control, covering all system features needed by LightSabre.
What about Realtime ?
Network AP / infra
sudo raspi-config
See. nmcli
nmcli c up preconfigured
Rust
After installing Raspberry Pi OS we need to install Rust toolchain:
sudo apt update
sudo apt full upgrade -y
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
For more details : https://rustup.rs/
I2S Microphone
I2S microphone As we are using cpal crate to access microphone from alsa, libasound2-dev is necessary:
sudo apt install libasound2-dev
Documentation
License
MIT License
For detailed setup and usage instructions, see the Wiki.