Navigation Menu

Skip to content

andew42/brightlight

Repository files navigation

Brightlight

Brightlight is a lighting controller for pixel addressable LED strips, intended for domestic mood lighting.

It has two parts. A low level controller responsible for generating the LED strip waveforms, written in Arduino C using the Teensy 3.x controller.

A website interface to control one or more Teensy boards via USB. This is written in GO and runs on a raspberry Pi or similar.

Setting up Arduino environment

Setting up new Pi

  • Download RASPBIAN STRETCH LITE
  • Create a (4G) SD card with etcher
  • Create a new file called "ssh" on the SD card's FAT boot partition. This will enable the SSH daemon immediately after the first boot.
  • SSH onto pi from Windows or Mac (default password raspberry)
ssh pi@192.168.0.XXX
  • On pi set up auto start
sudo nano /etc/rc.local
  • On pi in nano add
export BRIGHTLIGHT=/home/pi
/home/pi/brightlight > /dev/null 2>&1 &
  • On PC build website and brightlight executable
full-build.bat
  • On PC copy executable to pi
scp  ./brightlight pi@192.168.0.XXX:/home/pi
  • On pi make executable run-able
sudo chmod +x ./brightlight 
  • On pi create folder
mkdir ui2 
  • On PC copy ui files to pi
scp -r ./ui pi@192.168.0.XXX:/home/pi
scp -r ./ui2/build pi@192.168.0.XXX:/home/pi/ui2
  • Reboot
sudo reboot
  • Killing running copies
sudo killall -q -9 brightlight

Dev Environment

go 1.17.1

https://golang.org/dl/

Goland 2021.2.3

https://www.jetbrains.com/go/

Grep Console plugin

With ANSI terminal emulator enabled for logrus

To Do

#####UI

  • Scrolling slider for config setting is horrid

#####Engine

  • Candle
  • Fair ground light chasers
  • Static string (Gazebo lights)
  • Overlay pieces (corner + mirror)
  • Clock
  • Security indicators
  • Fade between animations
  • Cylon stacking
  • Plasma charging bulls
  • Meteors
  • Fireworks
  • Support for alexa

About

A lighting controller for pixel addressable LED strips

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published