It is fairly easy to monitor moisture levels of your indoor plant soil using a microcontroller like an Arduino Uno.
It is a little more work to do this for outdoor plants because you probably need a weatherproof housing. Some more complicated projects even go on to turn on your outdoor water for you.
Here we stuck to the simpler versions for indoor plants. You could easily update some of these with a different Arduino like the MKR1000 which has WiFi to notify yourself via a text message or webpage.
Using an Arduino, LCD display and some bolts, this article shows you how to make a simple moisture sensor. I'm not sure how long it will last if it is only powered by a 9volt battery. Better to use 4 rechargeable AA batteries or a power plug.
Using an Arduino, an HL-69 moisture sensor, piezzo buzzer and an led , this project buzzes at you when your plant's soil is dry. We would put this project in a box to avoid it getting wet when watering the plant.
Using a water pump, Arduino and some bolts, this projects senses when you plant needs water and waters it for you. This project would be great for something like a Christmas tree as it can be hard to get under the tree. We also like how neat it is with the project box. Just don't forget to refill the container with the water in it.
Using an Arduino Nano, Soil Hygrometer Humidity Detection Module Moisture Sensor For Arduino and some leds, this project lights up corresponding leds to tell you when your plant needs watering. After making this project on the breadboard we would solder it onto a perfboard to make it more permanent. See our Breadboard To Perfboard tutorial.