The shipping fee depends on your address
Standard: 9-15 business days,fee is down to $3.99
Express: 4-7 business days,fee is down to $5.99
WE'RE READY TO BUILD A CUSTOM PRODUCT FOR YOU.
If you're looking for a custom product, we can help. Kindly contact us via email support@keszoox.com and send us the details for your need, then we'll let you know how we can deliver the right solution.We make into production usually Within 1 - 3 Bussiness Days.
Expect customization orders.Uses capacitance to determine the amount of moisture in soil.
The Capacitive Soil Moisture Sensor Module determines the amount of soil moisture by measuring changes in capacitance to determine the water content of soil. This can be used in an automatic plant watering system or to signal an alert of some type when a plant needs watering.
This soil moisture sensor module uses capacitance rather than resistance to determine the water content of soil. The main down-side to the common fork type resistance sensor is that the probes inserted into the soil must be conductive bare metal and the small electrical current that flows between them results in corrosion of the probes through electrolysis over time.
The capacitive probe improves that situation because the sensor metal inserted into the soil can be covered in solder resist to minimize corrosion and electrical current is not flowing through the soil to induce electrolysis. The main weakness in the lifespan of the probe is the uncoated cut sides of the PCB which can absorb moisture over time as well as the exposed electronics at the top of the probe if they get splashed by water. The customer can add further protective coating such as clear fingernail polish or similar coating if desired without seriously affecting the performance of the probe.
The module uses a TL555I CMOS timer to create a 1.5MHz clock. The TL555I is similar to the ubiquitous NE555 but is newer CMOS technology with a higher frequency capability and other improvements.
A peak voltage detector converts the waveform from the TL555I into a DC voltage that can be read by the ADC input of a microcontroller.
When the probe is exposed to moisture, it affects the capacitance of the circuit which in turn affects the peak amplitude of the signal and therefore the DC voltage output that is being monitored by the MCU. Higher moisture = lower DC voltage output.
If you want to do a deep dive into the theory of how this thing works including schematics, there is an interesting though somewhat technical read where researchers reverse engineered how modules of this type work. Characterization of Low-Cost Capacitive Soil Moisture Sensors for IoT Networks
The probe is inserted into the soil to be monitored. The horizontal line shows the maximum depth that the probe should be inserted. The green area shown to the right is the recommended depth to place the probe. It is important that the electronics at the top of the probe are not subject to water or water splashing to avoid damage.
The analog output of the probe is monitored by the analog input on an MCU like an Arduino.
The measurement range between wet soil and dry soil is determined experimentally by measuring the soil under different conditions and the software configured to detect when the soil is too dry, too wet or just right.
More complete details below under Our Evaluation Results.
There is a 3-pin JST PH2.0 type connector on the probe. One end of the supplied cable plugs into the connector and the other end is a standard Dupont style 3-pin female connector. The cable is color coded with black for ground, red for VCC and yellow for AOUT
1×3 Connector
It is not possible to directly define an actual percentage of moisture in the soil from the measurements taken, but it is fairly straightforward to define basic ranges for what would be considered ‘too dry’, ‘too wet’ and ‘just right’.
This simple program can be used to monitor the output of the probe under different conditions to calibrate the settings. Just hook the sensor output to A0 and apply power and ground. male/male jumper wires can be used to connect the sensor connector to the MCU if needed. Once downloaded, open the Serial Monitor window to view the output of the sensor.
void setup() { Serial.begin(9600); // open serial port, set the baud rate as 9600 bps } void loop() { int val; val = analogRead(0); //connect sensor to Analog 0 Serial.println(val); //print the value to serial port delay(5000); }
To determine the possible measurement extremes, the probe output can be measured with the probe in the open air and then when submerged up to the Max line in a glass of water. That will determine the approximate maximum boundaries for the expected measurements. On the wet end of the scale, the cup of water may not read quite as wet as very wet soil due to factors other than just the amount of moisture present.
Using a potted plant, measure the soil under 3 basic conditions:
From those 5 measurements, ranges for each of the 3 conditions can be initially determined and then honed in on once the setup goes into operation. It also depends a bit on how overall dry or wet a particular species of plant likes to be.
On most MCUs like Arduino, the ADC is 10-bit, so the measurement has a range of 0-1023. In our test setup we got the following readings:
Based on that data, the program below defines the following ranges:
The program reports the status but doesn’t do anything with it. The trip point could be used to light an LED if the soil gets too dry or turn on power to a small water pump to automatically water the plant. I found it convenient to wire a red and green LED on the MCU I was experimenting with. Green meant everything was fine and Red indicated the plant was either too wet or too dry and needed attention without being connected to a computer to see the output.
Power is supplied from a digital output pin so it can be turned on/off under MCU control since the sensor may only need to be read every few hours. When power is first applied, the circuit takes a while to stabilize on the reading, so in the example the software waits 10 seconds after applying power before a reading is taken.
The program is using pin A0 for the analog reading but this can be any analog pin. Similarly pin 9 is being used to power the module, but these can be changed to any digital pin as needed.
/* Capacitive Soil Moisture Sensor Module Test Monitor soil moisture analog output 'A0' on ADC input A0 Power the module off of digital output pin 9 only when taking a measurement */ // Define pins used below #define ADC_PIN A0 // Use any available ADC Pin, connect to A0 sensor pin #define PWR_PIN 9 // Use any available digital pin, connect to VCC sensor pin #define SOIL_WET 275 // Define max value we consider soil 'too wet' #define SOIL_DRY 380 // Define min value we consider soil 'too dry' //=============================================================================== // Initialization //=============================================================================== void setup() { Serial.begin(9600); // Set Serial Monitor window comm speed pinMode(PWR_PIN, OUTPUT); // Set pin used to power sensor as output digitalWrite(PWR_PIN, LOW); // Set to LOW to turn sensor off at start } //=============================================================================== // Main //=============================================================================== void loop() { int returnedADCData = readSoilADC(); // Read sensor analog output Serial.print(returnedADCData); // Print raw ADC data if (returnedADCData < SOIL_WET) { // Determine status of our soil moisture situation Serial.println(" : Conclusion: Soil is too wet"); } else if (returnedADCData >= SOIL_WET && returnedADCData < SOIL_DRY) { Serial.println(" : Conclusion: Soil moisture is good"); } else { Serial.println(" : Conclusion: Soil is too dry - time to water!"); } } //=============================================================================== // Function readSoilADC returns the analog soil moisture measurement //=============================================================================== int readSoilADC() { digitalWrite(PWR_PIN, HIGH); // Turn sensor power on delay(10000); // Allow circuit time to settle int val_ADC = analogRead(ADC_PIN); // Read analog value from sensor delay(100); // Small delay probably not needed digitalWrite(PWR_PIN, LOW); // Turn sensor power off return val_ADC; // Return analog moisture value }
Notes:
Operating Ratings | ||
Vcc | Range | 3.3 to 5.5V |
I(typ) | < 5mA | |
Vout | Analog Output Range @ 5V | 1.2V to 3V (typ) |
Dimensions | ||
Sensor Probe | L x W (PCB) | 98 x 23mm (3.86 x 0.91″) |
Cable | Length | 20cm (8″) |
WE'RE READY TO BUILD A CUSTOM PRODUCT FOR YOU.
All orders are dispatched from our warehouse. The shipments are fully tracked—from our door to yours. Please allow 3-5 business days for your order to be processed in addition to the shipping times below.
Standard: 9-15 business days. Express: 4-7 business days.
Please note that shipping providers are extremely busy during this time, and some orders might experience a delay on top of usual delivery times. If your order is late, please allow 5-10 days more than indicated in standard shipping times before contacting our customer service. Thank you for your understanding.
All orders are 100% tracked. You’ll receive an email with a tracking number and a link to track your parcel once your order leaves our warehouse. Please allow 24-48 hours for the tracking link to start showing shipping information.
Receive our latest updates about our products & promotions.
Thanks for subscribing!
This email has been registered!