How would you make the following?

I'm looking for a 512 channel LED strip (varying size) dimmer, controlled over TCP/IP or UDP.

My dream board has:

  • 512 individual channels @ 12V
  • Each channel capable of sinking up to 0.3A (ideally 0.5A max)
  • Overall average current per channel 0.2A (80->100A max total is more than adequate, won't always use the full 512 channels)
  • Predetermined fade time between on/off states, around 0.5 seconds
  • IDC connectors or screw terminal plugs in groups of ~16
  • RJ45 cat5e interface to control over network
  • The ability to send simple commands over TCP or UDP in a form like ".c,s;" (where c is channel number and s is state to switch to 1/0, on/off)
  • Decent latency times (i.e. unnoticeable delay when lighting all channels at once)
  • Industrial format (i.e. DIN rail mountable, insulated)

I've tried building and buying various systems. I developed an mbed/MM5451 board with high channel count (144) but low current rating. Tried working with PCA9685 chips, couldn't wrap my head round the functionality. Tried shift registers and darlington arrays with arduino, though scaling this up was problematic. Seen plenty of 3rd party solutions, non of which adequate. Most successful solution to date was daisy chaining specialist DMX boards, with an arduino intermediate and a Raspberry pi as a command server.

After a year of tinkering, I truly hope someone can point me in the ultimate direction. I usually end up compromising over current vs channel count with inadequate solutions to the same problem. Certainly not an electrical engineer, would appreciate an experienced opinion.


And is DMX suitable considering I have no need to vary brightness (besides the fading between states)?

  • \$\begingroup\$ There are far too many things to answer here - perhaps break it out into individual questions that can be answered. \$\endgroup\$
    – David
    Commented Dec 2, 2013 at 19:43
  • \$\begingroup\$ True, though thought an overview of the whole system might help bring similar existing boards to my attention. Process of elimination then- Is DMX just a level of pointless abstraction here? \$\endgroup\$
    – rom
    Commented Dec 2, 2013 at 20:04
  • \$\begingroup\$ DMX would be overkill if you don't need to control brightness and have set fade animations. It would introduce more complexity in both hardware and software. I know this because my last project was a DMX dimmer board. It has 15 channels (5x3rgb) @ 2A per channel. It works well but there are all kinds of consideration to be made because you connected to a bus that has many devices also connected as well (other dimmer packs). Anyone of them could send some high voltage thru the bus release the magic smoke from your board. Anyway, I've said too much. :) \$\endgroup\$ Commented Dec 5, 2013 at 1:07

1 Answer 1


You need:

  1. 512 channels of high-current PWM driver;
  2. Some means of configuring any/all of the channels on the fly;
  3. Some means of communicating with the configuration device.

If you can find a multi-channel high-current PWM driver with a serial control interface then that would be a good start (because you could eliminate the FPGA's). Failing that, to me, the solution is:

  1. 512 channels of open-collector/-drain driver, either as individual drivers or as multi-channel units.
  2. An FPGA (or a collection of FPGA's) with at least 512 output pins to provide your PWM, and possibly fade logic.
  3. A reasonably powerful MCU with an Ethernet interface and an external memory bus that you can use to map the PWM control registers in the FPGA/s directly into MCU memory for easy access.

    • An ARM Cortex-M3 or M4 with the necessary peripherals would be ideal, e.g. the STM32F407 in a QFP144 package, plus supporting circuitry including an Ethernet PHY and magnetics.
    • A collection of Xilinx XC6SLX4's in QFP144 package for the FPGA's; you'd need at least 8, plus supporting circuitry.
    • Drivers will cost; your current and voltage requirements are non-trivial so you will pay through the nose. Bear in mind how much heat those drivers will generate, too; cooling will not be optional.
    • Last but not least, the power supply. This is what will really hurt: 512 channels at up to 500mA each is 256 amps @ 12V. That's over 3kW of power. If you try to low-side the spec on the power supply (to 512*0.2A i.e. 1.2kW) then sooner or later it will let you down, so don't do it.

In short, this is a sizable design project that, particularly as a one-off, will cost quite a bit of money (at least $750 in parts, excluding the PSU and circuit boards). You would also have to program it to do what you want.

  • \$\begingroup\$ Thanks. Since I won't be using FPGAs, the million dollar question is which drivers then. multi-channel high-current PWM driver with serial/I2C. I'm currently revisiting mbed (LPC1768), so that covers the ARM M3. I've got TCP/IP working last night, will switch to UDP later for higher speeds. Not worried about costs. The PSU isn't a real concern either- a typical project using the board will only take up 150->300 channels, and I will ensure there are 2 x 100A PSU for every board. I have never encountered a situation that required more than 80 amps worth of lighting. \$\endgroup\$
    – rom
    Commented Dec 3, 2013 at 10:47
  • \$\begingroup\$ TLC5946 can only sink 40mA per channel, so thats out. MM5451 -> 25mA max (a shame, nice little driver). PCA9685 -> 25mA max. Honestly doubt there is a single package along these lines capable of sinking 0.3A per channel. \$\endgroup\$
    – rom
    Commented Dec 3, 2013 at 10:55
  • \$\begingroup\$ I agree, you will need to separate the PWM and driver components; multi-channel high-current drivers with PWM output are unusual. Also, FPGA's are the easiest way to get a large number of PWM's in a single package, and (simple) multi-channel PWM is really easy to do in an FPGA. You could use MCU's, but finding an MCU in a hand-solderable package that can do 64 simultaneous PWM's with a simple memory interface to control them is going to be on par with finding the drivers. \$\endgroup\$
    – markt
    Commented Dec 3, 2013 at 11:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.