5 channel Analog LED controller – ET-AL01

0 0 votes
Article Rating
Subscribe
Notify of
guest
65 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback
July 5, 2021 17:30

[…] previous design, the ET-AL01 Analog LED controller, was designed to control the regular “Analog” (RGB) LED strips. […]

Asemo
Asemo
July 19, 2021 09:58

I have been looking for a product like this for a long time !
can they deliver the PCB to Germany?

Alex
Alex
Reply to  Paul
February 19, 2024 20:54

Is it possible to order the pcb from an other shop? Pcbways charge 25$ only for the shipping to Germany it’s too much for me only for 1 pcb.

Asimo
Asimo
July 19, 2021 10:40

This is really good and I have been looking for a similar solution for a while now.

I have a couple of suggestions for the V2.0:

– An Ethernet port option for a wired connection to the server (may be something similar to “Lan8720 breakout”). Perhaps using a Board that supports PoE ?

– PIR sensor integration because why not!

– a binary_sensor ( a press button switch) to toggel the LED light locally using “Template Switch” function incase the connection with Home-Assistant server was lost for some reason

Nick Rout
Nick Rout
October 24, 2021 06:22

Couldn’t find an analog 5 channel? What about the H801? https://esphome.io/cookbook/h801.html

michel
Admin
Reply to  Nick Rout
October 24, 2021 15:41

That is indeed a 5 channel controller. I had 2 of them in my house, but it is esp8266 based and thus has software PWM with frequencies up to ‘only’ 1000Hz. The esp32 does hardware PWM up to 40Mhz.
I have mine running at 25.000Hz which makes a huge difference for video. If I now film from my office or make a teams call, there is no more flickering.
I also have the esp32 BLE enabled so when I am in the office some motion based automations are disabled using BLE presence detection.

The H801 also has no options for external sensors and no options for converting a analog channel to digital (addressable led).

Nick Rout
Nick Rout
Reply to  michel
October 31, 2021 03:52

Good answers! Perhaps I was fooled by your design parameters which included esp8266. Thanks for the great site.

Nick Rout
Nick Rout
Reply to  Nick Rout
October 31, 2021 03:59
Eugene
Eugene
February 26, 2022 11:42

Greetings.
Just found your article, interesting idea already ordered my 5 PCBs 🙂
But as a ESPHome newbie I have a question: it is possible to I make ET-AL01 acknowledge a momentary switch, enabling physical power toggle, for example? I would be wonderful to control lightning through physical switch, leaving finetuning to the HA.

Josh
Josh
Reply to  Eugene
May 9, 2022 21:09

The short answer is Yes!

You can connect up to 4 buttons to the 4x GPIO spots on the bottom-right corner of the board (They are in pairs, with the GPIO pin right next to a ground pin). You can then use ESPHome to do any automation you like. I personally did ON/OFF, BRIGHTNESS UP, BRIGHTNESS DOWN, and toggling a single effect.

Ondrej
Ondrej
March 6, 2022 16:24

Hi, thanks for the design, I have built one and so far so good. I have a question though: what are the physical dimensions of the PCB, more specifically, what is the X and Y distance between the mounting holes? Thanks Ondrej

michel
Admin
Reply to  Ondrej
March 7, 2022 16:06

I don’t understand. If you build one, you have the measurments or not?

Ondrej
Ondrej
Reply to  michel
March 21, 2022 15:29

It would be more precise if you told me the dimensions instead of me measuring them from the physical PCB… That’s what I mean.

Thomas
Thomas
March 28, 2022 05:27

