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:
- Has anyone successfully used the DFR1184 with ESPHome?
- Is there a recommended way to create a custom I2C sensor for modules like this?
- 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!