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:
A Computer (or Raspberry Pi) with Python >= 3.8
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:
WLED is preferred and has lots of great firmware effects (ESP32/ESP8266)
ESPixelStick is a great E1.31 based firmware
Scott’s Audio Reactive Firmware which inspired this project!
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 @frontend_beta branch (Apple Silicon)
To install on macOS (Apple Silicon) first ensure you have at least Python 3.8 installed.
1. Install LedFx and all the dependencies using homebrew in a python venv:
$ brew install [email protected]
$ brew install portaudio --HEAD
$ brew install virtualenv
$ virtualenv -p python3.9 ~/ledfx-venv
$ source ~/ledfx-venv/bin/activate
$ pip install --force-reinstall git+https://github.com/LedFx/LedFx
** --force-reinstall assures that you will be up to date whenever you run the command
2. If you get a numpy/aubio error please do the following:
$ pip uninstall numpy aubio
$ pip install numpy --no-cache-dir
$ pip install aubio --no-cache-dir
3. 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.
Compatible Devices:
ESP8266
Scott’s Audio Reactive Firmware
Compatible Devices:
ESP8266
Compatible Devices:
ESP8266
ESP32