Arduino Maker Series Under 1000: Automatic Plant Watering System

Arduino Maker Series Under 1000: Automatic Plant Watering System

Welcome to the Arduino Maker Series Under 1000! 🌱 This is the first project in the series. We will build a smart automatic plant watering system using Arduino, a soil moisture sensor, and a mini water pump. Perfect for beginners and makers, this project is practical, affordable, and fun. By the end, your plants will water themselves automatically when the soil is dry.

Table of Contents

  • Introduction
  • Required Hardware
  • Arduino IDE Setup
  • Wiring the Components
  • Arduino Code
  • How It Works
  • Testing Your Project
  • Advanced Modifications
  • Common Issues and Troubleshooting
  • Download Full Project
  • Conclusion

1. Introduction

This project automates plant watering using a soil moisture sensor and a water pump controlled by Arduino. It’s perfect for:

  • Beginners learning Arduino and electronics
  • Makers building home garden projects
  • Anyone who wants to save water and time

2. Required Hardware

  • Arduino Uno (or compatible board) – ~₹500
  • Soil Moisture Sensor – ₹50–₹100
  • Mini Water Pump – ₹150–₹200
  • Relay Module – ₹100
  • Jumper Wires & Breadboard – ₹100
  • 5V Power Supply / USB – ₹100
  • Arduino IDE installed on your PC

3. Arduino IDE Setup

  1. Open Arduino IDE
  2. Connect Arduino via USB
  3. Select the correct board under Tools > Board
  4. Select the correct COM port under Tools > Port

4. Wiring the Components

  • Soil Moisture Sensor: VCC → 5V, GND → GND, Analog Output → A0
  • Relay Module: VCC → 5V, GND → GND, IN → Digital Pin 7
  • Mini Water Pump: Connect through relay COM & NO pins

5. Arduino Code

Upload this code to your Arduino:

const int sensorPin = A0; // Soil moisture sensor pin
const int relayPin = 7;   // Relay control pin
int threshold = 400;      // Adjust based on soil moisture

void setup() {
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, HIGH); // Relay OFF initially
  Serial.begin(9600);
}

void loop() {
  int soilMoisture = analogRead(sensorPin);
  Serial.print("Soil Moisture: ");
  Serial.println(soilMoisture);

  if(soilMoisture > threshold) { 
    digitalWrite(relayPin, LOW);  // Turn pump ON
    Serial.println("Pump ON");
  } else {                        
    digitalWrite(relayPin, HIGH); // Turn pump OFF
    Serial.println("Pump OFF");
  }
  delay(2000);
}

6. How It Works

The soil moisture sensor measures water content in soil. When the soil is dry, Arduino activates the relay, powering the water pump. When soil moisture is sufficient, the pump switches off automatically.

7. Testing Your Project

  1. Upload the code
  2. Open Serial Monitor to view soil readings
  3. Insert sensor into soil. Pump should turn ON automatically when soil is dry
  4. Watering stops when soil reaches the threshold

8. Advanced Modifications

  • Use multiple sensors for larger gardens
  • Add LED indicators for dry/wet soil
  • Integrate a buzzer for alerts

9. Common Issues and Troubleshooting

  • Pump not turning ON: Check relay wiring and threshold
  • Incorrect sensor readings: Check connections and soil contact
  • Serial Monitor not displaying: Ensure correct COM port and baud rate 9600

10. Download Full Project

11. Conclusion

This is the first project in the Arduino Maker Series Under 1000. Your Automatic Plant Watering System is now ready! It’s a simple, practical, and budget-friendly starter project, perfect for beginners and makers looking to automate home gardening.

By Kaushal Haladi

Comments

Popular Posts