Configuring DAC output over i2c bus

Hello community,

I am an amateur, and can’t wrap my head around an issue:

So first, I would like to outline my objective, which is to use an ESP32 board flashed with ESPHome, with some accessories, in order to control 2 separate 0-10V LED strip dimmers.

My set up:

1 x Kincony A8 ESP32 board (ARDUINO ESP32 8 CHANNEL RELAY MODULE – KC868-A8 -)
1 x DFRobot DFR0971 i2C 2 channel 0-10V DAC module (ARDUINO ESP32 8 CHANNEL RELAY MODULE – KC868-A8 -)
2 x generic 0-10V LED strip dimmers, that each require a 0-10V output in order to dim the lights connected to them

So as I understand, I need to create some sort of template light that will have an adjustable brightness slider and control the 0-10V outputs from the DFRobot module via i2c.

What I don’t understand is can I use some existing integrations, or do I have to create a custom output? The custom output and coding are above my knowledge level, so I’m wondering if there is a simpler way.

Initially I thought about using ESP DAC (ESP32 DAC — ESPHome) but then I realised it only works with the ESP32’s own DAC / pins and I cannot use it to control devices via i2c.

Any ideas? Maybe somebody would help me write the custom code to control the outputs.

Thanks in advance!

3 Likes

Also have this question.

Hello,

Maybe one of these 4 DAC as external output components : MCP4725, MCP4728, MCP47A1 and DAC7678, but the level output is 0~3V need op-amp to output 0~10V. If you are an electronics newbee, it’s not easy.
An another solution is to use a Shelly RGBW2 well integrated in HA. You can drive 1 RGBW strip or 4 monochromatic strips.

Best regards,
Patrick.

Hi,

Good news. There is a pending pull request to add GP8403 output component in ESPhome (DFR0971 uses this chip). See also this feature request.

Wait and see…

Pat.

Do you have the same dfrobot module? I’ve managed to solve this after a lot of tinkering. Dfrobot documentation was also outdated :slight_smile:

That’s really cool, but my module connects to the chip via i2c bus, so I don’t think that native support could have helped me. I eventually solved that by implementing a custom component, but my problem seemed to be adding / including the dfrobot library in esphome. I had 2 freelancers trying to solve it for several weeks. Eventually had to add the library files manually to the project.

Of course your dfrobot module will work with this esphome output component. I don’t have this module yet, but I will buy it as soon as the esphome component is available.

Hey all, I was the one who requested this. It works perfectly in ESPHome, I can send 0-10v analog to my LED Driver which dims the LED’s from 0 to 100.

Hi, do you have an example of the configuration for this please? I’m trying to do the same for a fan speed output but am not getting anything other than 10V output!

hi, could you please explain how have you achieved this? i am looking to control actuator motor with 0-10V. thank you