template and source for hardware projects
Go to file
King Kévin 661a7ee724 lib: add external library 2023-09-27 01:58:54 +02:00
kicad lib: add used parts 2023-09-27 01:58:11 +02:00
library@2340ed868e lib: update repo 2023-09-19 05:12:28 +02:00
.gitignore ignore kicad lock files 2023-08-11 11:04:37 +02:00
.gitmodules lib: add esp library 2023-09-25 02:54:33 +02:00
.qeda.yaml lib: add used parts 2023-09-27 01:58:11 +02:00
CHANGELOG.md doc: add empty changelog file 2022-06-10 19:14:56 +02:00
DEVELOPMENT.md doc: better list dependencies 2023-03-30 22:30:26 +02:00
KiBOM_CLI.py make: add bom generator (not included in pip) 2023-03-30 22:30:26 +02:00
LICENSE.txt add CERN-OHL-S license 2021-07-22 12:22:58 +02:00
Makefile name project 2023-09-25 02:48:09 +02:00
README.md doc: add purpose and background 2023-09-27 01:56:27 +02:00
bom.ini bom: ignore some fields 2023-08-11 11:06:14 +02:00
fp-lib-table lib: add external library 2023-09-27 01:58:54 +02:00
refdes2fab.py add script to put refdes in fab layer 2022-09-13 12:14:21 +02:00
sym-lib-table lib: add external library 2023-09-27 01:58:54 +02:00
version add output generation script 2021-07-22 12:34:35 +02:00
wled_chain.kicad_pcb name project 2023-09-25 02:48:09 +02:00
wled_chain.kicad_pro name project 2023-09-25 02:48:09 +02:00
wled_chain.kicad_sch name project 2023-09-25 02:48:09 +02:00

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