user73680: I am using the following SEN0114 moisture sensor with an ESP32:  https://datasheetspdf.com/datasheet/SEN0114.html
How come when submerged in water I only get a reading of ~2500?  Should this not read ~4095 as the ESP32 analog pins are 12-bit?

user313: This is a resistive sensor and "plain" water is not infinitely conductive. In fact, pure or distilled water is a very poor conductor. Also, "plain" water - tap water, I assume - will vary in its dissolved solids, not only from source to source, but likely over time, too, for some sources and it is these solutes that are responsible for increased conductivity. That goes double for plant-moisture sensing because it is really measuring the resistance of damp dirt, which again, varies in composition.
So the sensor can give you a range from dry to very moist, per plant, but the absolute measurements won't be very meaningful.

73680: <p>I am using the following SEN0114 moisture sensor with an ESP32:  <a href="https://datasheetspdf.com/datasheet/SEN0114.html" rel="nofollow noreferrer">https://datasheetspdf.com/datasheet/SEN0114.html</a></p>
<p>How come when submerged in water I only get a reading of ~2500?  Should this not read ~4095 as the ESP32 analog pins are 12-bit?</p>
 313: <p>This is a resistive sensor and &quot;plain&quot; water is not infinitely conductive. In fact, pure or distilled water is a very poor conductor. Also, &quot;plain&quot; water - tap water, I assume - will vary in its dissolved solids, not only from source to source, but likely over time, too, for some sources and it is these solutes that are responsible for increased conductivity. That goes double for plant-moisture sensing because it is really measuring the resistance of damp dirt, which again, varies in composition.</p>
<p>So the sensor can give you a range from dry to very moist, <em>per plant</em>, but the absolute measurements won't be very meaningful.</p>
