TroubleshootingGravity

DFR0300-H not reading properly

userHead Embeco 2026-01-25 04:56:27 245 Views1 Replies

I am new to this, so I might be making a dumb error here:

 

I am trying to read the EC value of my water. I know I have rather hard tap water, but I am not getting any values unless I go very high on the EC value.

If the sensor is dry, I get a reading of 0.075V (that is at 5V in and 0db attenuation).

If I put it in tapwater, I get the exact same 0.075V.

If I put salt in the tapwater, I get a higher reading (depending on the amount of salt, but I got 0.250V before).

If I put it in the included calibration liquid, I am getting 0.373V.

 

I am using a ESP32 chip (and I have to, that's a limitation, unfortunately) and I am aware, that I need to calibrate, but if the returned voltage is the exact same, no calibration in the world can fix it, right? So my question is: Am I missing something easy? Could my ESP32 be the problem? Is my sensor defective?

 

I appreciate any hints you could give me!

 

For completeness sake, here is my sensor config yaml on the ESP32:

 

- platform: adc

    pin: 34

    name: "EC-Sensor"

    id: water_ec

    update_interval: 10s

    unit_of_measurement: "mS/cm"

    attenuation: 0db 

    accuracy_decimals: 3

   

    filters:

      - median:

          window_size: 15

          send_every: 5

      - calibrate_linear:

         - 0.075 -> 0.0

         - 0.373 -> 11.40

2026-01-26 11:06:03

Hi there,

 

No dumb error at all—it’s just a sensor range mismatch!

 

Your Gravity conductivity sensor (K=10)(DFR0300-H) is designed for high-conductivity liquids (10–100 mS/cm) (e.g., seawater, concentrated salt water). Tap water (even hard water) only has 0.05–1 mS/cm, far below the sensor’s lower limit, so the voltage stays unchanged. Your sensor and ESP32 are likely working fine.

 

For tap/drinking water, switch to the K=1.0 sensor (DFR0300) (supports 0–20 mS/cm, recommended 1–15 mS/cm).

userHeadPic niu.yixuan