You are on page 1of 6

SCHOOL OF ELECTRONICS ENGINEERING

B.TECH. COMPUTER SCIENCE (AI, CPS, RS)

ECE3502 – IoT DOMAIN ANALYST

Project Report
AgriSense: Smart Soil Fertility Monitoring System

Submitted By
Roanek Jena (21BAI1125)
Sadhak Jain(21BAI1126)
Parmatm Jaiswal(21BAI1295)
Kunal Bansal(21BPS1445)
Divyendu Vimal(21BPS1487)

Faculty Handled:
Dr. Rohith G
AP/SENSE
Report: Smart Soil Fertility Monitoring System
1. Introduction:

The "Smart Soil Fertility Monitoring System" is an innovative project aimed at revolutionizing
modern agriculture by integrating Internet of Things (IoT) technology to monitor and manage soil
conditions in real-time. This project addresses the critical need for precision farming practices
to optimize crop yield and quality while minimizing resource wastage.

2. Objectives:

1. Develop a comprehensive soil monitoring system capable of measuring key parameters


including pH, moisture, temperature, humidity, and nutrient levels (NPK).
2. Implement IoT technology to enable remote monitoring and data analysis.
3. Provide farmers with actionable insights into soil health to optimize agricultural
practices and maximize productivity.
4. Facilitate sustainable farming practices by minimizing environmental impact and
resource usage.

3. System Architecture:

The Smart Soil Fertility Monitoring System consists of the following components:

1. Sensors: pH sensor, moisture sensor, temperature sensor, humidity sensor, NPK sensor.
2. Microcontroller: Arduino or similar platform for data acquisition and processing.
3. Communication Module: WiFi or GSM module for transmitting data to the cloud.
4. Cloud Infrastructure: Server for storing and analyzing sensor data.
5. User Interface: Web or mobile application for accessing soil fertility reports and
receiving alerts.

4. Sensor Integration:

Each sensor is strategically placed in the soil to measure specific parameters:

1. pH Sensor: Measures soil acidity or alkalinity levels.


2. Moisture Sensor: Determines soil moisture content to optimize irrigation.
3. Temperature Sensor: Tracks soil temperature variations.
4. Humidity Sensor: Monitors the moisture content in the air surrounding the soil.
5. NPK Sensor: Assesses the concentration of essential nutrients – nitrogen (N),
phosphorus (P), and potassium (K).

5. Data Processing and Analysis:

The microcontroller collects sensor data at regular intervals and preprocesses it before
transmitting to the cloud. Advanced algorithms analyze the data to evaluate soil fertility levels
based on predefined thresholds. Specific deficiencies or imbalances in soil nutrients are
identified, and actionable recommendations are provided to farmers.
6. User Interface:

Farmers can access soil fertility reports and receive real-time notifications through a user-
friendly interface via a web or mobile application. The interface provides graphical
representations of soil parameters, trend analysis, and personalized recommendations for soil
management.

7. Benefits:

1. Enables proactive soil management and decision-making based on real-time data.


2. Optimizes crop yield and quality by maintaining optimal soil conditions.
3. Reduces resource wastage by optimizing irrigation, fertilization, and other farming
practices.
4. Facilitates remote monitoring, allowing farmers to manage multiple fields efficiently.
5. Promotes sustainable agriculture practices by minimizing environmental impact and
maximizing resource efficiency.

8. Code Implementation:

Below is a simplified version of the Arduino code used in the Smart Soil Fertility Monitoring
System:

#include <Wire.h> // Include Wire library for I2C communication

// Define sensor pins (as an example)

#define PH_SENSOR_PIN A0

#define MOISTURE_SENSOR_PIN A1

#define TEMP_SENSOR_PIN A2

#define HUMIDITY_SENSOR_PIN A3

#define NPK_SENSOR_ADDRESS 0x5A // Example I2C address for the NPK sensor

// Threshold values for each parameter

const float pH_low = 6.0;

const float pH_high = 7.5;

const int moisture_low = 30;

const int moisture_high = 60;

const float temp_low = 10.0;

const float temp_high = 30.0;

const int humidity_low = 50;

const int humidity_high = 90;


const int npk_low = 20; // Example threshold for low NPK value

const int npk_high = 50; // Example threshold for high NPK value

void setup() {

Serial.begin(9600); // Start serial communication at 9600 baud

Wire.begin(); // Initialize I2C communication

void loop () {

// Read sensors

float pH = analogRead(PH_SENSOR_PIN) * (14.0 / 1023.0); // Simplified conversion

int moisture = analogRead(MOISTURE_SENSOR_PIN);

float temperature = readTemperature(TEMP_SENSOR_PIN);

int humidity = readHumidity(HUMIDITY_SENSOR_PIN);

int npkValue = readNPK();

// Analyze and report each parameter

analyzeAndReport("pH", pH, pH_low, pH_high);

analyzeAndReport("Moisture", moisture, moisture_low, moisture_high);

analyzeAndReport("Temperature", temperature, temp_low, temp_high);

analyzeAndReport("Humidity", humidity, humidity_low, humidity_high);

analyzeNPK(npkValue, npk_low, npk_high);

// Delay between readings

delay(2000);

void analyzeAndReport(String parameterName, float value, float low, float high) {

Serial.print(parameterName);

Serial.print(": ");

Serial.print(value);

if (value < low) {


Serial.println(" - Too Low");

} else if (value > high) {

Serial.println(" - Too High");

} else {

Serial.println(" - Optimal");

void analyzeNPK(int value, int low, int high) {

Serial.print("NPK: ");

Serial.print(value);

if (value < low) {

Serial.println(" - Deficient");

} else if (value > high) {

Serial.println(" - Excessive");

} else {

Serial.println(" - Optimal");

float readTemperature(int pin) {

// Assuming a simple linear conversion for demonstration

return analogRead(pin) * (150.0 / 1023.0);

int readHumidity(int pin) {

// Assuming a simple linear conversion for demonstration

return analogRead(pin) * (100 / 1023);

int readNPK() {

// Read NPK sensor value over I2C

Wire.requestFrom(NPK_SENSOR_ADDRESS, 1); // Request 1 byte from the sensor

if (Wire.available()) {
return Wire.read(); // Return the received byte (example value)

return -1; // Return -1 if no data received (error handling)

9. Future Enhancements:

1. Integration with weather forecast data for predictive analysis and adaptive farming.
2. Implementation of machine learning algorithms for personalized recommendations and
adaptive control.
3. Expansion of sensor capabilities to include additional parameters such as salinity,
carbon content, and microbial activity.
4. Collaboration with agricultural experts and research institutions to continuously
improve soil health assessment techniques.

10. Conclusion:

The Smart Soil Fertility Monitoring System represents a significant advancement in precision
agriculture, offering farmers a powerful tool for optimizing soil fertility management. By
leveraging IoT technology and data analytics, this system empowers farmers to make informed
decisions and maximize agricultural productivity in a sustainable manner. With ongoing
innovation and collaboration, this project aims to contribute to the global effort towards food
security and environmental stewardship.

11. References:

Arduino Official Website

Sensor datasheets and documentation

Research papers on precision agriculture and soil fertility management.

12. Acknowledgments:

We would like to express our gratitude to [Institution Name] for their support and resources
throughout the development of this project. Additionally, we extend our thanks to the faculty
advisors, project mentors, and agricultural experts who provided guidance and expertise during
the implementation phase.

You might also like