Great project. So if I wanted to drive addressable LEDs (WS28XX (or compatible) LED strip) I don’t use the MOSFET. For a digital channel are the limits (i.e. max # LEDs per channel) driven by the MCU (ESP8266 vs ESP32) and the external power supply? What else I’d have to take into account?

John
John
April 2, 2022 01:53

Looks great!

Are there Io unused? For i2c ina260 power measurement and a digital or analog input for internal temperature measurement?

BR

Josh
Josh
May 9, 2022 21:17

I’ve now had the boards for about a month and have successfully driven a wide variety of analog LEDs, but I have a couple concerns and would like some guidance:

Flickering! There are intermittent flickers while changing brightness, while being at a low brightness, and so-on. There is even flickering at full brightness. This is with 12V and 24V strips.

Off too early: The lights typically don’t light below <10% "brightness" in ESPHome. Is there a way to fix that or just mitigate it in ESPHome?

Thanks!

Paul
Reply to  Josh
May 11, 2022 12:57

Can you please tell me which board you are using? Is it the esp8266 or the esp32? Intermittent flickering points to a CPU which is too busy to handle the pwm output in a timely manner….
The 10% brightness switch off you might be able to mitigate a little by changing the gamma_correct parameter of esphome.

J
J
June 2, 2022 16:19

Having an issue with WLED on the 8266:
It does not accept GPIO 6, 7, or 8 as PWM lights.

Any suggestions?

J
J
Reply to  J
June 2, 2022 16:29

Nevermind, found the issue: the PCB lists the “D” labelling of the pins (D0, D5, etc), but these actually correspond to different GPIO pins.
D0 = GPIO16, for example.

WLED needs the GPIO number, not the “D” number.

Chris
Chris
July 13, 2022 11:31

Hi there, thanks for this! Before finding your website I had created my own PCB using an ESP32 for the same purpose of high speed PWM lighting that none of the prebuilt solutions seemed to have. I swear even 500hz looks visibly flickery to me, but maybe that’s just placebo. It definitely doesn’t work with video very well. The main difference in my project is that I need at least 8, if not 10 outputs. I ended up choosing to go with yours just because I’m fairly new to PCB design, yours were much cheaper because the size of mine was quite large, and because I used mostly surface mount products which I have never soldered before and would ideally require me to buy a hot air reword station to do it, all of which would increase the chance of me giving up before this project succeeded.

Anyway, my question I was hoping you could give some advice on is how to use two of your boards, each with their own PSU, but with only a single ESP32 installed on the “main” board that would control both. Since you have 4 i/o broken out, 9 outputs would be fine, and if I really needed that 10th I could just solder directly to the ESP32. I think this would be fairly straight forward if I could fit a higher wattage PSU in the space I want to put everything, but the 60w slim ones were the only ones small enough. And at a meter in length, even if I assume I would never have everything turned to max at the same time, there’s a good chance I would exceed 60w at times. So, ideally, each board would have it’s own PSU. If I go with this dual-psu configuration, how would I go about doing it? Should I opto-isolate the second board (would that even be able to PWM fast enough)? Will it need it’s own 5v dc-dc converter? Or can I just connect the grounds of everything together, use a single wire to get the 5v over, and it will all work out fine? Should I keep the resistors you have on the broken out i/o or should I just put a jumper in place?

Or, feel free to ignore my questions and just explain how you would go about this. Really appreciate if you have the time to respond to this.

Daniel
Daniel
July 24, 2022 11:18

Ok, so I need to use this as a digital controller (until the parts for your other project (4 way digital controller) arrives. I understand I need to remove the mosfets and bridge but I need to power this thing from 5v directly … besides removing the dc-to-dc converter and bridging the in-out , do I also need to remove the diode ? Thanks

michel
Admin
Reply to  Daniel
July 24, 2022 11:46

Leave the diode in place.

Daniel
Daniel
Reply to  michel
July 24, 2022 12:29

Yes, lol, sorry, that’s for polarity protection. Thanks

Daniel
Daniel
Reply to  michel
July 24, 2022 13:27

Everything done but I experience some issues … probably not related to the controller itself .. maybe you can help out. There are two 1.8 meter sk6812 led strips one its close to the mean well 12amp power supply along with the controller and its working fine … but the second strip it’s two meters away . Ive used 14awg cable to bring the 5v to the strip and a 16awg for the data channel. I’ve tested and I get 5v at the end of the strip so this is no voltage drop or anything… both solid color and efeects will make the strip flash from time to time and it seams like frame rate is lower then the closer to controller strip. Could it be because data quality is worse on the second strip ? The first strip also does some funky flash from time to time but not as worse as the second…

michel
Admin
Reply to  Daniel
July 24, 2022 14:17

The data wire needs to be as short as possible as it is prone to interference.

Did you try a data wire resister? Try something like 220R~510R, preferably on the led strip side and also keep GND away from the data wire as much as possible.

Daniel
Daniel
Reply to  michel
July 24, 2022 14:56

So you think this is definitely related to data? Its the first time playing with wled and digital leds… I was not expecting everything to be so sensitive. I was thinking to add a 1000uf cap close to the strip but if this is data related that’s not going to help. Will add the resistor and see if that’s doing any changes. Putting the data wire away from the power cables will be a fuss … just going to make an extra controller … this sucks and makes me go back to analog strips as I never had this kind of issues …

michel
Admin
Reply to  Daniel
July 26, 2022 20:17

That’s really hard to say. It could also be component related, gear around your house that interferes…etc. I do not have these issues.

Darren
Darren
July 27, 2022 18:24

Hi Guy’s,

I have the following 12v 60leds/m 5-in-1 RGBCCT;
https://www.aliexpress.com/item/32357409186.html?spm=a2g0o.order_list.0.0.3e921802RqCR9p
Which controller will control these and what setup or software add-on would best work with Home Assistant?

michel
Admin
Reply to  Darren
July 27, 2022 18:27
Darren
Darren
Reply to  michel
July 31, 2022 20:59

Hi Michel,

Thank you for that.
With having non addressable rgbcct leds, what effects can be used, are there any other examples available?
I’ve looked on the esphome website, but the information regarding non addressable leds seems limited.

michel
Admin
Reply to  Darren
July 31, 2022 21:14

Yes, as they are non-adressable, the “effects” are limited to on/off, blink, dim and color change. Check the hone-assistant website for light automation.

Darren
Darren
Reply to  michel
August 5, 2022 08:58

In your demonstration video at the very beginning, that is kinda of what I would like.it’s quickly fading from one colour to the next.
https://www.youtube.com/watch?v=yMhC6Or0oTY
What effect was that and do you have an example for it?

michel
Admin
Reply to  Darren
August 5, 2022 09:15

That is no effect, it was done manually. 😉
It can be done quit simple, by just following the instructions here though: https://esphome.io/components/light/index.html#light-effects

Darren
Darren
Reply to  michel
August 12, 2022 19:07

Hi Michel,

Thanks for that.

When I power up the Cold White led’s also switch On, yet the warm white don’t.
How do I stop the cold white from switching On on power-up?
I’ve tried adding some code to try and stop this using the on_boot, but as I’m a complete novice, it doesn’t work and maybe I’m just confusing myself further.
I’d be grateful for some help.
Regards,

Darren.

esphome:
  name: kitchen-colour-leds

esp32:
  board: esp32dev
 
  on_boot:
    - priority: 600
      then:
        - light.turn_off:
            id: kcl
            ledc_cw: 0%
  framework:
    type: arduino


# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "pass"

ota:
  password: "pass"

wifi:
  ssid: ssid
  password: pass

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Kitchen-Colour-Leds"
    password: "pass"

captive_portal:
    
sensor:
  - platform: wifi_signal
    name: "WiFi Signal $devicename"
    update_interval: 60s
output:
  - platform: ledc
    pin: 26
    frequency: 25000Hz
    id: ledc_cw
  - platform: ledc
    pin: 18
    frequency: 25000Hz
    id: ledc_ww
  - platform: ledc
    pin: 19
    frequency: 25000Hz
    id: ledc_r
  - platform: ledc
    pin: 23
    frequency: 25000Hz
    id: ledc_g
  - platform: ledc
    pin: 05
    frequency: 25000Hz
    id: ledc_b
   


   
light:
  - platform: rgbww
    name: "Kitchen Colour LEDs"
    id: kcl
    warm_white: ledc_ww
    cold_white: ledc_cw
    red: ledc_r
    green: ledc_g
    blue: ledc_b
    cold_white_color_temperature: 5000K
    warm_white_color_temperature: 3000K
    

          
    effects:
      - lambda:
          name: Slow Rainbow
          update_interval: 16s
          lambda: |-
            static int state = 0;
            auto call = id(kcl).turn_on();
            call.set_transition_length(15000);
            if (state == 0) {
              call.set_rgb(1.0, 0.0, 0.0);
            } else if (state == 1) {
              call.set_rgb(1.0, 0.5, 0.0);
            } else if (state == 2) {
              call.set_rgb(1.0, 1.0, 0.0);
            } else if (state == 3) {
              call.set_rgb(0.5, 1.0, 0.0);
            } else if (state == 4) {
              call.set_rgb(0.0, 1.0, 0.0);
            } else if (state == 5) {
              call.set_rgb(0.0, 1.0, 0.5);
            } else if (state == 6) {
              call.set_rgb(0.0, 1.0, 1.0);
            } else if (state == 7) {
              call.set_rgb(0.0, 0.5, 1.0);
            } else if (state == 8) {
              call.set_rgb(0.0, 0.0, 1.0);
            } else if (state == 9) {
              call.set_rgb(0.5, 0.0, 1.0);
            } else if (state == 10) {
              call.set_rgb(1.0, 0.0, 1.0);
            } else if (state == 11) {
              call.set_rgb(1.0, 0.0, 0.5);
            }
            call.perform();
            state++;
            if (state == 12)
              state = 0;



Darren
Darren
Reply to  Darren
August 16, 2022 07:40

Hi Guys,

I think I’ve found a solution;

color_interlock: true

The esphome docs don’t state you can use this with leic, but it seems to work so far.

Darren
Darren
July 31, 2022 12:28

Hi Michel,

If I create an ‘esphome_api_password’ as stated above in ESPHome addon in HA. Do I have to add this api password somewhere in HA config?
Sorry, but quite new to HA.

michel
Admin
Reply to  Darren
July 31, 2022 18:02

Please check this video: https://youtu.be/yMhC6Or0oTY?t=200

Greg
Greg
September 6, 2022 07:18

By any chance will any brand of the same type work? Trying to find this stuff on Amazon to hopefully speed up delivery time.

michel
Admin
Reply to  Greg
September 6, 2022 08:09

Of what?

Greg
Greg
Reply to  michel
September 7, 2022 22:05

Any of the parts, was hoping to find a way to get them sooner but if not then it is what it is.

michel
Admin
Reply to  Greg
September 7, 2022 22:19

That is a very generic question. In this case my answer would be yes 😎

Greg
Greg
Reply to  michel
September 8, 2022 05:35

Sorry about that i was just thinking if i could find the parts listed above at a state side business could get them sooner, however after hours of searching i couldn’t find them. So I just ordered from AliExpress. Also i am trying to figure out how to do the digital setup for the channel. I am new to this whole process and want to just jump right on in.

Pyk
Pyk
September 9, 2022 01:50

If I want all 5 outputs to show up as separate (single color) dimmable lights in Home Assistant instead of just one single (multi-colored) light, is that something ESHHome can do or is it one light per ESP microcontroller no exceptions?

michel
Admin
Reply to  Pyk
September 9, 2022 06:34

Yes. Monochromatic light. Check the esphome doc.

Greg
Greg
September 11, 2022 05:02

Completely new this whole thing. I am awaiting my part and trying to shore up everything i need to have prepped and ready for when the parts arrive. I was wondering after watching the video is the esphome the same as WLED? Or could you just plug an esp32 with WLED to this same board and it work? Also reading over post that discuss addressable LEDS and how to set this analog up for them. Had i looked at your other projects i would have just got your 4 channel digital version.

Eric Faden
Eric Faden
February 19, 2023 21:56

Any chance to get the gerber files, etc? I was thinking about modifying to add a sixth output for a project.

michel
Admin
Reply to  Eric Faden
February 19, 2023 22:06

No sorry, but we did share the schematics, so you should be good.

haukero
haukero
October 15, 2023 13:13

The enclosure seems to be gone at AliExpress. Is there Andy alternative? Thanks!

michel
Admin
Reply to  haukero
October 15, 2023 13:30

https://s.click.aliexpress.com/e/_DB899nz fixed in the BOM as well..

didier
didier
November 1, 2023 18:56

Good evening and thank you for this project 🙂

I ordered the PCBs and made the first assembly.

The configuration is as follows: 

CW and WW outputs in PWM to power two segments of non-addressed white LEDs.

Digital G and B outputs to power two SK6812 segments

The set is controlled by WLED 0.14.0 and is configured in 4 segments.

I have the following problem:

Only the G (IO23) output works, neither the CW (26) nor the WW (18), nor the R (19), nor the B (05) do, however, if I use one of the GPIO outputs (16, 17, 21, 22) directly without going through the 74HCT, I manage to drive the SK6812.

The assembly of the components seems to be correct, neither short circuit, nor questionable welding.

Tests carried out with two different ESP32

I have some doubts about the components SN74HCT24N (Ti 2JQ48CK E4) received.

My question is therefore whether the N (Plastic DIP 20) at the end of the marking corresponds to the component necessary for proper operation?

In the affirmative, how can I make sure that they work properly before mounting?

In advance, thank you for your support and help.

Sincerely

Didier

Last edited 4 months ago by didier
didier
didier
Reply to  Paul
November 3, 2023 13:25

Hello Paul 🙂

Thank you for this answer, indeed, it is a typo, the level shifter is actually an SN74HCT244N and not 24, sorry.

And indeed, I see no other explanation, because if I test the ESP32 alone without going through the 244N, I manage to control the led strips, as well as the PWM outputs.

What a pity, the ET-AL01 board is just perfect for my use, and these SN74 give me a hard time, I had encountered similar problems while trying on a development board, I hoped that the AL01 would be able to solve the problem.

But technical question, I guess if I test the SN74 alone by giving them a simple input voltage, say 3.3V I should get an output of 5V, no matter what type of signal enters by 1Ax?

Beautiful day,

Didier

Robert
Robert
December 13, 2023 07:02

Is it possible to get the original design files to make a fork?

I want to the make a small layout change for an other software project for my 3d printer.
The developer in the other project is using some different pins.
So i want to be able using the software of the other project directly without the need to compile the firmware by any update by hand.
 
These are the pins which are used in the other project with an esp32 d1 mini.
redPin = 19;
greenPin = 18;
bluePin = 21;
warmPin = 22;
coldPin = 23;

Cheers Robert

michel
Admin
Reply to  Robert
December 13, 2023 08:41

No sorry, but you are more then welcome to use our schematic to build your own version.

Johannes
Johannes
December 13, 2023 17:06

In this configuration the FETs have a rise time around 200ns which puts ~2.5MHz directly on a several meters long antenna (stripe) with an amplitude of 24V. In my opinion this is asking for EMI issues.

I find the missing slew rate limitation a bad design choice. It also leads to a lot of audible noise if the PWM frequency is lowered into the audible range.

An easy solution would be to add a RC pair to each gate, but this significantly enlarges the layout using THT components.

Johannes
Johannes
Reply to  Paul
December 15, 2023 12:45

I somehow mixed up the rise time yesterday. I’ve already added 10nF between gate/source of the FETs (to just a small audible improvement) and am now reading ~75ns rise time. This was in an attempt to lower the slew rates before I realized the 1kOhm resistors were not in series to the gates but for the IOs.

So I guess its more like 6.6MHz even with the additional capacitors. The first harmonic will be around 20MHz then. The IRLZ44 datasheet states 84ns rise time on full load which is consistent with these results but it also states only 15ns fall time which I of course forget to measure.

I didn’t want to invest any time in circuit design etc. when I build the first two boards because I have lots of other things going on right now and it’s been some time since I did it last.
However I redid the whole design as a Kicad project using SMD components and added the missing parts for slew rate limitation. It’s not a nice design, more of the kind >I don’t care I need it now<.

Will post the design files here when the PCBs arrive and I’m sure that they work.

Also tried the choke, thanks for the suggestion. It did not really improve the situation but the cable to my stripe is also a bit short in that regard. Also I’m not sure if it would improve much as the signals on +/color lines are inverted to each other and the non-stray inductivity will cancel out that way.

Ideally you would need a choke on each line separately but it’s becoming a bit large that way. It also may introduce unwanted voltage spikes.

Alex
Alex
February 19, 2024 20:50

Is it possible to use the board with wled?

michel
Admin
Reply to  Alex
February 19, 2024 22:58

Yes.

Alex
Alex
February 19, 2024 22:08

What is the maximum current for the powersource and the maximum for the led strip?

Translate »
65
0
Would love your thoughts, please comment.x
()
x