So I started work on my next project today, an automatic garden watering system and monitor based built using Arduino. My plan is to create a system that can:
- Monitor basic parameters such as temperature and humidity
- Detect when soil moisture is low and water automatically from a tap or reservoir
- Be accessible and controllable via the internet
- Alert when reservoir is low, excess temperature etc.
With the following additional features depending on how much success I have:
- Collect excess water and recycle back to reservoir
- Be powered using batteries recharged from a small solar panel
I started out using an Arduino Uno and a cheap 5V motor in order to determine if it could be powered from the USB alone and provide sufficient power to pump water over a distance of approximately 1m. I connected as follows:

Once this was successfully pumping water, I attached an ESP-01 and configured it to connect with Blynk to enable remote control.
The 5V motor
Pumping water
ESP-01
Wiring
This enabled me to start the pump from my phone but unfortunately Blynk would then suddenly disconnect and I would have to recycle power to the ESP-01 to get it going again. So thinking this may be due to the fact the ESP devices are very sensitive to their supply I am attempting to isolate it from both the Arduino and the pump using an external power supply and a relay switch.

I’ll let you know how I get on…