King Kévin 661a7ee724 | ||
---|---|---|
kicad | ||
library@2340ed868e | ||
.gitignore | ||
.gitmodules | ||
.qeda.yaml | ||
CHANGELOG.md | ||
DEVELOPMENT.md | ||
KiBOM_CLI.py | ||
LICENSE.txt | ||
Makefile | ||
README.md | ||
bom.ini | ||
fp-lib-table | ||
refdes2fab.py | ||
sym-lib-table | ||
version | ||
wled_chain.kicad_pcb | ||
wled_chain.kicad_pro | ||
wled_chain.kicad_sch |
README.md
WLED chain is a board for the WLED firmware, allowing to power, control, and chain them over Ethernet cables.
purpose
The WLED firmware is ideal do control addressable LEDs strip. WLED chain is a hardware board for it, matching my usage: robust remotely controlled LED strip based light installations for festivals. It allows to:
- use of the shelf 12-24V power supplies to power the 5V LED strips
- inter-connect them to form long chains (only connecting the first to externally provided power and data)
- use cheap Ethernet CAT5E cables to inter-connect them (also over long distances)
- provide power and data over the Ethernet cables
- proper 5V LED data signal output (up to three of them)
usage
background
origin
WLED is a very good firmware to control addressable LED such as the WS2812b. Just get a cheap ESP32 development board, flash WLED using the web installer, and of you got. I did that very often, and for small projects its fine. But for larger projects with multiple devices, you encounter some limitations:
- you have to separately take care of the power supply: LED strips can draw a lot of current which the development board can not handle
- remote control using ArtNet over WiFi can be problematic: WiFi routers don't all handle broadcast well, WiFi coverage is not always good, WiFi is jittery
- providing power to multiple device can be a pain: there is not always a power plug nearby
this project tries to solve these issues, and since I designed a board, provide even more features
bus
The first problem is WiFi:
- ESP32 operate on 2.4 GHz, a crowded spectrum
- ESP32 board with built-in antenna have poor reception
- WiFi router don't always handle broadcast well
This make the WiFi a poor interface to remotely control LEDs with multiple WLED (using ArtNet or similar) in a real-time manner (low latency and jitter).
The first solution would be to use Ethernet instead of WiFi. This would keep the networking capability. ESP32 supports this interface, and the WT32-ETH01 makes it available. But to connect multiple devices you need a Ethernet switch, and run wires from this switch to each device (e.g. is a star topology). I wanted to be able to chain the devices, to increase the distance while reducing number of cables and their length.
You could use the KSZ8863 3-port Ethernet PHY. This can act as Ethernet interface for the ESP32, and built-in switch. Now the boards can be chained. There is already schematic available, but the support still is beta, and the implementation is complex are not inexpensive.
I also though about CAN bus. This is a very resilient bus, and the ESP32 has an interface for it. But WLED does not support it yet, and the host would need a bridge for it.
Finally I arrived to RS-285. It's another differential protocol, often used in the industry because resilient. And the implementation is WLED is easy because it's just serial. This is when I remembered that DMX512 also uses RS-485. And DMX is the de facto standard in the lighting event world. Thus interface with is will be very easy and there is a lot of software support. The limitation is that it supports only one universe of 512 channels, or 170 RGB LEDs. A solution would be to control modes instead of individual LEDs.
features
Here a wish list of features in decreasing order:
- daisy chain capability (providing data and power)
- built-in power 5V power supply (input up to 30V)
- RS-485/DMX512 interface (not isolated)
- RJ45 port (2x for daisy chain)
- RJ45 pin header (to solder wires directly)
- DC barrel jack power input
- RJ45 power input
- proper 5V DOUT for WS2812B IC input
- external WiFi antenna port
- microphone/line in for sound reactive (use ESP32-LyraT-Mini design as reference)
- sonoff waterproof enclosure format
- XLR port (to fit usual DMX512 installations)
- fully isolated DMX512
- RDM support (requires adding bias on RS-485, and mostly software support)
- Lithium battery input and charger (not really the intended use scenario for this device)
- automotive fuse protection
- high voltage input (up to 60V, using TPS54560DDAR)
- USB Power Delivery power input (using IP2721 or FUSB302)
I'll probably add them with each new version
other
Here a list of other similar LED controllers:
- QuinLED-Dig-Quad: WLED compatible, but not DMX or power supply
- SP201E: cheap DMX512 LED strip controller, but no WLED, RJ45, or power supply
- H807DMX: compatible with most LED strips, and has RJ45 DMX512 input, but no WLED or power supply