Hi everyone,
I've designed a capacitive soil moisture sensor based on the commonly available TLC555 circuit (used as a pulse generator ~1.5 MHz).
The circuit includes a soil probe (capacitive sensor), an RC filter, and a peak detector – based on a widely shared design.
Unfortunately, after assembling the circuit, I ran into a problem:
The analog output (A_OUT) always reads 0V on the ADC.
Here's what I noticed:
If I touch the soil probe with my finger, the A_OUT voltage slightly increases – but it's still very low.
According to how the circuit should work:
Dry soil → higher voltage on A_OUT
Wet soil → lower voltage
But in my case, it's always near 0V, even in dry conditions.
I'm using an Arduino Pro Mini (3.3V / 8 MHz) to read the analog values.
The code is confirmed to work, because it reads correct values with an original capacitive soil sensor v2.0 — so the issue seems to be hardware-related, not software.
You can't have exposed copper on the sensor part.
Your copper strips don't form a capacitor.
Look at the traces on the board and design your copper strips to be similar.
Thanks for the feedback!
I actually made similar copper traces using tape, following the pattern from the original soil sensor design — two long, parallel strips (not exposed to the soil directly).
After making this change, I do get a slightly higher analog reading on A_OUT — now around 40, whereas before it was only 20–30. However, I still only get a response when I physically touch the copper strips with my hand, which shouldn’t be the case.
As I understand it, I should be getting:
High analog values when the probe is in dry soil
Low analog values when it's in wet soil
But in my case, there's almost no change unless I touch the sensor directly — so it still seems like the capacitive sensing isn’t working properly yet.
They do work for a short period, but not for long. I was thinking of trying again with some sort of enclosure that keeps water away from the connections. Copper oxidizes very fast however.
What I do today is use 6 off the shelf types and throw out the highest and lowest then average the remaining 4.
Just to clarify, the off the shelf types are the single probe style with the two sensor halves divided by an insulator. I use fine sandpaper to keep the sensor part fresh. They are replaced every season.