We have used drip irrigation for years with great success using a regular on/off timer that can be set to open the water valve at a certain time, for a given duration, so many times a day - whether it needs it or not! In dry weather it keeps our garden nice and green, but when it's already raining or going to rain, or the ground is saturated, it's a pure waste of an increasingly scarce resource.
So for the Windows 10 IoT Home Automation Challenge I decided to make a smart water controller that will get the weather forecast, check the soil moisture and make an intelligent decision to water or not. Also the watering schedule can be moved online to a web page instead of having to visit the faucet, and the actual watering times can be logged to a cloud message queue for collecting data and improving the algorithm.
As for hardware, the smart garden water controller is almost as easy as blinking an LED!
This project is sufficiently complete that we have been using it for a few days now. In fact, it's fun to sit on the porch and watch the time - it'll kick off a water cycle within a second of the scheduled time!