DIN Rail 10 channel LED PWM Dimmer

Use 10 channels of PWM dimming in an electric cabinet over Ethernet with the power of an ESP32

Similar projects worth following
Why use any bridged protocol to talk to LED dimmers over Ethernet? Why not go directly?
This project provides a 10 channel PWM LED Dimmer for installation in an electric cabinet (DIN Rail)

What are the possibilities to control some LED lights in your home?
Normally you would buy a small wireless enabled controller and install it where your light/lamp is. As the number of light sources rise this is only a half-viable option...
The other method is to use a "big" dimmer in your electric cabinet. These are typically controlled via a dedicated control-system. For example DMX, RS485, etc.

Last year, we've developed a versatile and cheap Ethernet DMX Bridge (german) to address the second option. These are used with DMX dimmers, partly in electric cabinets, partly for a DMX bus around the house.
Then I thought, why do I have to detour over DMX while I talk via Ethernet to the LED channels? Thus the idea for a standalone networked LED dimmer was born.

In the beginning we used WizNet's W5500 ethernet chip, which is well known in the Arduino universe, together with an ESP32. This network IC works absolutely fantastic together with Paul Stoffregen's marvelous Arduino Library. But as the project advances we came to the conclusion to use MicroChips's LAN8710 as this is far better supported in the used Espressif IDF for the ESP32. Thank you wESP32 and Olimex for the idea...

On the dimming side we've choosen the PCA9685 from NXP, which gives us 16 possible channels with 12-bit resolution and a configurable PWM frequency of up to 1526Hz. Because of that we now have 4096 brightness levels per channel.
The output is driven by 10 individual IRFR4105Z HEXFET's which can supply up to 21-30A.

As we have some space constraints in a 107mm wide (6TE) DIN rail case, only 10 channels of the possible 16 are available. We decided to have 8A per channel maximum and designed the spacing and pcb trace width and thickness accordingly.

We only use networked communication as Wi-Fi is often is not suitable in an electric cabinet. The ESP32 can do Wi-Fi anytime, but this was not what we aimed for in the first place.

The hardware and software will be open source. Currently we have 5 working prototypes and have to finish the software to get something we can show to the world.
Afterwards we are planing to sell these complete with CE marking and RoHS conformity in Germany.

So, this for the start. I will update as soon as there are any further steps taken.


  • Getting the first version going

    Patrik Mayer08/19/2019 at 09:19 5 comments

    Finally the Phoenix Contact cases arrived. As they have different sized openings on the top and on the bottom side, they are not off the shelf parts and needed 6 weeks to get here.

    We also finished the first software version which will have no webinterface, sadly. But for the start it's UDP protocoll is completely compatible to our DMX bridge, with an addition for a high resolution command to dim the whole 12bit. Also dimcurves are implemented, so that you can decide how your input is layed out to the brightness of each channel.

    Valid inputs are 0-100%, 0-255 (8bit) and of course 0-4095 (12bit).

    For future software releases there will be an webinterface and mqtt support.

    What else do we need?

View project log

Enjoy this project?



Emanuele Tessore wrote 08/31/2019 at 12:11 point

Hi, just an idea: what about adding 10 inputs so that we can hook a switch for controlling the unit in case of a tcp\ip outage?

here's a real world example:
- a dining room has 10 led lamps
- 10 24vdc lines go from the lamps on an electrical box
- 10 24vdc lines go from the switches to the same electrical box
- the unit is placed in such box
now i can hook the switch to the unit and control the lamps by pressing the switches even if the home assistant or mqtt broker is not available

Thous inputs can be GPIO (if they are still available) or some i\o expander like the mcp23017 (which is supported by esphome It whould be great if they can be opto-coupled just for safety. The simple version is just a pin connector routed from the currently unused GPIOs, in particular the one taking care of i2c communication, and a daughter board or an external unit.


  Are you sure? yes | no

Emanuele Tessore wrote 07/20/2019 at 16:56 point

Very nice project, perfect for my new home lighting system!

Any idea of the first batch availability and msrp?

Will it be capable of driving 48V leds (stretching the hexfet Vdss of 55V)?


  Are you sure? yes | no

Patrik Mayer wrote 07/22/2019 at 12:49 point

Hey Emanuele,

first production batch is planed for later this year. Hopefully in 1-2 month.
Currently our input DC-DC converter can handle 7-36V for the electronics. The LED outputs are grounddriven, thus you may have a higher supply voltage for the LED's. I've not tested this though...


  Are you sure? yes | no

Emanuele Tessore wrote 07/22/2019 at 19:27 point

Good to know, thank you.

Let me know if you have a pre\early production batch for testing. 

Thank you! Cheers!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates