I have spent the past few days trying to reverse engineer a capacitive moisture sensor I ordered from eBay a while ago. The particular one I received looks like this:
What fascinated me about this sensor was that I could put it in a plastic bag and it would still be able to give accurate moisture readings. In air, the output voltage of the sensor is about 2.3V; in water, I am getting around 0.7V when submerged directly and 1.6V when submerged in a plastic bag. After analysing the circuit, I came up with this schematic (Note: I have left out the voltage regulator and the four corresponding caps, because I am feeding in 3.3V DC from my bench supply directly):
I then built a prototype on a breadboard, which gave me this result:
Unfortunately, my sensor does not work as well as the one I bought, because the voltage drops seem to be a lot smaller.
The output voltage in the air is the same. But when submerging it directly in water, I am getting 1.6V (as opposed to 0.7v for the bought one). When submerging it in a plastic bag, I can only see a voltage drop of 10mv to about 2.29V.
I have already re-measured the component values several times and also buzzed out all the traces again to make sure I got the connections right, but I obviously must be missing something.
One thing I have noticed while testing is that decreasing the value of C1 from 23nF to something like 470pF causes larger voltage drops, which makes my custom built sensor behave more like the bought one. But I’m still far from what I would like to see.
I’m an electronics beginner and this is one of my first reverse engineering projects, so any advice/tip would be greatly appreciated. I suspect that there is something wrong with my 555 timer circuit, but since I don’t have access to an oscilloscope, I could not really confirm that idea so far.
SOLUTION: I finally managed to get my custom sensor to work like the bought one. To make it work, I did the following:
- Replace all electrolytic capacitors with ceramic ones
- Added a 100nF ceramic capacitor between VCC and GND
- Change the value of C3 from 40nF to 10nF
- Change the value of C1 from 23nF to 470pF
Also, the 555 chip used makes a huge difference. When using a TI NE555DR, I doesn’t work as well as when using the original NE555 of the bought sensor.sensorcapacitancereverse-engineeringhumidityshareedit follow flagedited yesterdayasked 2 days agoAlexander Richter4333 bronze badges New contributor
- 1please draw a properly formatted schematic … power at top, ground at bottom, input on left, output on right … C1, R2, R3 should be drawn in vertical orientation … same for C2, R4 … U1 should be turned 90 degrees clockwise – jsotola 2 days ago
- 1@jsotola the schematic is laid out so that the components are placed and rotated exactly like they are on the PCB. I thought it would be easier to follow this way… – Alexander Richter 2 days ago
- 2definitely not easier to follow … a schematic diagram is not a wiring diagram … it does not represent component placement … it represents the electrical relationship between components … also, never draw lines through components, like you did between pin 2 and pin 6 – jsotola 2 days ago
- 1does the probe have only one wire going into the dirt? – jsotola 2 days ago
- 3@tlfong01: I hate to curb your enthusiasm but “I am glad to join in the chat for the following reasons:” is not appropriate. SE sites aren’t chat sites and the comment section is for clarification on questions and answers although a moderate amount of side-comments is tolerated. Can you delete the irrelevant comments above to clean up (and I’ll delete this). There are chat rooms and Meta for the other stuff. – Transistor 23 hours ago
- You’re using a bipolar 555 and the original obviously has a CMOS TLC555 (marked TL555). There are a number of differences aside from power supply current draw including greater output swing (particularly noticeable on a 5V supply).
- Diode on the original is probably a 1N4148 or similar. A 1N400x is too slow for this application.
- I would expect C1 to be more like 470pF.
- You are using an electrolytic capacitor for the filter, which may be too leaky for the 1M resistor. It may be okay, but you should be aware of the distinction between a ceramic capacitor (10G or 0.5nA max leakage at 5V) and an electrolytic (maybe 3uA leakage after 1 minute maximum) which is 6,000 times worse.
- 11. You’re right. The 555 on the product photo is actually a TL555, but the PCB I received has a chip labeled “NE555 69M GM184 64” on it. Does that still make a difference? I have already tried swapping out my 555 for the one on the original PCB by using a breakout adapter board, but I only see a very minimal improvement. 2. In my actual build, I am already using a 1N4148. I have updated my schematic accordingly. 3. & 4. I will try that out later today, maybe that is in fact the way to go. – Alexander Richter 2 days ago
- 1How did you go? – mhaselup 7 hours ago
How come my reverse engineered capacitive moisture sensor not working?
1. Troubleshooting suggestions
Suggest to troubleshoot from the NE555 astable. Check out test points TP1 (NE555 Output Pin 3), TP2 (Before rectifying diode), and TP3 (Sample and hold cap), using a scope or a status LED.
Scope show the open air frequency is around 360 kHz, output around 2.5V
Update and apologies 2020sep26hkt1137
Clarification on the way I am answering the question
My apologies to all those misled by me that I have suggested an answer. Actually I have not yet started! So far I have been writing appendices that describe the prerequisite knowledge that is need to understand the OP’s problem.
It is only after understanding the circuit then we can efficiently troubleshoot the OP’s already reverse engineered NE555 based capacitive moisture sensor.
Of course the OP might have already understood the circuit, but I am not sure if I correctly understand thoroughly myself. So I am sort of doing some research which I think other newbies or future readers might also learn together.
What I have research so far
(1) I started by a preliminary inspection of the three mositure sensors to get a overall picture of capacitive sensor, and why and how it is different from resistive sensor. Basically the capacitance is referring to that of the long metallic blade inserted into the soil, or just in open air if used as a rain detector.
(2) I studied the operation of the NE555 based astable (oscillator) and understand that the capacitance is referring to the capacitor used in the NE555 circuit.
(3) I did a basic test to make sure the moisture sensor I am testing more or less works properly.
(4) I am thinking of trying the following next, / to continue, …
Comments and counter suggestions welcome.
/ to continue, …
/ to continue, …
Appendix A – The OP’s Capacitive Moisture Sensor v1.2
Appendix B – tlfong01′ Collection of Moisture Sensors
Appendix C – Capacitive Sensor Schematic by Alsan Parajuli
Appendix D – NE555 Astable
Appendix E – Moisture Sensor IC/MCU
Appendix F – Calibrating the Capacitive Sensor
Now I am calibrating my capacitive moisture sensor.
Appendix G – Grove Capacitive Moisture Sensor Schematic/Wiring Diagram/Eagle Gerber Files
Appendix H – The OP’s reverse engineered capacitive moisture sensor wiring diagram and bread broad photo
Appendix I – Capacitive Soil Moisture Sensor V1.2 Components Layout
Appendix J – NE555 Datasheet Summary
Appendix K – NE555 Astable Operation Parameters
Appendix L – Scope display of NE555 Output at Pin 3 when sensor is in open air
Appendix M – Trying to Duplicate The OP’s Experiment Part 1
Appendix N – Frequency Calculation
--------------------------------- R1 R2 C1 --------------------------------- Richter 330 1k6 23nF Grove 1k5 2k4 470pF ---------------------------------
- 2How does this answer the question? – ocrdu 22 hours ago
- @ocrdu, Ah thanks for pointing out that actually I have not yet come to the main part of the question, how to reverse engineer the sensor. My plan is to use a scope to check out the oscillation, and then compare with the 555 oscillator, and then find the value of the capacitance, and how it values varies with the percentage immersed in water. In other words, I am just preparing the prerequisite for answer. The prerequisite is also for other newbies who want to know how to do reverse engineering. Stay tuned. – tlfong01 20 hours ago
- @ocrdu. So I have suggested the first troubleshooting trick for the OP. Please feel free to ask me to clarify any parts not clear, or suggest other troubleshooting approaches. Cheers. – tlfong01 2 hours ago