# LightSabre LightSabre is a project designed to control WS281x RGB LEDs using the Secondary Memory Interface (SMI) of a Raspberry Pi, tailored for scenographic 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. - **Autonomous 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 autonomous 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 1. **Hardware Requirements** - Raspberry Pi (any model with SMI support) - WS281x-compatible RGB LED strip - I2S microphone (for autonomous mode) - Optional: MIDI controller 2. **Software Setup** - Install dependencies (see `requirements.txt`) - Configure network for ArtNet or connect MIDI controller - Access the web interface via your browser ## Documentation - [ArtNet Protocol](https://art-net.org.uk/) - [WS281x LEDs](https://cdn-shop.adafruit.com/datasheets/WS2812.pdf) - [Raspberry Pi SMI](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html) - [MIDI Protocol](https://www.midi.org/) ## License MIT License --- *For detailed setup and usage instructions, see the [Wiki](./Wiki.md).*