Interface DFRobot DFR1184 0-10v converter to ESPHome?

Hi all,

I’m trying to use the DFRobot Gravity 0-10V 15-bit High Precision Dual Channel ADC Module (DFR1184) with ESPHome on an ESP32.

The module takes standard 0–10V sensor inputs (like water level sensors) and converts them internally to I2C. It works perfectly with Arduino using the DFRobot library. The datasheet says it handles all voltage scaling internally and communicates via I2C (address 0x48 by default).

I’ve tried using the ESPHome ads1115 component, but it doesn’t work because ESPHome requires gain and multiplexer settings. The DFR1184 doesn’t expose raw analog pins; it just gives voltage readings over I2C, so ads1115 doesn’t seem compatible.

I also tried sensor.i2c / sensor.custom approaches, but I’m stuck on the correct way to read the module over I2C in ESPHome.

My questions:

  1. Has anyone successfully used the DFR1184 with ESPHome?
  2. Is there a recommended way to create a custom I2C sensor for modules like this?
  3. Any examples of reading a 16-bit I2C voltage value and publishing it to ESPHome?

I’d really appreciate any guidance or example YAML/C++ code.

Thanks in advance!

Tbansk @Sir_Goodenough !

1 Like

According to schematic of DFR1184 he chip that talks to your esp is CS32L010F8U6, not surprising it doesn’t work with 1115 component.

You should study what the arduino library does and what register addresses are used there. Then try with this component:
https://esphome.io/components/i2c_device/

Or build your own external component…