Installation and Setup

LedFx is a network controller that aims to enable synchronization of multiple lights across a network. LedFx doesn’t currently support local control of LED strings, so you need a separate device (e.g., ESP8266/ESP32) to control the LEDs directly. To be able to add your LED strips to LedFx your device needs to be capable of receiving data either via the E1.31 sACN protocol or a generic (simple) UDP protocol. See below for a list of tested ESP8266 firmware that can be used with LedFx.

Here is everything you need to get started with LedFx:

  1. A Computer (or Raspberry Pi) with Python >= 3.7

  2. An E1.31 capable device with addressable LEDs connected

    • Commercial grade DMX controllers

    • ESP8266 modules can be purchased for as little as $2 USD from AliExpress

Warning

Anaconda is no longer recommended for installing LedFx. We have removed all references to Anaconda. If you are coming from an old install, we recommend removing Anaconda completely.

Here is a list of tested ESP8266 firmware that works with LedFx:

Windows Installation

To get started on Windows please use our LedFx Windows Installer.

Note

See this page for alternative installation instructions for Windows.

Linux Installation

To install on Linux first ensure you have at least Python 3.8 installed.

1. Install LedFx and all the dependencies using our LedFx Bash Install Script:

$ curl -sSL https://install.ledfx.app | bash

2. Follow the instructions presented by the installer.

macOS Installation

To install on macOS first ensure you have at least Python 3.8 installed.

1. Install LedFx and all the dependencies using homebrew and pip:

$ brew install portaudio
$ python3 -m pip install ledfx

2. Alternatively, install LedFx in a python venv:

$ python3 -m venv ~/ledfx-venv
$ source ~/ledfx-venv/bin/activate
$ python -m pip install -U pip setuptools wheel
$ python -m pip install ledfx

3. Launch LedFx with the open-ui option to launch the browser:

$ ledfx --open-ui

macOS Installation @dev branch (Apple Silicon M1)

To install on macOS (Apple Silicon M1) dev branch, first ensure you have at least Python 3.9 installed.

1. Install LedFx and all the dependencies using homebrew in a `python virtualenv`_:

$ brew install python@3.9
$ brew install portaudio --HEAD
$ brew install virtualenv
$ virtualenv -p python3.9 ~/ledfx-venv
$ source ~/ledfx-venv/bin/activate
$ pip install -U pip setuptools wheel
$ pip install numpy --compile --pre
$ pip install --force-reinstall git+https://github.com/LedFx/LedFx@dev

** --force-reinstall assures that you will be up to date whenever you run the command

2. Launch LedFx with the open-ui option to launch the browser:

$ ledfx --open-ui

Raspberry Pi Installation

Note

This installation method is still in development. Use at your discretion.

Note

To use LedFx on a pi you will need a USB audio card.

Verify you have Python 3.8 or greater by running python3 --version

1. Modify /usr/share/alsa/alsa.conf:

We need to change the default audio card from the built-in hardware on the pi to the USB audio card in use.

$ sudo nano /usr/share/alsa/alsa.conf

Look for the following lines and change them accordingly:

FROM:

defaults.ctl.card 0
defaults.pcm.card 0

TO:

defaults.ctl.card 1
defaults.pcm.card 1

2. Install LedFx and all the dependencies using our LedFx Bash Install Script:

$ curl -sSL https://install.ledfx.app/ | bash

Device Firmware

Please visit one of the following links to obtain firmware for your ESP8266/ESP32 device that works with LedFx.