Skip to content
main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PiLit Holiday Lighting System

The free, open source, DIY holiday light show animation system.

My 2019 lights

My 2019 Christmas lights, powered by PiLit

There are lots of commercial lighting systems and software. Most are more expensive than I care to pay. So, I built my own.

Warning: Building a PiLit system involves wiring and working with wall/mains voltage. You do so at your own risk. If you're not qualified to work with electricity, hire someone who is. Please be safe!

Overview

PiLit at a high level is:

  • A show control application runs on a Raspberry Pi
  • Which sends MQTT messages across the network
  • To "nodes" which are the lighting controllers in the yard.
  • The nodes are either ESP8266/ESP32 microcontrollers or other Raspberry Pis.
  • The nodes control RGB pixels (aka neopixels) or relays to turn on/off light strings, spotlights, etc.

PiLit components:

  • pilit_player -- plays the show script
  • various nodes:
    • pixel_node: Arduino/ESP8266 C++ controller for RGB "neopixels"
    • onoff_node: Arduino/ESP8266 C++ controller for controlling a single relay (e.g. to turn on/off a spotlight)
    • multi_relay: A Python script meant to run on a Raspberry Pi and controller a multi-channel relay (e.g. a Sainsmart 16-relay board)
  • PiLit GUI - A show generation web app to make creating show sequences relatively easy

My multi relay controller

My multi-relay node

PiLit GUI

PiLit GUI

Requirements

If you want to use this project for yourself, you will need some or all of the following:

  • A Raspberry Pi (with WiFi) or other computer capable of running a Python 3.6+ script to use as your central controller.
  • ESP8266 or other WiFi-enabled Arduino-compatible microcontrollers for controlling RGB pixels or relays.
  • A Raspberry Pi (with WiFi) and a multi-channel relay board to control various standard holiday lights.
  • A bunch of outlets, electrical boxes, wire, connectors, etc.
  • Something waterproof to house the final product since it will sit outside for the holiday season. I use various sized storage tubs.

Usage

You will need programming, electronics, and electrical skills to implement PiLit. This is a DIY system, not a pre-built, out-of-the-box solution. Timing is not precisely controlled, so you'll be unlikely to create a whole-yard, synchronized Neopixel extravaganza.

Show creation

s See the pilitgui folder for information on the show creation tool. While in theory, it should run on any platform, I've tested it only on my Mac.

Running a show

See the pilit_player folder for information on the show runner. You will need a current Python installation and command-line skills to run the player.

Nodes

See the nodes folder, and its children, for information on building, using, and customizing the nodes. You will need at least basic Arduino skills to load the sketches. You will need electronics and electrical skills to build the nodes.

License

MIT License

Copyright (c) 2016-2019 Tim Poulsen

About

Raspberry Pi-based holiday lighting system

Resources

License

Releases

No releases published

Packages

No packages published