Smart Agriculture Project for Engineering Students India
Smart agriculture — using IoT sensors, automated irrigation, and data analytics to optimise farming — is one of the most impactful application domains for Indian engineering students. With 58% of India’s population dependent on agriculture and water scarcity affecting 54% of arable land (NITI Aayog), a sensor-based precision irrigation system that reduces water consumption by 30-40% while maintaining or improving yields is both technically challenging and genuinely valuable.
This guide presents a complete smart agriculture IoT system suitable for BE/BTech final year projects, diploma dissertations, or capstone projects. It covers sensor selection, ESP32-based data acquisition, LoRa for rural long-range communication, cloud dashboards, and the business case analysis that top graders include in their reports.
System Architecture Overview
A complete smart agriculture system has three layers:
Layer 1 — Field Nodes (sensing and actuation): ESP32-based nodes deployed in the field at 50-100 metre intervals. Each node measures soil moisture, temperature, humidity, and light intensity. Nodes also control solenoid valves for drip irrigation. Power source: solar panel + 18650 battery for remote deployment.
Layer 2 — Gateway (data aggregation): One ESP32 LoRa gateway per farm collects data from all field nodes via LoRa radio (1-5 km range, low power) and forwards it via WiFi to the cloud. Installed in the farmhouse or a weatherproof box with power supply.
Layer 3 — Cloud/Server (storage and visualisation): ThingSpeak, Ubidots, or a self-hosted Node-RED + InfluxDB + Grafana stack. Stores historical data, generates alerts, and provides a web/mobile dashboard for the farmer.
Recommended Product
ESP32 LoRa Module with OLED Display
The Heltec or TTGO ESP32 LoRa board with SX1276/SX1278 LoRa radio and built-in 0.96″ OLED is the standard platform for agricultural IoT gateway nodes. The OLED shows received sensor data from all field nodes. Available at Zbotic for Rs. 900-1,200.
Sensors for Agricultural Monitoring
Choose sensors appropriate for outdoor, dusty, and humid environments typical of Indian farms:
| Parameter | Recommended Sensor | Range | Cost |
|---|---|---|---|
| Soil moisture | Capacitive (not resistive) | 0-100% | Rs. 120 |
| Air temp/humidity | DHT22 or SHT31 | -40 to 80°C | Rs. 120-400 |
| Soil temperature | DS18B20 waterproof | -55 to 125°C | Rs. 120 |
| Light intensity | BH1750 digital | 0-65535 lux | Rs. 80 |
| Rainfall | Tipping bucket gauge | mm/hour | Rs. 800-1,500 |
Important: Use capacitive soil moisture sensors, not resistive. Resistive sensors corrode in 1-2 months in moist soil. Capacitive sensors (using dielectric constant measurement) are non-corrosive and last for years outdoors.
ESP32 Field Node Design
#include <Wire.h>
#include <DHT.h>
#include <BH1750.h>
#include <LoRa.h>
// Sleep-wake cycle for battery conservation
#define uS_TO_S_FACTOR 1000000ULL
#define SLEEP_DURATION 300 // 5 minutes between readings
#define NODE_ID 1
#define SOIL_PIN 34
#define DHT_PIN 22
DHT dht(DHT_PIN, DHT22);
BH1750 lightMeter;
void sendLoRaPacket(float soilMoisture, float temp,
float humidity, float lux) {
LoRa.beginPacket();
LoRa.print(NODE_ID);
LoRa.print(",");
LoRa.print(soilMoisture, 1);
LoRa.print(",");
LoRa.print(temp, 1);
LoRa.print(",");
LoRa.print(humidity, 1);
LoRa.print(",");
LoRa.print(lux, 0);
LoRa.endPacket();
}
void setup() {
Serial.begin(115200);
dht.begin();
Wire.begin();
lightMeter.begin();
// LoRa on 865 MHz (India ISM band)
LoRa.begin(865E6);
float soilRaw = analogRead(SOIL_PIN);
float soilPct = map(soilRaw, 4095, 1500, 0, 100);
float temp = dht.readTemperature();
float humidity = dht.readHumidity();
float lux = lightMeter.readLightLevel();
sendLoRaPacket(soilPct, temp, humidity, lux);
// Deep sleep for 5 minutes to conserve battery
esp_sleep_enable_timer_wakeup(SLEEP_DURATION * uS_TO_S_FACTOR);
esp_deep_sleep_start();
}
Deep sleep reduces ESP32 current from 240 mA (active WiFi) to 10 microamps — extending a 18650 battery from 30 hours to over 6 months with LoRa reporting every 5 minutes. This is the key design decision that makes field-deployed agricultural nodes practical.
LoRa for Long-Range Farm Coverage
LoRa (Long Range) operates in the 865-867 MHz ISM band in India (free to use without licence). Benefits for agriculture:
- Range: 1-5 km in open fields, 500 m through trees
- Power: nodes can run for months on battery (sleep mode draws 10 microamps)
- Penetration: 865 MHz penetrates foliage much better than 2.4 GHz WiFi
- Cost: ESP32 LoRa module costs Rs. 900-1,200 — much cheaper than cellular IoT (SIM charges)
Gateway code (receives from all nodes, forwards via WiFi/MQTT):
void loop() {
int packetSize = LoRa.parsePacket();
if (packetSize) {
String packet = "";
while (LoRa.available())
packet += (char)LoRa.read();
int rssi = LoRa.packetRssi();
// Parse: nodeID,soil,temp,humidity,lux
// Publish to MQTT
String topic = "farm/node/" + packet.substring(0, packet.indexOf(','));
mqttClient.publish(topic.c_str(), packet.c_str());
Serial.println("RX: " + packet + " RSSI:" + rssi);
}
}
Automated Drip Irrigation Control
Connect 12V solenoid valves to relay modules. When soil moisture drops below the threshold for the crop (tomatoes need 60% moisture, wheat tolerates down to 40%), the gateway triggers the relevant valve zone:
# Node-RED function node for irrigation logic
if (msg.payload.soil_moisture < 50 and
current_hour >= 6 and current_hour <= 8):
# Water in morning only
send_valve_command(zone=msg.payload.node_id, state=True)
schedule_off(minutes=15)
# Alert farmer
send_telegram(f"Zone {msg.payload.node_id}: Irrigating 15 min")
Key design rule: only irrigate during cooler hours (early morning 5-8 AM or evening 6-8 PM) to minimise evaporation. This alone can reduce water consumption by 20-30% compared to midday irrigation.
Recommended Product
Modbus RTU Relay Module 4-Channel
For larger irrigation systems with multiple zones, the 4-channel Modbus relay module allows the ESP32 gateway to control up to 4 solenoid valves via RS-485 with just two wires from the farmhouse — no relay wiring to each field node required.
Cloud Dashboard and Alerts
For the project report and demonstration, ThingSpeak is the easiest free cloud option:
- Free account supports 4 channels (fields), 8 data points per channel
- MATLAB visualisation built in for trend analysis
- ThingSpeak Alerts: email or webhook when a sensor exceeds threshold
- Mobile app available (Android + iOS)
For self-hosted alternatives: Grafana + InfluxDB on a free Oracle Cloud Always-Free tier provides unlimited retention, beautiful charts, and no per-message fees. This is the recommended approach for final year project demonstrations — host your own visible dashboard at a public URL.
Final Year Project Report Structure
A complete smart agriculture project report for B.Tech submission typically includes:
- Abstract: 200 words summarising problem, solution, and results
- Literature Review: 5-7 published papers on IoT agriculture (IEEE Xplore has many), summarising existing approaches and gaps
- System Design: Block diagram, circuit schematics, sensor selection justification
- Implementation: Code snippets, calibration procedures, field installation photographs
- Results and Analysis: At least 2 weeks of real sensor data, charts of soil moisture, temperature, and irrigation events
- Comparison: Before/after water consumption, yield data if available, comparison with traditional irrigation
- Cost Analysis: Bill of materials, comparison with commercial smart irrigation systems (Rs. 50,000-2 lakh for branded systems vs Rs. 8,000-15,000 for your build)
- Future Work: Crop disease detection via camera, weather API integration, machine learning for yield prediction
Frequently Asked Questions
Can this project be done for an actual farmer’s field or only in simulation?
Both work for final year projects. Deploying in a real field (a family farm, college agricultural plot, or willing farmer’s land) produces far more compelling results — real humidity and temperature data, real irrigation events, real yield comparison. Even two months of real-world data is more valuable than three months of simulated data.
How do I power field nodes without electricity access?
A 5W solar panel (Rs. 400-600) and one 18650 Li-ion cell (Rs. 150-200) per node with a TP4056 charging module (Rs. 30) provides reliable power in Indian sunlight conditions. The ESP32 deep sleep cycle means the battery is nearly always full — charging requires only 2-3 hours of partial sunlight daily.
My college is in a city — where do I deploy the field nodes?
College campus gardens, college agriculture department plots, a family member’s terrace garden, or a community garden work as small-scale deployments. Even a 10 × 10 metre area with 2-3 nodes and one solenoid valve demonstrates the full system functionality.
Which cloud platform is best for a final year project demonstration?
ThingSpeak for simplicity and quick setup. Ubidots for better mobile dashboards. Self-hosted Grafana + InfluxDB on Oracle Cloud Free Tier for the most professional-looking result that impresses evaluators. Set up the cloud dashboard early so you have at least 4 weeks of data at submission time.
Build India’s Future Smart Farms
Complete smart agriculture project components — ESP32 LoRa, soil sensors, relay modules — at Zbotic. Nationwide delivery for engineering students across India.
Add comment