Keeping soil moist is key to keeping most plants happy. It can be a pain having to dip one’s fingers into dirty soil on the regular, so it’s desirable to have a tool to do the job instead. [Andrew Lamchenko] built a capable soil moisture monitor, and equipped it with an E-ink display for easy readings at a glance.
The device is built around the NRF52810 or other related NRF52 microcontrollers, which run the show. Rather than using an off-the-shelf sensor to determine soil conditions, an LMC555CMX timer chip is used, a variant of the classic 555 timer designed for low power consumption. Combined with the right PCB design, this can act as a moisture sensor by detecting capacitance changes in the soil. The sensor is also able to send data using the MySensor protocol, allowing it to be used as a part of a home automation system.
The soil is tested periodically with the moisture sensor, and displayed on the attached e-ink screen. Since the e-ink display requires no electricity except when rewriting the display, this allows the sensor to operate for long periods without using a lot of battery power. The soil can be checked, the display updated, and then the entire system can be put to sleep, using tiny amounts of power until it’s time to test the soil again.
It’s a great example of design for low power applications, where component selection really is everything. We’ve featured [Andrew]’s projects before; he’s long been a fan of using e-ink displays to create long-lasting, low power budget sensor platforms. Video after the break.
this is that big! why this is not integrate with water container ;)
>When the soil moisture level is low (below 45%), an icon is displayed on the device screen about the need to water.
In terms of volumetric water content, 45% is pretty much watery mud. In terms of water availability to plants, sandy soils can give off water all the way down to 10-20% water content, so low that the sand looks and feels dry. How is the moisture content determined?
if you decide to use the sensor as a ready-made device, you can simply send a command to the sensor with a new level at which the sensor will warn you about the need for watering (5, …20, …30, any value from 0 to 100). If you need to change the measurement range, you can change the code, it is open.
https://github.com/smartboxchannel/Wireless-capacitive-soil-moisture-mini-sensor-with-e-paper-display-1.02inch/blob/de919f27f01406f3d1c42daacdc5683342420eba/CODE/Arduino/EFEKTA_PWS102.ino#L105
Measurement method, capacitive, …stick a flat capacitor in the ground :)
That’s not saying much anything. How is “45%” determined, and what does it actually measure?
45% between some arbitrary maximum and minimum capacitance value? How do you come up with the limits? Is the range in between them linear to the volumetric water content? How does the volumetric water content map to the actual need to water the plant?
If you start out with a bunch of dirt baked dry in an oven, tamped down into a liter cup, and start dropping in known amounts of water a few centiliters at a time, how does the sensor respond?
If you use the device as a ready-made one, you can send a command to it with the desired value, at which a warning about watering will be displayed(5…10..30 and so on, any value from 0 to 100). If you want to change the range of conversion of an analog signal to a percentages, you can do it in the code by changing the constants and compile the program, this project is open source. Measurement method capacitive, flat capacitor stuck in the ground :)
If you use the device as a ready-made one, you can send a command to the device with a new value for the irrigation alert level(5..10..30 and so on, any value from 0 to 100). If you need to change the range of conversion of an analog signal to a percentage, you can change the value of the constants and compile the program, this project is open source. The measurement method is capacitive, through a flat capacitor stuck in the ground :)