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

  1. 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.

S
Description
No description provided
Readme 65 MiB
Languages
Rust 63.7%
C 32.7%
Shell 2.1%
CMake 0.8%
Dockerfile 0.7%