Skip to content
Vertical Farming IoT

WiFi-Based Real-Time Data Processing: When Milliseconds Matter in Hydroponics

19 min read January 26, 2026 Indoor & Controlled Environment
High-quality visualization of wifi based real time data processing: when milliseconds matter in hydroponics featuring advanced farming techniques, hydroponics, and sustainable agriculture.

From Sensor Reading to Mobile Alert in Under 2 Seconds—The Complete Guide to Wireless Real-Time Monitoring

How WiFi Technology Enables Instant Decision-Making for Modern Agriculture


The Two-Second Window That Saved ₹4.2 Lakhs

Priya’s commercial lettuce farm in Bengaluru was running smoothly—or so she thought. Her 2,500 m² NFT system processed nutrients for 18,000 heads of premium varieties, each plant worth ₹22-28 at harvest. At 2:37 AM on a Tuesday night, disaster struck: the main circulation pump’s VFD controller experienced a voltage spike and began running at 175% speed instead of the programmed 75%.

What happened in the next 120 seconds determined everything:

0:00 – VFD malfunction begins
0:02 – Flow sensor detects abnormal rate (5.8 L/min instead of 2.4 L/min)
0:03 – ESP32 node processes data, recognizes critical anomaly
0:04 – WiFi transmission to master node (38ms latency)
0:05 – Master node analyzes: “Flow rate 241% above setpoint = CRITICAL”
0:06 – Emergency shutdown command sent to VFD via WiFi
0:07 – Push notification sent to Priya’s phone
0:08 – SMS backup alert dispatched
0:09 – Pump deactivated, system enters safe mode
0:12 – Priya wakes up to phone buzzing with critical alert

Total response time: 12 seconds from malfunction to system shutdown.

“By the time I got to my phone, the system had already protected itself,” Priya recalls. “If this had happened with my old hourly monitoring setup, the pump would have run at overspeed for potentially 30-45 minutes before I checked. The excessive flow would have stripped nutrients from roots, caused temperature spikes, and stressed 18,000 plants. I calculated the potential loss at ₹4.2 lakhs—damaged plants, delayed harvest, reduced quality grades.”

The critical insight: In hydroponics, the difference between “checking every hour” and “monitoring every second” isn’t incremental improvement—it’s the difference between disaster prevention and crop loss. Traditional monitoring systems operate on polling cycles (check sensors every 5-60 minutes). Real-time WiFi systems operate on event-driven architectures (respond to anomalies within 2-10 seconds).

This is the power of WiFi-based real-time data processing.


Understanding Real-Time vs. Near-Real-Time vs. Batch Processing

Before diving into implementation, let’s clarify what “real-time” actually means:

Processing Paradigms Compared

AspectBatch ProcessingNear-Real-TimeTrue Real-Time
LatencyMinutes to hours5-60 seconds<2 seconds
Update FrequencyEvery 5-60 minutesEvery 10-30 secondsContinuous (event-driven)
Example TechnologyArduino + SD card loggingArduino + hourly WiFi syncESP32 + WiFi streaming
Data FlowSensor → Storage → Later analysisSensor → Cloud → DashboardSensor → WiFi → Instant action
Typical Use CaseHistorical analysis, researchGeneral monitoringCritical control, automation
Response Speed“Check tomorrow morning”“Review every few minutes”“Alert within seconds”
Cost₹800-1,500₹1,200-2,500₹1,800-3,500

For Hydroponics:

  • Batch: Acceptable for research, unacceptable for production
  • Near-Real-Time: Adequate for stable systems, risky for high-value crops
  • True Real-Time: Essential for commercial operations, critical automation

This blog focuses on True Real-Time systems.


The WiFi Advantage: Why Wireless Wins for Real-Time Processing

WiFi vs. Alternative Communication Technologies

TechnologyRangeData RateLatencyPowerCostBest For
WiFi 802.11n50-100m indoor72-150 Mbps10-50ms0.5-2W₹400-600Real-time, high-frequency data
LoRa2-15 km0.3-50 kbps1-3 seconds20-100mW₹800-1,200Long-range, infrequent updates
Zigbee10-100m250 kbps50-200ms10-50mW₹600-900Mesh networks, moderate data
Bluetooth10-30m1-3 Mbps100-300ms10-100mW₹200-400Personal area, low range
4G/LTECellular5-50 Mbps50-150ms1-3W₹1,500-3,000 + data planRemote locations, no WiFi
Ethernet (wired)100m per cable100-1000 Mbps1-5msN/A (powered)₹150-300/meterHighest reliability, fixed installations

WiFi’s Sweet Spot:High bandwidth: Stream video, handle multiple sensors simultaneously
Low latency: 10-50ms typical, enables real-time control
Widespread infrastructure: Most farms already have WiFi routers
Easy integration: ESP32 has built-in WiFi (no additional modules)
No subscription fees: Unlike cellular (₹300-800/month data plans)
Reasonable range: 50-100m covers most greenhouse zones

WiFi’s Limitations:Power consumption: 0.5-2W (requires constant power or large battery)
Range limitation: 50-100m typical (vs. LoRa’s 2-15 km)
Obstacle sensitivity: Concrete walls, metal structures reduce range
Network congestion: 20+ devices on single router can slow down

Decision Framework:

  • Choose WiFi if: Greenhouse <3,000 m², reliable power available, need <1 second response times, want to stream video/high-frequency data
  • Choose LoRa if: Large outdoor farm >3,000 m², battery-powered nodes, updates every 5-30 minutes acceptable
  • Choose 4G if: Remote location with no WiFi infrastructure, willing to pay monthly data fees
  • Choose Ethernet if: Maximum reliability required, can install cables, fixed sensor positions

For 95% of hydroponic systems: WiFi is optimal.


Real-Time Architecture: The Technology Stack

Layer 1: Sensor Layer (Physical to Electrical)

Function: Convert physical parameters (pH, EC, temperature) to electrical signals

Components:

  • pH probe (glass electrode, BNC connector)
  • EC/TDS probe (two-electrode conductivity)
  • Temperature sensor (DS18B20 waterproof)
  • Water level (ultrasonic or float switch)
  • Flow rate (turbine or hall-effect sensor)

Output: Analog voltage (0-5V or 4-20mA) or digital protocol (I²C, 1-Wire)

Sample Rate: 100-1000 Hz at hardware level (though we’ll downsample for transmission)


Layer 2: Edge Processing Layer (ESP32 Microcontroller)

Function: Read sensors, process locally, package data for WiFi transmission

Why ESP32 is Ideal for Real-Time WiFi:

FeatureSpecificationReal-Time Benefit
Dual-core CPU240 MHz Xtensa LX6Dedicate one core to WiFi, one to sensors (no blocking)
WiFi 802.11 b/g/nBuilt-in, 2.4 GHzZero additional hardware, native Arduino support
12-bit ADC18 channelsPrecise analog sensor reading (0-4095 resolution)
RAM520 KB SRAMBuffer data during WiFi hiccups, no packet loss
Flash4-16 MBStore local fallback programs, config files
Real-Time OSFreeRTOSMultitasking, priority-based scheduling
Low latency10-30ms sensor→WiFiCritical for sub-second total response time

Edge Processing Example:

#include <WiFi.h>
#include <PubSubClient.h>  // MQTT library
#include <ArduinoJson.h>   // JSON packaging

// Sensor pins
#define PH_PIN 34
#define EC_PIN 35
#define TEMP_PIN 4

// WiFi credentials
const char* ssid = "Greenhouse_WiFi";
const char* password = "YourPassword";

// MQTT broker (could be local Raspberry Pi or cloud service)
const char* mqtt_server = "192.168.1.100";

WiFiClient espClient;
PubSubClient mqtt(espClient);

// Sensor reading functions
float readpH() {
  int raw = analogRead(PH_PIN);
  float voltage = raw * (3.3 / 4095.0);
  float pH = 7.0 + ((2.5 - voltage) / 0.18);  // Calibration equation
  return pH;
}

float readEC() {
  int raw = analogRead(EC_PIN);
  float voltage = raw * (3.3 / 4095.0);
  float EC = voltage * 0.8;  // Simplified (actual requires temp compensation)
  return EC;
}

float readTemp() {
  // DS18B20 OneWire reading (simplified)
  // In real implementation, use DallasTemperature library
  return 24.5;  // Placeholder
}

// Core 0: WiFi and communication (runs independently)
void taskWiFiCommunication(void *parameter) {
  while(true) {
    if (!mqtt.connected()) {
      reconnectMQTT();
    }
    mqtt.loop();  // Process incoming MQTT messages
    vTaskDelay(10 / portTICK_PERIOD_MS);  // 10ms delay
  }
}

// Core 1: Sensor reading and data packaging (high priority)
void taskSensorReading(void *parameter) {
  while(true) {
    // Read all sensors
    float pH = readpH();
    float EC = readEC();
    float temp = readTemp();
    
    // Package as JSON
    StaticJsonDocument<256> doc;
    doc["pH"] = pH;
    doc["EC"] = EC;
    doc["temp"] = temp;
    doc["timestamp"] = millis();
    
    char buffer[256];
    serializeJson(doc, buffer);
    
    // Publish to MQTT (non-blocking)
    mqtt.publish("greenhouse/zone1/sensors", buffer);
    
    // Local anomaly detection (edge intelligence)
    if (pH < 5.0 || pH > 7.0) {
      mqtt.publish("greenhouse/zone1/alerts", "CRITICAL_PH_DEVIATION");
    }
    
    vTaskDelay(1000 / portTICK_PERIOD_MS);  // Read every 1 second
  }
}

void setup() {
  Serial.begin(115200);
  
  // Connect to WiFi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWiFi connected");
  
  // Connect to MQTT broker
  mqtt.setServer(mqtt_server, 1883);
  
  // Create FreeRTOS tasks on separate cores
  xTaskCreatePinnedToCore(
    taskWiFiCommunication,  // Task function
    "WiFi_Comm",            // Task name
    10000,                  // Stack size
    NULL,                   // Parameters
    1,                      // Priority
    NULL,                   // Task handle
    0                       // Core 0 (dedicated to WiFi)
  );
  
  xTaskCreatePinnedToCore(
    taskSensorReading,      // Task function
    "Sensor_Read",          // Task name
    10000,                  // Stack size
    NULL,                   // Parameters
    2,                      // Higher priority
    NULL,                   // Task handle
    1                       // Core 1 (dedicated to sensors)
  );
}

void loop() {
  // Empty - FreeRTOS tasks handle everything
}

void reconnectMQTT() {
  while (!mqtt.connected()) {
    if (mqtt.connect("ESP32_Zone1")) {
      mqtt.subscribe("greenhouse/zone1/commands");
    } else {
      delay(5000);
    }
  }
}

Key Real-Time Techniques in This Code:

  1. Dual-core utilization: Core 0 handles WiFi (networking stack), Core 1 handles sensors (time-critical). No interference.
  2. Non-blocking operations: mqtt.publish() returns immediately, doesn’t wait for confirmation (fire-and-forget for speed).
  3. Edge intelligence: pH anomaly detected locally (<1ms) before cloud even sees the data. Instant local actions possible.
  4. JSON packaging: Standardized format enables any dashboard/analytics tool to parse data.
  5. MQTT protocol: Publish-subscribe model means multiple consumers can receive data simultaneously (mobile app + database + analytics).

Performance Metrics:

  • Sensor read frequency: 1 Hz (every 1 second)
  • WiFi transmission latency: 10-30ms
  • Total sensor-to-cloud time: <100ms
  • Local anomaly detection: <1ms (happens before WiFi)

Layer 3: Network Layer (WiFi Infrastructure)

Function: Transport data packets from ESP32 nodes to central gateway/cloud

Network Topology Options:

Option A: Star Topology (Simple, Most Common)

               [WiFi Router]
                    |
        ┌───────────┼───────────┐
        |           |           |
   [ESP32-A]   [ESP32-B]   [ESP32-C]
   Zone 1       Zone 2       Zone 3

Characteristics:

  • All nodes connect directly to single router
  • Simple setup, no mesh complexity
  • Router is single point of failure
  • Range limited to WiFi router coverage (50-100m)

Best for: Small to medium greenhouses (<1,500 m²), single building


Option B: Mesh Topology (Extended Range, Redundant)

[Router] ←→ [ESP32-A] ←→ [ESP32-B] ←→ [ESP32-C]
                ↕
           [ESP32-D]

Characteristics:

  • Nodes relay data for each other (extended range)
  • No single point of failure (self-healing)
  • More complex programming (mesh protocol required)
  • Slightly higher latency (multi-hop)

Best for: Large facilities (>2,000 m²), multiple buildings, obstacle-rich environments


Option C: Hybrid WiFi + Ethernet Backbone

[Main Router] ←Ethernet→ [WiFi AP #1] ←WiFi→ [ESP32-A, B, C]
      ↓
   Ethernet
      ↓
[WiFi AP #2] ←WiFi→ [ESP32-D, E, F]

Characteristics:

  • Wired backbone (maximum reliability)
  • Multiple WiFi access points (extended coverage)
  • Best performance (Ethernet = no wireless congestion)
  • Higher cost (cabling installation)

Best for: Professional operations, new construction (install conduit), maximum reliability requirements


WiFi Network Configuration for Real-Time:

Critical Settings:

ParameterStandard SettingReal-Time OptimizedReason
ChannelAutoFixed (1, 6, or 11)Avoids automatic channel switching = dropped packets
Bandwidth20/40 MHz auto20 MHz onlyReduces interference, more reliable
Beacon interval100ms100ms (keep default)Too low = overhead, too high = discovery delay
DTIM11Wake sleeping devices every beacon (low latency)
QoSDisabledEnabled (WMM)Prioritize time-sensitive data
Power saveEnabledDisabled on ESP32Power save adds 100-300ms latency
Max clients50+20-30Fewer clients = more bandwidth per device

ESP32 WiFi Power Mode:

// Disable WiFi power saving for minimum latency
WiFi.setSleep(false);  // Critical for real-time!

// Default behavior: ESP32 sleeps WiFi radio between transmissions
// Sleep adds 100-300ms wake-up latency
// For real-time: always-on radio (higher power, lower latency)

Network Performance Monitoring:

void checkWiFiQuality() {
  // Signal strength
  int rssi = WiFi.RSSI();  // Received Signal Strength Indicator
  
  if (rssi > -50) {
    Serial.println("Excellent signal");  // <10ms latency expected
  } else if (rssi > -60) {
    Serial.println("Good signal");       // 10-30ms latency
  } else if (rssi > -70) {
    Serial.println("Fair signal");       // 30-100ms latency
  } else {
    Serial.println("Poor signal");       // >100ms latency, potential drops
    // Consider adding WiFi repeater
  }
  
  // Connection stability
  if (WiFi.status() != WL_CONNECTED) {
    Serial.println("WiFi disconnected! Attempting reconnect...");
    reconnectWiFi();
  }
}

Layer 4: Gateway/Hub Layer (Data Aggregation & Processing)

Function: Collect data from all ESP32 nodes, aggregate, process, store, and forward to dashboards/cloud

Option A: Raspberry Pi as Local Gateway (Recommended)

Hardware: Raspberry Pi 4 (2GB+ RAM), ₹5,500-8,500

Software Stack:

  • OS: Raspberry Pi OS Lite (headless)
  • MQTT Broker: Mosquitto (receives data from ESP32s)
  • Database: InfluxDB (time-series storage)
  • Processing: Node-RED (data flows, automation logic)
  • Dashboard: Grafana (visualization)
  • API Server: Node.js or Python Flask (mobile app backend)

Architecture:

[ESP32 Nodes] → MQTT → [Mosquitto Broker on RPi]
                              ↓
                        [Node-RED Processing]
                              ↓
                    ┌─────────┴─────────┐
                    ↓                   ↓
              [InfluxDB]           [Mobile App]
             (Storage)              (via API)
                    ↓
               [Grafana]
              (Dashboard)

Sample Node-RED Flow:

// Node-RED flow (visual programming, but here's the logic)

// Step 1: Subscribe to MQTT topics
mqtt_in.subscribe("greenhouse/+/sensors");

// Step 2: Parse JSON
const data = JSON.parse(msg.payload);

// Step 3: Store in database
influxdb.write({
  measurement: "sensors",
  tags: { zone: msg.topic.split('/')[1] },
  fields: {
    pH: data.pH,
    EC: data.EC,
    temp: data.temp
  },
  timestamp: Date.now()
});

// Step 4: Real-time analysis
if (data.pH < 5.5) {
  // Critical pH detected!
  
  // Send push notification
  pushbullet.send({
    title: "⚠️ Critical pH Alert",
    body: `Zone ${zone}: pH = ${data.pH}`,
    type: "note"
  });
  
  // Send SMS via Twilio API
  twilio.sendSMS({
    to: "+91-98765-43210",
    body: `URGENT: pH = ${data.pH} in Zone ${zone}`
  });
  
  // Automated response (optional)
  mqtt.publish("greenhouse/zone1/commands", {
    action: "dose_pH_up",
    amount: 10.0  // 10ml
  });
}

// Step 5: Forward to mobile app (WebSocket)
websocket.broadcast({
  zone: zone,
  pH: data.pH,
  EC: data.EC,
  temp: data.temp,
  timestamp: Date.now()
});

Raspberry Pi as Gateway Advantages:Local processing: No cloud dependency for real-time decisions
Data ownership: All data stays on your network
Low latency: <10ms processing time
No monthly fees: One-time hardware cost
Expandable: Can run AI models, computer vision, etc.
Reliable: Runs 24/7 with minimal maintenance


Option B: Cloud Gateway (Firebase, AWS IoT, Blynk Cloud)

Hardware: None (ESP32 connects directly to internet)

Architecture:

[ESP32 Nodes] → WiFi → Internet → [Cloud Service]
                                         ↓
                                  [Mobile App]
                                  [Web Dashboard]

Popular Services:

ServiceMonthly CostLatencyBest For
Blynk Cloud₹0-2,000200-800msQuick setup, no coding
Firebase₹0-1,500300-1,000msGoogle integration, unlimited storage
AWS IoT Core₹500-3,000100-400msEnterprise scale, advanced features
ThingSpeak₹0 (free tier)1-3 secondsResearch, learning, hobbyists

Cloud Gateway Advantages:No hardware setup: Works immediately
Access from anywhere: Internet connection = full access
Automatic scaling: Handles 10 or 10,000 devices seamlessly
Professional infrastructure: 99.9% uptime, automatic backups

Cloud Gateway Disadvantages:Internet dependency: No WiFi = no monitoring
Higher latency: 200-1,000ms (vs. <50ms local)
Monthly costs: ₹500-3,000/month adds up
Data privacy: Your data on external servers


Layer 5: Application Layer (User Interface)

Function: Present data to users in intuitive, actionable format

Real-Time Mobile App Implementation (Blynk Example):

Setup Process:

Step 1: Create Blynk Template

  • Open Blynk.Console (blynk.cloud)
  • Create new template: “Hydroponic Real-Time Monitor”
  • Add datastreams:
    • V0: pH (float, 0-14)
    • V1: EC (float, 0-5.0)
    • V2: Temperature (float, 0-40)
    • V3: Water Level (integer, 0-100)
    • V4: Flow Rate (float, 0-10)

Step 2: Design Mobile Interface

WidgetDatastreamUpdate RatePurpose
GaugeV0 (pH)Real-timeVisual pH indication
GaugeV1 (EC)Real-timeNutrient concentration
ChartV0, V1, V2Real-timeHistorical trends (last 24 hours)
LevelV3 (Water)Real-timeReservoir status
LEDV4 (Flow)Real-timePump status (green = OK, red = stopped)
ButtonV10On-demandManual pump control
NotificationEvent-basedInstantCritical alerts

Step 3: ESP32 Code Integration

#include <BlynkSimpleEsp32.h>

char auth[] = "YourBlynkAuthToken";

BlynkTimer timer;

void sendSensorData() {
  float pH = readpH();
  float EC = readEC();
  float temp = readTemp();
  int waterLevel = readWaterLevel();
  float flowRate = readFlowRate();
  
  // Send to Blynk (real-time update)
  Blynk.virtualWrite(V0, pH);
  Blynk.virtualWrite(V1, EC);
  Blynk.virtualWrite(V2, temp);
  Blynk.virtualWrite(V3, waterLevel);
  Blynk.virtualWrite(V4, flowRate);
  
  // Critical alert logic
  if (pH < 5.5 || pH > 6.8) {
    Blynk.logEvent("ph_alert", String("pH = ") + pH);
  }
  
  if (waterLevel < 20) {
    Blynk.logEvent("low_water", String("Water = ") + waterLevel + "%");
  }
}

// Manual pump control from app
BLYNK_WRITE(V10) {
  int buttonState = param.asInt();
  if (buttonState == 1) {
    digitalWrite(PUMP_PIN, HIGH);
    Blynk.virtualWrite(V4, 1);  // Update flow LED to green
  } else {
    digitalWrite(PUMP_PIN, LOW);
    Blynk.virtualWrite(V4, 0);  // Update flow LED to red
  }
}

void setup() {
  Blynk.begin(auth, ssid, password);
  
  // Update sensors every 2 seconds
  timer.setInterval(2000L, sendSensorData);
}

void loop() {
  Blynk.run();
  timer.run();
}

User Experience Timeline:

Sensor Event → ESP32 → WiFi → Blynk Cloud → Mobile App

pH drops to 5.4
    ↓ (500ms sensor reading + processing)
ESP32 detects anomaly
    ↓ (30ms WiFi transmission)
Data reaches Blynk.Cloud
    ↓ (200ms cloud processing + push notification)
User's phone receives alert
    ↓ (100ms notification display)
User sees: "⚠️ pH Alert: 5.4"

TOTAL TIME: ~830ms (less than 1 second!)

Real-World Performance: Latency Breakdown

Realistic End-to-End Latency Analysis:

StageTypical LatencyOptimized LatencyBottleneck Factors
Sensor reading (ADC)100-200ms10-50msSample rate, averaging
ESP32 processing10-30ms1-5msCode efficiency
WiFi transmission20-50ms10-20msSignal strength, congestion
Gateway processing50-100ms5-20msRPi vs. cloud, logic complexity
Database write10-50ms5-10msLocal vs. cloud, batch writes
Dashboard update100-500ms50-200msWebSocket vs. polling
TOTAL (Local Gateway)290-930ms81-305ms
TOTAL (Cloud Gateway)500-1,500ms200-600msInternet latency

Real-World Test Results (1,200 m² Greenhouse, 6 ESP32 Nodes):

Configuration: ESP32 → WiFi → Raspberry Pi (Mosquitto + InfluxDB + Grafana)

Measurements:

  • Average sensor-to-dashboard latency: 210ms
  • 95th percentile latency: 380ms
  • 99th percentile latency: 720ms
  • Packet loss rate: 0.03% (3 packets per 10,000)

Critical Alert Performance:

  • pH deviation detected: < 100ms (local processing on ESP32)
  • Push notification received: 1.2-2.5 seconds (end-to-end)
  • SMS alert received: 3-8 seconds (via Twilio API)

Comparison to Previous System (Arduino + hourly SD card check):

  • Old system response time: 30-60 minutes (until next manual check)
  • New system response time: 1.2 seconds (automated alert)
  • Improvement: 1,500x faster (yes, fifteen hundred times)

Implementation Blueprint: Building Your Real-Time System

Phase 1: Hardware Setup (Week 1)

Shopping List (Single Zone Starter Kit):

ComponentSpecificationQuantityCost (INR)
ESP32 DevKitWROOM-32, 4MB Flash1₹450
pH Sensor KitElectrode + BNC module1₹2,200
EC/TDS SensorConductivity probe1₹1,800
DS18B20 TempWaterproof, 1-Wire1₹180
Ultrasonic SensorHC-SR04 (water level)1₹150
Relay Module4-channel, optocoupled1₹280
Power Supply5V/3A switching1₹300
WiFi Router2.4 GHz, 300 Mbps1₹800
Raspberry Pi 44GB RAM (optional gateway)1₹8,500
MicroSD Card32GB Class 101₹450
EnclosureIP65 waterproof box1₹400
Jumper WiresDupont assortment1 pack₹150
TOTAL₹15,660

Without Raspberry Pi (Cloud gateway only): ₹7,160


Phase 2: Network Configuration (Week 1-2)

Step 1: WiFi Router Setup

# Optimal settings for real-time IoT

SSID: "Greenhouse_IoT"
Password: Strong_password_123
Channel: 6 (fixed, not auto)
Bandwidth: 20 MHz (not 20/40 auto)
Security: WPA2-PSK
Guest Network: Disabled (reduces congestion)
QoS: Enabled (WMM support)
DHCP: Enabled (ESP32s need IP addresses)

# Reserve IP addresses for ESP32s (optional but recommended)
ESP32_Zone1: 192.168.1.101
ESP32_Zone2: 192.168.1.102
ESP32_Zone3: 192.168.1.103

Step 2: Network Testing

// WiFi diagnostic code for ESP32
void testWiFiQuality() {
  Serial.println("=== WiFi Diagnostics ===");
  
  // Signal strength
  int rssi = WiFi.RSSI();
  Serial.print("RSSI: ");
  Serial.print(rssi);
  Serial.println(" dBm");
  
  if (rssi > -50) Serial.println("Signal: Excellent");
  else if (rssi > -60) Serial.println("Signal: Good");
  else if (rssi > -70) Serial.println("Signal: Fair");
  else Serial.println("Signal: Poor - add repeater");
  
  // IP address
  Serial.print("IP: ");
  Serial.println(WiFi.localIP());
  
  // Gateway (router)
  Serial.print("Gateway: ");
  Serial.println(WiFi.gatewayIP());
  
  // Latency test (ping gateway)
  unsigned long start = millis();
  WiFi.ping(WiFi.gatewayIP());
  unsigned long latency = millis() - start;
  Serial.print("Ping: ");
  Serial.print(latency);
  Serial.println(" ms");
  
  if (latency < 10) Serial.println("Latency: Excellent");
  else if (latency < 30) Serial.println("Latency: Good");
  else if (latency < 100) Serial.println("Latency: Acceptable");
  else Serial.println("Latency: Too high - check network");
}

Expected Output:

=== WiFi Diagnostics ===
RSSI: -48 dBm
Signal: Excellent
IP: 192.168.1.101
Gateway: 192.168.1.1
Ping: 12 ms
Latency: Excellent

Phase 3: ESP32 Programming (Week 2-3)

Complete Real-Time Monitoring Code:

#include <WiFi.h>
#include <PubSubClient.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <ArduinoJson.h>

// ===== CONFIGURATION =====
const char* ssid = "Greenhouse_IoT";
const char* password = "Strong_password_123";
const char* mqtt_server = "192.168.1.100";  // Raspberry Pi IP
const int mqtt_port = 1883;

// ===== PIN DEFINITIONS =====
#define PH_PIN 34
#define EC_PIN 35
#define TEMP_PIN 4
#define WATER_LEVEL_TRIG 5
#define WATER_LEVEL_ECHO 18
#define PUMP_RELAY 26

// ===== SENSOR OBJECTS =====
OneWire oneWire(TEMP_PIN);
DallasTemperature tempSensor(&oneWire);

WiFiClient espClient;
PubSubClient mqtt(espClient);

// ===== CALIBRATION CONSTANTS =====
const float PH_NEUTRAL_VOLTAGE = 2.5;
const float PH_SLOPE = 0.18;
const float EC_CALIBRATION_FACTOR = 0.8;

// ===== GLOBAL VARIABLES =====
unsigned long lastSensorRead = 0;
const long sensorInterval = 2000;  // 2 seconds

// ===== SENSOR FUNCTIONS =====

float readpH() {
  // Take 10 samples for stability
  long sum = 0;
  for (int i = 0; i < 10; i++) {
    sum += analogRead(PH_PIN);
    delay(10);
  }
  float average = sum / 10.0;
  
  float voltage = average * (3.3 / 4095.0);
  float pH = 7.0 + ((PH_NEUTRAL_VOLTAGE - voltage) / PH_SLOPE);
  
  return pH;
}

float readEC() {
  long sum = 0;
  for (int i = 0; i < 10; i++) {
    sum += analogRead(EC_PIN);
    delay(10);
  }
  float average = sum / 10.0;
  
  float voltage = average * (3.3 / 4095.0);
  float EC = voltage * EC_CALIBRATION_FACTOR;
  
  // Temperature compensation (simplified)
  float temp = readTemp();
  EC = EC / (1.0 + 0.02 * (temp - 25.0));
  
  return EC;
}

float readTemp() {
  tempSensor.requestTemperatures();
  return tempSensor.getTempCByIndex(0);
}

int readWaterLevel() {
  // Ultrasonic sensor
  digitalWrite(WATER_LEVEL_TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(WATER_LEVEL_TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(WATER_LEVEL_TRIG, LOW);
  
  long duration = pulseIn(WATER_LEVEL_ECHO, HIGH);
  int distance = duration * 0.034 / 2;  // cm
  
  // Convert to percentage (assuming 100cm max depth)
  int level = map(distance, 0, 100, 100, 0);
  return constrain(level, 0, 100);
}

// ===== MQTT FUNCTIONS =====

void reconnectMQTT() {
  while (!mqtt.connected()) {
    Serial.print("Connecting to MQTT...");
    
    if (mqtt.connect("ESP32_Zone1")) {
      Serial.println("Connected");
      mqtt.subscribe("greenhouse/zone1/commands");
    } else {
      Serial.print("Failed, rc=");
      Serial.print(mqtt.state());
      Serial.println(" Retrying in 5 seconds");
      delay(5000);
    }
  }
}

void publishSensorData() {
  // Read sensors
  float pH = readpH();
  float EC = readEC();
  float temp = readTemp();
  int waterLevel = readWaterLevel();
  bool pumpStatus = digitalRead(PUMP_RELAY);
  
  // Create JSON document
  StaticJsonDocument<512> doc;
  doc["node_id"] = "Zone1";
  doc["timestamp"] = millis();
  
  JsonObject sensors = doc.createNestedObject("sensors");
  sensors["pH"] = round(pH * 100) / 100.0;  // 2 decimal places
  sensors["EC"] = round(EC * 100) / 100.0;
  sensors["temperature"] = round(temp * 10) / 10.0;
  sensors["water_level"] = waterLevel;
  sensors["pump_status"] = pumpStatus;
  
  // Serialize and publish
  char buffer[512];
  serializeJson(doc, buffer);
  
  mqtt.publish("greenhouse/zone1/sensors", buffer);
  
  Serial.println("Published: " + String(buffer));
  
  // Local anomaly detection
  if (pH < 5.5 || pH > 6.8) {
    mqtt.publish("greenhouse/zone1/alerts", "CRITICAL_PH");
    Serial.println("⚠️ pH Alert!");
  }
  
  if (waterLevel < 20) {
    mqtt.publish("greenhouse/zone1/alerts", "LOW_WATER");
    Serial.println("⚠️ Low Water Alert!");
  }
}

// ===== COMMAND HANDLER =====

void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("]: ");
  
  String message = "";
  for (int i = 0; i < length; i++) {
    message += (char)payload[i];
  }
  Serial.println(message);
  
  // Parse JSON command
  StaticJsonDocument<256> doc;
  DeserializationError error = deserializeJson(doc, message);
  
  if (error) {
    Serial.println("Failed to parse command");
    return;
  }
  
  const char* action = doc["action"];
  
  if (strcmp(action, "pump_on") == 0) {
    digitalWrite(PUMP_RELAY, HIGH);
    Serial.println("Pump turned ON");
  } else if (strcmp(action, "pump_off") == 0) {
    digitalWrite(PUMP_RELAY, LOW);
    Serial.println("Pump turned OFF");
  }
}

// ===== SETUP =====

void setup() {
  Serial.begin(115200);
  
  // Pin modes
  pinMode(PUMP_RELAY, OUTPUT);
  pinMode(WATER_LEVEL_TRIG, OUTPUT);
  pinMode(WATER_LEVEL_ECHO, INPUT);
  
  // Initialize sensors
  tempSensor.begin();
  
  // Connect WiFi
  Serial.print("Connecting to WiFi");
  WiFi.begin(ssid, password);
  WiFi.setSleep(false);  // Disable power saving for low latency
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  Serial.println("\nWiFi connected");
  Serial.print("IP: ");
  Serial.println(WiFi.localIP());
  
  // Connect MQTT
  mqtt.setServer(mqtt_server, mqtt_port);
  mqtt.setCallback(callback);
  
  Serial.println("Setup complete - Starting monitoring");
}

// ===== MAIN LOOP =====

void loop() {
  // Maintain MQTT connection
  if (!mqtt.connected()) {
    reconnectMQTT();
  }
  mqtt.loop();
  
  // Read and publish sensors
  unsigned long currentMillis = millis();
  if (currentMillis - lastSensorRead >= sensorInterval) {
    lastSensorRead = currentMillis;
    publishSensorData();
  }
}

Upload and Test:

  1. Connect ESP32 via USB
  2. Select board: “ESP32 Dev Module”
  3. Upload code
  4. Open Serial Monitor (115200 baud)
  5. Verify WiFi connection and MQTT publishing

Phase 4: Gateway Setup (Week 3-4)

Raspberry Pi Configuration (if using local gateway):

Step 1: Install Mosquitto MQTT Broker

sudo apt update
sudo apt install mosquitto mosquitto-clients
sudo systemctl enable mosquitto
sudo systemctl start mosquitto

# Test
mosquitto_sub -h localhost -t "greenhouse/#" -v

Step 2: Install InfluxDB (Time-Series Database)

# Add repository
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

# Install
sudo apt update
sudo apt install influxdb
sudo systemctl enable influxdb
sudo systemctl start influxdb

# Create database
influx
> CREATE DATABASE greenhouse
> exit

Step 3: Install Node-RED (Data Processing)

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

sudo systemctl enable nodered
sudo systemctl start nodered

# Access at: http://raspberry-pi-ip:1880

Step 4: Install Grafana (Dashboard)

sudo apt install -y grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server

# Access at: http://raspberry-pi-ip:3000
# Default login: admin / admin

Node-RED Flow (MQTT → InfluxDB):

// Import this flow into Node-RED

[
  {
    "id": "mqtt_in",
    "type": "mqtt in",
    "topic": "greenhouse/+/sensors",
    "broker": "localhost",
    "name": "Sensor Data"
  },
  {
    "id": "json_parse",
    "type": "json",
    "name": "Parse JSON"
  },
  {
    "id": "influx_write",
    "type": "influxdb out",
    "database": "greenhouse",
    "measurement": "sensors",
    "name": "Write to InfluxDB"
  },
  {
    "id": "alert_check",
    "type": "function",
    "name": "Check Alerts",
    "func": `
      const data = msg.payload.sensors;
      
      if (data.pH < 5.5 || data.pH > 6.8) {
        node.send({
          payload: {
            title: "⚠️ pH Alert",
            body: "pH = " + data.pH + " (out of range)"
          }
        });
      }
      
      if (data.water_level < 20) {
        node.send({
          payload: {
            title: "⚠️ Low Water",
            body: "Water level = " + data.water_level + "%"
          }
        });
      }
    `
  },
  {
    "id": "pushbullet_notify",
    "type": "pushbullet",
    "name": "Send Alert"
  }
]

Mobile App Integration Examples

Example 1: Blynk Mobile App (Fastest Setup)

Time to Deploy: 2-3 hours

Features:

  • Real-time gauges (pH, EC, temperature)
  • Historical charts (last 24 hours)
  • Manual pump control button
  • Instant push notifications
  • No coding required (visual builder)

Monthly Cost: ₹0 (Free tier) to ₹600 (Plus)


Example 2: Custom React Native App (Maximum Flexibility)

Time to Deploy: 80-120 hours (professional developer)

Features:

  • Fully customized UI/UX
  • Advanced analytics
  • Multi-user management
  • White-label branding
  • Offline mode support

Development Cost: ₹40,000-80,000 (one-time)


Example 3: Grafana Mobile (Open Source)

Time to Deploy: 4-6 hours

Features:

  • Professional dashboards
  • Complex queries
  • Custom alerts
  • Free forever
  • Self-hosted

Cost: ₹0 (requires Raspberry Pi gateway)


Performance Optimization Techniques

Technique 1: Adaptive Sample Rate

Problem: Continuous 1 Hz sampling drains ESP32 power and creates unnecessary network traffic during stable periods.

Solution: Vary sample rate based on stability

// Adaptive sampling
unsigned long normalInterval = 10000;   // 10 seconds during stable
unsigned long alertInterval = 1000;     // 1 second during anomaly

float lastpH = 6.0;
bool inAlertMode = false;

void loop() {
  float currentpH = readpH();
  
  // Detect rapid change
  if (abs(currentpH - lastpH) > 0.3) {
    inAlertMode = true;
    Serial.println("Alert mode: Rapid pH change detected");
  } else if (inAlertMode && abs(currentpH - lastpH) < 0.1) {
    // Stable again
    inAlertMode = false;
    Serial.println("Normal mode: pH stabilized");
  }
  
  unsigned long interval = inAlertMode ? alertInterval : normalInterval;
  delay(interval);
  
  lastpH = currentpH;
}

Benefit: 90% reduction in network traffic during normal operation, instant response during anomalies.


Technique 2: Data Compression

Problem: JSON is human-readable but inefficient (large packet sizes)

Solution: Binary encoding for bandwidth-constrained networks

// Instead of JSON (200 bytes):
// {"pH":6.24,"EC":1.82,"temp":24.5,"water":78,"pump":1}

// Use binary (12 bytes):
struct SensorData {
  uint16_t pH;      // 6.24 → 624 (multiply by 100)
  uint16_t EC;      // 1.82 → 182
  int16_t temp;     // 24.5 → 245
  uint8_t water;    // 78
  uint8_t pump;     // 1
  uint32_t timestamp;
} __attribute__((packed));

SensorData data;
data.pH = (uint16_t)(readpH() * 100);
data.EC = (uint16_t)(readEC() * 100);
// ... fill other fields

mqtt.publish("greenhouse/zone1/binary", (uint8_t*)&data, sizeof(data));

Benefit: 94% size reduction (200 → 12 bytes), faster transmission, less bandwidth


Technique 3: QoS Levels (MQTT)

Quality of Service determines message delivery guarantees:

  • QoS 0 (Fire and forget): No confirmation, fastest, unreliable
  • QoS 1 (At least once): Confirmed delivery, possible duplicates
  • QoS 2 (Exactly once): Guaranteed single delivery, slowest

Strategy:

// Routine sensor data: QoS 0 (speed over reliability)
mqtt.publish("greenhouse/sensors", data, false);  // QoS 0

// Critical alerts: QoS 1 (ensure delivery)
mqtt.publish("greenhouse/alerts", "CRITICAL_PH", true);  // QoS 1

Conclusion: The Real-Time Revolution

WiFi-based real-time data processing represents a fundamental shift in how we interact with hydroponic systems:

From Reactive to Proactive:

  • Old: Check sensors every hour, discover problems after they occur
  • New: Monitor continuously, prevent problems before they impact crops

From Local to Remote:

  • Old: Must be physically present to know system status
  • New: Full visibility from anywhere with internet connection

From Expensive to Accessible:

  • Old: ₹5-15 lakhs for professional monitoring systems
  • New: ₹7,000-15,000 for comparable real-time capabilities

The Mathematics of Real-Time:

A commercial lettuce grower with ₹12 lakh standing crop value:

  • Without real-time: Average problem detection time = 30 minutes, potential loss if critical = ₹4-8 lakhs
  • With real-time: Average detection time = 2 seconds, potential loss if critical = ₹0 (prevented)

Investment: ₹15,000
Risk reduction: ₹4-8 lakhs
ROI: 2,667-5,333%

The question isn’t whether you can afford real-time monitoring.
The question is whether you can afford to operate without it.


Your crops grow 24/7. Shouldn’t your monitoring system work 24/7 too?

WiFi-based real-time data processing: Because in hydroponics, seconds matter.

Next in this wing

Leave a Reply

Crop Intelligence

Every crop, one table

Sowing window, duration, spacing, soil pH, water need, temperature, seed rate, yield and key pests — across 538 crops and plants, from cereals to medicinals. Indicative planning ranges for Indian conditions; varieties and regions vary.

538 crops shown
Agronomic reference for common Indian crops
Group Season Sowing Spacing Soil pH Temp °C Seed / ha Yield / ha Watch for
Rice Cereal Kharif Jun–Jul 120–150 20 × 15 cm 5.5–6.5 1200–1800 22–32 40–50 kg 4–6 t Stem borer, blast, BPH
Wheat Cereal Rabi Nov–Dec 120–150 22 cm rows 6.0–7.5 400–650 15–25 100–125 kg 4–5 t Yellow rust, aphid, termite
Maize Cereal Kharif · Rabi Jun–Jul, Oct–Nov 90–110 60 × 20 cm 5.5–7.5 500–800 21–30 18–20 kg 5–8 t Fall armyworm, stem borer
Barley Cereal Rabi Nov–Dec 110–130 22 cm rows 6.5–8.0 300–450 12–25 75–100 kg 3–4 t Aphid, yellow rust
Oats Cereal Rabi Oct–Nov 100–120 22 cm rows 5.5–7.0 350–500 15–25 80–100 kg 2.5–3.5 t Rust, aphid
Buckwheat Cereal Rabi Sep–Oct 75–90 30 × 10 cm 5.0–7.0 300–450 15–25 40–50 kg 1–1.5 t Aphid, leaf spot
Grain Amaranth Cereal Kharif · Rabi Jun–Jul, Oct 90–110 45 × 20 cm 5.5–7.5 300–450 20–30 2–3 kg 1–1.5 t Stem weevil, leaf webber
Sorghum (Jowar) Millet Kharif · Rabi Jun–Jul, Sep–Oct 100–120 45 × 15 cm 6.0–7.5 400–600 26–32 10–12 kg 2.5–4 t Shoot fly, midge, downy mildew
Pearl Millet (Bajra) Millet Kharif Jun–Jul 75–90 45 × 15 cm 6.5–7.8 350–500 25–35 4–5 kg 2–3 t Downy mildew, ergot
Finger Millet (Ragi) Millet Kharif Jun–Jul 100–120 30 × 10 cm 5.0–7.5 400–600 20–30 10–12 kg 2–3 t Blast, stem borer
Foxtail Millet Millet Kharif Jun–Jul 70–90 25 × 10 cm 5.5–7.0 250–400 20–30 8–10 kg 1.5–2 t Blast, shoot fly
Kodo Millet Millet Kharif Jun–Jul 100–120 25 × 10 cm 5.5–7.5 300–450 25–32 10–12 kg 1–1.5 t Head smut, shoot fly
Little Millet Millet Kharif Jun–Jul 70–90 25 × 10 cm 5.5–7.5 250–400 22–32 8–10 kg 0.8–1.2 t Shoot fly, grain smut
Barnyard Millet Millet Kharif Jun–Jul 75–90 25 × 10 cm 5.5–7.0 250–400 22–30 10–12 kg 1–1.5 t Grain smut, shoot fly
Proso Millet Millet Kharif · Zaid Jun–Jul, Feb 60–75 25 × 10 cm 5.5–7.5 200–350 20–30 10–12 kg 1–1.5 t Shoot fly, head smut
Chickpea (Gram) Pulse Rabi Oct–Nov 95–120 30 × 10 cm 6.0–8.0 250–400 15–25 75–100 kg 1.5–2.5 t Pod borer, wilt
Pigeon Pea (Tur) Pulse Kharif Jun–Jul 150–180 60 × 20 cm 6.0–7.5 400–600 20–30 12–15 kg 1.5–2 t Pod borer, wilt, sterility mosaic
Green Gram (Moong) Pulse Kharif · Zaid Jun–Jul, Mar–Apr 60–75 30 × 10 cm 6.2–7.2 250–350 25–35 15–20 kg 0.8–1.2 t Yellow mosaic, thrips
Black Gram (Urad) Pulse Kharif Jun–Jul 70–90 30 × 10 cm 6.0–7.5 250–400 25–35 15–20 kg 0.8–1.2 t Yellow mosaic, powdery mildew
Lentil (Masur) Pulse Rabi Oct–Nov 100–120 25 × 5 cm 6.0–7.5 200–350 15–25 30–40 kg 1–1.5 t Rust, wilt, aphid
Cowpea Pulse Kharif · Zaid Jun–Jul, Feb–Mar 70–90 45 × 15 cm 5.5–7.5 250–400 25–35 20–25 kg 1–1.5 t Aphid, pod borer
Field Pea Pulse Rabi Oct–Nov 100–130 30 × 10 cm 6.0–7.5 250–400 13–23 75–100 kg 1.5–2.5 t Powdery mildew, pod borer
Horse Gram Pulse Kharif · Rabi Aug–Sep 110–130 30 × 10 cm 5.0–7.5 200–300 20–30 25–30 kg 0.6–1 t Leaf spot, pod borer
Moth Bean Pulse Kharif Jul 70–90 30 × 10 cm 6.0–8.0 150–300 25–35 10–12 kg 0.5–0.8 t Yellow mosaic, jassid
Rajma (Kidney Bean) Pulse Rabi Oct–Nov 110–130 40 × 15 cm 5.5–6.5 300–450 15–25 80–100 kg 1.5–2 t Anthracnose, bean fly
Faba Bean Pulse Rabi Oct–Nov 120–150 45 × 15 cm 6.0–7.5 350–500 12–22 100–120 kg 2–3 t Chocolate spot, aphid
Lablab (Sem) Pulse Kharif Jun–Jul 110–140 60 × 30 cm 5.5–7.5 300–450 20–30 15–20 kg 1–1.5 t Pod borer, aphid
Cluster Bean (Guar) Pulse Kharif Jun–Jul 90–110 45 × 20 cm 7.0–8.5 250–400 25–35 15–20 kg 1–1.5 t Bacterial blight, jassid
Groundnut Oilseed Kharif Jun–Jul 100–130 30 × 10 cm 6.0–7.0 500–700 25–30 100–120 kg 2–2.5 t Leaf miner, tikka leaf spot
Mustard Oilseed Rabi Oct–Nov 110–140 30 × 10 cm 6.0–7.5 250–400 10–25 4–5 kg 1.5–2 t Aphid, white rust, alternaria
Rapeseed (Toria) Oilseed Rabi Sep–Oct 85–100 30 × 10 cm 6.0–7.5 200–350 10–25 4–5 kg 1–1.5 t Aphid, alternaria blight
Soybean Oilseed Kharif Jun–Jul 90–110 45 × 5 cm 6.0–7.5 450–700 20–30 65–75 kg 2–2.5 t Girdle beetle, yellow mosaic
Sunflower Oilseed Rabi · Zaid Oct–Nov, Jan–Feb 90–110 60 × 30 cm 6.5–8.0 400–600 20–28 8–10 kg 1.5–2 t Head borer, necrosis, downy mildew
Sesame (Til) Oilseed Kharif · Zaid Jun–Jul, Feb–Mar 80–95 30 × 15 cm 5.5–8.0 300–450 25–32 4–5 kg 0.6–1 t Phyllody, leaf webber
Castor Oilseed Kharif Jun–Aug 150–180 90 × 60 cm 5.5–7.5 500–700 20–30 5–8 kg 1.5–2.5 t Semilooper, capsule borer, wilt
Safflower Oilseed Rabi Oct–Nov 120–140 45 × 20 cm 6.0–8.0 250–400 15–25 10–15 kg 1–1.5 t Aphid, wilt, alternaria
Linseed Oilseed Rabi Oct–Nov 110–130 25 × 5 cm 6.0–7.5 250–400 15–25 25–30 kg 1–1.5 t Bud fly, rust, wilt
Niger Oilseed Kharif Jul–Aug 90–110 30 × 10 cm 5.5–7.0 300–450 18–28 5–6 kg 0.4–0.6 t Leaf spot, capsule fly
Cotton Fibre Kharif May–Jun 160–200 90 × 60 cm 6.0–8.0 700–1200 21–30 1.5–2.5 kg (Bt) 2–3 t seed cotton Pink bollworm, whitefly, jassid
Jute Fibre Kharif Mar–May 110–140 25 × 7 cm 6.0–7.5 500–750 24–35 5–8 kg 2.5–3 t fibre Stem rot, semilooper
Mesta (Kenaf) Fibre Kharif Apr–Jun 120–150 30 × 10 cm 6.0–7.5 450–700 22–32 12–15 kg 2–2.5 t fibre Stem rot, spiral borer
Sunn Hemp Fibre Kharif Jun–Jul 100–120 30 × 10 cm 5.5–7.5 350–500 22–32 25–30 kg 1.5–2 t fibre Hairy caterpillar, wilt
Sugarcane Plantation Perennial Oct–Nov, Feb–Mar 300–365 90–120 cm rows 6.5–7.5 1500–2500 20–35 35–40 k setts 80–100 t Early shoot borer, red rot, woolly aphid
Tea Plantation Perennial Jun–Aug (planting) 3–4 yr to pluck 1.2 × 0.75 m 4.5–5.5 2000–2500 18–30 13 k plants 2–3 t made tea Red spider mite, blister blight
Coffee Plantation Perennial Jun–Jul (planting) 3–4 yr to bear 2.5 × 2.5 m 6.0–6.5 1500–2000 15–28 1,600 plants 1–1.5 t clean White stem borer, leaf rust
Rubber Plantation Perennial Jun–Jul (planting) 6–7 yr to tap 4.9 × 4.9 m 4.5–6.0 2000–3000 25–34 420 plants 1.5–2 t dry rubber Abnormal leaf fall, pink disease
Coconut Plantation Perennial Jun–Jul (planting) 5–6 yr to bear 7.5 × 7.5 m 5.5–7.5 1300–2300 20–32 175 palms 80–120 nuts/palm Rhinoceros beetle, red palm weevil, root wilt
Arecanut Plantation Perennial Jun–Jul (planting) 5–7 yr to bear 2.7 × 2.7 m 5.5–7.0 1500–2500 20–32 1,350 palms 2–3 t dry kernel Koleroga, yellow leaf disease
Cashew Plantation Perennial Jun–Jul (planting) 3–4 yr to bear 7.5 × 7.5 m 5.5–7.0 800–1200 20–35 175 plants 1–1.5 t nuts Tea mosquito bug, stem borer
Cocoa Plantation Perennial Jun–Jul (planting) 3–4 yr to bear 2.7 × 2.7 m 5.5–7.0 1500–2000 20–30 1,100 plants 1–1.5 t dry bean Black pod, tea mosquito bug
Oil Palm Plantation Perennial Jun–Sep (planting) 3–4 yr to bear 9 m triangular 5.0–7.0 2000–2500 24–32 143 palms 20–25 t FFB Rhinoceros beetle, bud rot
Tobacco Plantation Rabi Sep–Oct 110–130 90 × 60 cm 5.5–6.5 400–600 20–30 250–300 g 1.5–2.5 t cured Aphid, budworm, black shank
Tomato Vegetable Year-round Jun–Jul, Oct–Nov, Jan–Feb 110–140 60 × 45 cm 6.0–7.0 400–600 20–27 250–400 g 25–40 t Fruit borer, leaf curl virus, early blight
Onion Vegetable Rabi · Kharif Oct–Nov, Jun–Jul 120–150 15 × 10 cm 6.0–7.5 350–550 13–25 8–10 kg 25–35 t Thrips, purple blotch, basal rot
Potato Vegetable Rabi Oct–Nov 90–120 60 × 20 cm 5.5–6.5 450–650 15–22 2.5–3 t tubers 25–35 t Late blight, aphid, tuber moth
Brinjal Vegetable Year-round Jun–Jul, Oct–Nov, Feb–Mar 120–150 60 × 60 cm 5.5–6.8 400–600 22–30 400–500 g 25–35 t Shoot & fruit borer, wilt
Okra (Bhindi) Vegetable Kharif · Zaid Jun–Jul, Feb–Mar 55–70 45 × 30 cm 6.0–6.8 350–500 24–32 8–10 kg 10–15 t Yellow vein mosaic, shoot borer, jassid
Chilli Vegetable Kharif · Rabi Jun–Jul, Oct–Nov 150–180 60 × 45 cm 6.0–7.0 500–700 20–30 1–1.5 kg 2–3 t dry Thrips, leaf curl, anthracnose
Capsicum Vegetable Rabi Sep–Oct 110–130 45 × 30 cm 6.0–6.8 400–600 18–27 750 g–1 kg 20–30 t Thrips, mites, anthracnose
Cabbage Vegetable Rabi Sep–Oct 90–120 45 × 45 cm 6.0–6.5 350–500 15–21 400–500 g 25–35 t Diamondback moth, black rot
Cauliflower Vegetable Rabi Sep–Oct 90–120 45 × 45 cm 6.0–7.0 350–500 15–20 400–500 g 20–30 t Diamondback moth, downy mildew
Broccoli Vegetable Rabi Sep–Oct 90–110 45 × 45 cm 6.0–7.0 350–500 15–20 400–500 g 12–18 t Aphid, diamondback moth
Knol-khol Vegetable Rabi Sep–Oct 60–80 30 × 20 cm 6.0–7.0 300–450 15–22 1–1.5 kg 20–25 t Aphid, black rot
Cucumber Vegetable Zaid · Kharif Feb–Mar, Jun–Jul 50–70 150 × 60 cm 6.0–7.0 350–500 20–30 2–3 kg 15–20 t Downy mildew, fruit fly, red pumpkin beetle
Bottle Gourd Vegetable Zaid · Kharif Feb–Mar, Jun–Jul 60–80 250 × 60 cm 6.0–7.0 400–550 22–32 3–5 kg 20–25 t Fruit fly, downy mildew
Bitter Gourd Vegetable Zaid · Kharif Feb–Mar, Jun–Jul 55–75 150 × 60 cm 6.0–6.7 350–500 24–32 4–5 kg 12–18 t Fruit fly, mosaic virus
Ridge Gourd Vegetable Zaid · Kharif Feb–Mar, Jun–Jul 55–75 200 × 60 cm 6.0–7.0 350–500 24–32 3–4 kg 12–16 t Fruit fly, powdery mildew
Sponge Gourd Vegetable Zaid · Kharif Feb–Mar, Jun–Jul 55–75 200 × 60 cm 6.0–7.0 350–500 24–32 3–4 kg 12–16 t Fruit fly, downy mildew
Ash Gourd Vegetable Kharif Jun–Jul 90–120 250 × 90 cm 6.0–7.0 400–600 24–32 4–6 kg 25–35 t Fruit fly, mosaic
Pumpkin Vegetable Zaid · Kharif Feb–Mar, Jun–Jul 90–120 250 × 60 cm 6.0–7.0 400–600 20–30 4–6 kg 20–30 t Red pumpkin beetle, powdery mildew
Watermelon Vegetable Zaid Jan–Mar 80–100 200 × 60 cm 6.0–7.0 400–600 24–32 2.5–3.5 kg 25–35 t Fruit fly, anthracnose, wilt
Muskmelon Vegetable Zaid Jan–Mar 75–95 150 × 60 cm 6.0–7.0 350–550 24–32 2–2.5 kg 15–25 t Fruit fly, downy mildew
French Bean Vegetable Rabi · Zaid Oct–Nov, Feb 60–80 45 × 15 cm 5.5–6.5 300–450 16–24 60–80 kg 8–12 t Anthracnose, bean fly
Garden Pea Vegetable Rabi Oct–Nov 90–110 30 × 10 cm 6.0–7.5 300–450 13–22 80–100 kg 8–12 t Powdery mildew, pod borer
Radish Vegetable Rabi · Year-round Sep–Jan 40–60 30 × 10 cm 6.0–7.0 250–400 15–25 10–12 kg 20–30 t Aphid, white rust
Carrot Vegetable Rabi Aug–Nov 90–110 30 × 8 cm 6.0–7.0 350–500 15–22 5–6 kg 20–30 t Leaf blight, aphid, nematode
Beetroot Vegetable Rabi Sep–Nov 80–100 30 × 10 cm 6.0–7.5 300–450 15–24 7–8 kg 20–30 t Leaf spot, aphid
Turnip Vegetable Rabi Sep–Nov 55–75 30 × 10 cm 6.0–7.0 250–400 13–22 4–5 kg 20–25 t Aphid, white rust
Spinach (Palak) Vegetable Rabi · Year-round Sep–Feb 35–50 25 × 5 cm 6.0–7.5 200–350 15–25 25–30 kg 12–18 t Leaf spot, aphid
Fenugreek (Methi) Vegetable Rabi Oct–Nov 40–60 25 × 5 cm 6.0–7.5 200–350 15–25 25–30 kg 8–12 t Powdery mildew, aphid
Amaranth (Leafy) Vegetable Year-round Feb–Sep 30–45 20 × 10 cm 6.0–7.5 200–350 22–32 2–3 kg 10–15 t Leaf webber, stem weevil
Lettuce Vegetable Rabi Sep–Nov 60–80 30 × 30 cm 6.0–7.0 250–400 13–20 400–500 g 15–20 t Aphid, downy mildew
Celery Vegetable Rabi Sep–Oct 110–130 40 × 25 cm 6.0–7.0 400–600 15–22 2–3 kg 20–25 t Leaf spot, aphid
Sweet Potato Vegetable Kharif · Rabi Jun–Jul, Oct–Nov 100–130 60 × 20 cm 5.5–6.8 400–600 21–30 35–40 k vines 20–25 t Weevil, leaf curl
Colocasia (Arbi) Vegetable Kharif Jun–Jul 150–180 60 × 45 cm 5.5–7.0 800–1200 21–32 2–2.5 t corms 15–20 t Leaf blight, aphid
Elephant Foot Yam Vegetable Kharif Apr–May 210–240 90 × 90 cm 5.5–7.0 800–1200 25–35 10–12 t corms 30–40 t Collar rot, mosaic
Drumstick (Moringa) Vegetable Perennial Jun–Jul 180–240 2.5 × 2.5 m 6.0–7.5 500–800 25–35 600 g 25–30 t pods Hairy caterpillar, fruit fly
Banana Fruit Perennial Jun–Jul, Feb–Mar 300–365 1.8 × 1.8 m 6.0–7.5 1200–2000 20–35 3,000 suckers 50–70 t Sigatoka, panama wilt, weevil
Mango Fruit Perennial Jul–Aug (planting) 4–5 yr to bear 10 × 10 m 5.5–7.5 700–1000 24–30 100 grafts 8–12 t Hopper, powdery mildew, fruit fly
Papaya Fruit Year-round Feb–Mar, Jun–Jul 270–300 1.8 × 1.8 m 6.0–7.0 1000–1500 22–32 250–300 g 40–60 t Ring spot virus, mealybug
Guava Fruit Perennial Jul–Aug (planting) 2–3 yr to bear 6 × 6 m 6.0–7.5 800–1000 23–30 270 plants 20–25 t Fruit fly, wilt, anthracnose
Sweet Orange Fruit Perennial Jul–Aug (planting) 4–5 yr to bear 6 × 6 m 6.0–7.5 900–1200 20–32 270 plants 20–25 t Citrus canker, leaf miner, psylla
Mandarin (Kinnow) Fruit Perennial Jul–Aug (planting) 4–5 yr to bear 6 × 6 m 6.0–7.5 900–1200 18–30 270 plants 20–30 t Citrus canker, greening, leaf miner
Lemon Fruit Perennial Jul–Aug (planting) 3–4 yr to bear 5 × 5 m 6.0–7.5 800–1100 20–32 400 plants 15–20 t Canker, leaf miner, gummosis
Grapes Fruit Perennial Jan–Feb (planting) 2–3 yr to bear 3 × 2 m 6.5–7.5 600–900 15–35 1,650 vines 20–30 t Downy mildew, powdery mildew, thrips
Pomegranate Fruit Perennial Jul–Aug (planting) 2–3 yr to bear 5 × 5 m 6.5–7.5 600–900 20–35 400 plants 15–20 t Bacterial blight, fruit borer
Apple Fruit Perennial Dec–Jan (planting) 4–6 yr to bear 5 × 5 m 5.5–6.5 800–1200 10–24 400 plants 15–20 t Scab, codling moth, woolly aphid
Pear Fruit Perennial Dec–Jan (planting) 4–6 yr to bear 6 × 6 m 6.0–7.0 800–1100 10–25 270 plants 15–20 t Scab, leaf blight
Peach Fruit Perennial Dec–Jan (planting) 3–4 yr to bear 5 × 5 m 6.0–7.0 700–1000 12–26 400 plants 10–15 t Leaf curl, fruit fly
Plum Fruit Perennial Dec–Jan (planting) 3–4 yr to bear 5 × 5 m 6.0–7.0 700–1000 12–26 400 plants 10–15 t Brown rot, aphid
Litchi Fruit Perennial Jun–Sep (planting) 5–7 yr to bear 8 × 8 m 5.5–7.0 1200–1600 20–35 156 plants 8–12 t Fruit borer, mite, fruit cracking
Sapota (Chikoo) Fruit Perennial Jun–Jul (planting) 4–5 yr to bear 8 × 8 m 6.0–8.0 900–1300 20–32 156 plants 15–20 t Bud borer, leaf spot
Custard Apple Fruit Perennial Jun–Jul (planting) 3–4 yr to bear 5 × 5 m 6.5–7.5 600–800 23–32 400 plants 8–10 t Mealybug, anthracnose
Jackfruit Fruit Perennial Jun–Jul (planting) 5–7 yr to bear 10 × 10 m 6.0–7.5 1000–1500 22–35 100 plants 15–20 t Fruit rot, shoot borer
Pineapple Fruit Perennial Jul–Sep 450–540 60 × 30 cm 5.0–6.0 1000–1500 22–32 43 k suckers 50–60 t Mealybug, heart rot
Ber (Indian Jujube) Fruit Perennial Jul–Aug (planting) 2–3 yr to bear 6 × 6 m 6.0–8.5 400–600 20–35 270 plants 15–20 t Fruit fly, powdery mildew
Amla Fruit Perennial Jul–Aug (planting) 4–5 yr to bear 8 × 8 m 6.0–8.0 600–900 20–35 156 plants 10–15 t Rust, bark eating caterpillar
Fig Fruit Perennial Jun–Jul (planting) 2–3 yr to bear 5 × 5 m 6.0–7.5 600–800 20–32 400 plants 10–15 t Rust, stem borer
Date Palm Fruit Perennial Feb–Mar (planting) 5–7 yr to bear 8 × 8 m 7.0–8.5 1200–1800 25–40 156 palms 10–15 t Graphiola leaf spot, borer
Strawberry Fruit Rabi Sep–Oct 90–120 30 × 30 cm 5.5–6.5 400–600 15–25 55 k runners 10–15 t Grey mould, mite, leaf spot
Kiwi Fruit Perennial Dec–Jan (planting) 4–5 yr to bear 4 × 5 m 5.5–7.0 900–1200 10–25 500 vines 12–18 t Root rot, leaf spot
Avocado Fruit Perennial Jun–Jul (planting) 4–5 yr to bear 8 × 8 m 5.5–6.5 1000–1400 20–30 156 plants 8–12 t Anthracnose, root rot
Dragon Fruit Fruit Perennial Jun–Jul (planting) 18–24 mo to bear 3 × 3 m 5.5–7.0 600–900 20–35 1,100 posts 10–15 t Stem canker, mealybug
Almond Nut Perennial Dec–Jan (planting) 4–5 yr to bear 6 × 6 m 6.0–7.5 700–1000 10–28 270 plants 1.5–2 t Leaf blight, hairy caterpillar
Walnut Nut Perennial Dec–Jan (planting) 6–8 yr to bear 10 × 10 m 6.0–7.5 800–1200 10–25 100 plants 2–3 t Anthracnose, walnut blight
Pecan Nut Perennial Dec–Jan (planting) 6–8 yr to bear 10 × 10 m 6.0–7.0 900–1300 15–30 100 plants 1.5–2.5 t Scab, aphid, shuck decline
Pistachio Nut Perennial Jan–Feb (planting) 6–8 yr to bear 6 × 6 m 7.0–8.0 600–900 15–35 270 plants 1.5–2 t Alternaria blight, twig borer
Hazelnut Nut Perennial Dec–Jan (planting) 4–5 yr to bear 5 × 5 m 6.0–7.0 700–1000 10–24 400 plants 1.5–2 t Blight, filbert weevil
Turmeric Spice Kharif May–Jun 240–270 30 × 20 cm 5.5–7.5 1200–1500 20–30 2–2.5 t rhizome 25–30 t fresh Rhizome rot, leaf spot, shoot borer
Ginger Spice Kharif Apr–May 210–240 25 × 20 cm 5.5–6.5 1300–1800 20–30 1.5–2 t rhizome 15–20 t fresh Soft rot, bacterial wilt
Coriander Spice Rabi Oct–Nov 90–110 30 × 15 cm 6.0–8.0 250–400 15–25 10–15 kg 1–1.5 t Powdery mildew, aphid, wilt
Cumin Spice Rabi Nov–Dec 100–120 30 × 10 cm 6.8–8.3 250–350 15–25 12–15 kg 0.6–0.8 t Wilt, blight, aphid
Fennel Spice Rabi Oct–Nov 140–160 45 × 20 cm 6.5–8.0 350–500 15–25 8–10 kg 1.5–2 t Aphid, blight, wilt
Fenugreek (Seed) Spice Rabi Oct–Nov 120–140 25 × 10 cm 6.0–7.5 250–400 15–25 20–25 kg 1.2–1.8 t Powdery mildew, root rot
Garlic Spice Rabi Oct–Nov 130–160 15 × 10 cm 6.0–7.0 350–500 12–24 500–600 kg cloves 8–12 t Thrips, purple blotch, basal rot
Black Pepper Spice Perennial Jun–Jul (planting) 3–4 yr to bear 3 × 3 m 5.5–6.5 2000–3000 20–32 1,100 vines 2–3 t dry Quick wilt, pollu beetle
Cardamom (Small) Spice Perennial Jun–Jul (planting) 2–3 yr to bear 2 × 2 m 5.0–6.5 1500–2500 15–28 2,500 plants 150–250 kg dry Katte virus, thrips, rot
Cardamom (Large) Spice Perennial Jun–Jul (planting) 3 yr to bear 1.5 × 1.5 m 5.0–6.5 2000–3000 10–25 4,400 plants 200–300 kg dry Chirke, foorkey virus
Clove Spice Perennial Jun–Jul (planting) 6–8 yr to bear 6 × 6 m 5.5–7.0 1500–2500 20–30 270 plants 1–2 kg/tree Leaf rot, seedling wilt
Cinnamon Spice Perennial Jun–Jul (planting) 3–4 yr to harvest 2 × 2 m 5.0–7.0 1500–2500 20–30 2,500 plants 150–200 kg quill Leaf spot, stripe canker
Nutmeg Spice Perennial Jun–Jul (planting) 6–8 yr to bear 8 × 8 m 5.5–7.0 1500–2500 20–32 156 plants 500–1000 fruits/tree Fruit rot, die-back
Ajwain Spice Rabi Oct–Nov 140–160 45 × 20 cm 6.5–8.0 250–400 15–25 3–4 kg 0.8–1.2 t Powdery mildew, aphid
Dill Spice Rabi Oct–Nov 110–130 30 × 15 cm 6.0–7.5 250–400 15–25 8–10 kg 0.8–1 t Aphid, powdery mildew
Tamarind Spice Perennial Jun–Jul (planting) 6–8 yr to bear 10 × 10 m 6.0–8.0 700–1000 22–35 100 plants 150–200 kg/tree Fruit borer, scale
Vanilla Spice Perennial Jun–Jul (planting) 3 yr to bear 2 × 1.5 m 6.0–7.0 1500–2500 21–32 1,600 vines 300–500 kg green Bean rot, stem rot
Marigold Flower Year-round Jun, Sep, Jan 60–90 45 × 30 cm 6.0–7.5 350–500 18–30 1–1.5 kg 15–20 t Leaf spot, thrips, red spider mite
Rose Flower Perennial Sep–Oct (planting) 90–120 to flower 60 × 45 cm 6.0–7.0 600–900 15–28 37 k plants 8–10 lakh blooms Black spot, powdery mildew, thrips
Jasmine Flower Perennial Jun–Jul (planting) 1–2 yr to bear 1.5 × 1.5 m 6.5–7.5 700–1000 20–32 4,400 plants 8–12 t Bud worm, leaf webber, gall mite
Chrysanthemum Flower Rabi Jun–Jul 110–130 30 × 30 cm 6.0–7.0 400–600 15–25 1.1 lakh cuttings 15–20 t Leaf spot, aphid, thrips
Tuberose Flower Kharif Mar–Apr 90–120 30 × 20 cm 6.5–7.5 500–700 20–30 2–2.5 lakh bulbs 15–20 t spikes Aphid, thrips, stem rot
Gladiolus Flower Rabi Sep–Nov 90–120 30 × 20 cm 6.0–7.0 400–600 15–25 2–2.5 lakh corms 2–2.5 lakh spikes Fusarium wilt, thrips
Gerbera Flower Protected Year-round 90–100 to flower 30 × 30 cm 5.5–6.5 Drip fertigation 18–26 60 k plants 200–250 stems/m² Powdery mildew, whitefly, mite
Carnation Flower Protected Year-round 120–150 to flower 15 × 15 cm 6.0–7.0 Drip fertigation 13–22 2.5 lakh plants 250–300 stems/m² Fusarium wilt, thrips, mite
Orchid Flower Protected Year-round 18–24 mo to bear 30 × 30 cm 5.5–6.5 Misting 20–30 40 k plants 4–6 spikes/plant Black rot, scale, thrips
Anthurium Flower Protected Year-round 12–18 mo to bear 30 × 30 cm 5.5–6.5 Misting 18–28 60 k plants 6–8 blooms/plant Bacterial blight, mite
Aloe Vera Medicinal Perennial Jun–Jul 240–300 60 × 45 cm 6.0–8.0 400–600 20–35 25 k suckers 30–40 t leaf Leaf spot, mealybug
Ashwagandha Medicinal Kharif Jun–Jul 150–180 30 × 10 cm 6.5–8.0 300–450 20–32 10–12 kg 0.6–0.8 t root Leaf spot, aphid
Tulsi (Holy Basil) Medicinal Kharif Apr–May 90–110 45 × 45 cm 6.0–7.5 400–600 20–32 300–400 g 10–12 t herb Leaf roller, powdery mildew
Lemongrass Medicinal Perennial Jun–Jul 90 per cut 60 × 45 cm 5.5–7.5 800–1200 20–32 35 k slips 15–20 t herb Leaf blight, rust
Mentha (Menthol Mint) Medicinal Zaid Jan–Feb 110–130 45 × 30 cm 6.0–7.5 600–900 20–30 400–500 kg suckers 100–150 kg oil Leaf spot, hairy caterpillar
Stevia Medicinal Perennial Feb–Mar 90 per cut 45 × 30 cm 6.0–7.5 600–900 18–30 90 k plants 3–4 t dry leaf Leaf spot, wilt
Isabgol (Psyllium) Medicinal Rabi Nov–Dec 110–130 30 × 10 cm 7.0–8.5 250–350 15–25 4–5 kg 0.8–1.2 t Downy mildew, aphid
Senna Medicinal Kharif · Rabi Jul, Oct 110–130 45 × 30 cm 7.0–8.5 250–400 20–35 15–20 kg 1–1.5 t leaf Leaf spot, pod borer
Safed Musli Medicinal Kharif Jun–Jul 180–210 30 × 20 cm 6.0–7.5 600–900 20–32 5–6 q roots 2–2.5 t fresh root Root rot, leaf spot
Vetiver (Khus) Medicinal Perennial Jun–Jul 540–600 60 × 45 cm 5.5–8.0 800–1200 20–35 35 k slips 20–25 kg oil Root borer, leaf blight
Patchouli Medicinal Perennial Jun–Jul 150 per cut 60 × 60 cm 5.5–7.0 1500–2000 22–30 28 k cuttings 40–60 kg oil Leaf blight, wilt, nematode
Berseem Fodder Rabi Oct–Nov 50 per cut Broadcast 6.5–7.5 500–700 15–25 20–25 kg 80–100 t green Root rot, stem rot
Lucerne (Alfalfa) Fodder Perennial Oct–Nov 45 per cut 30 cm rows 6.5–7.5 600–900 15–30 12–15 kg 80–100 t green Wilt, aphid
Napier (Hybrid) Fodder Perennial Jun–Jul 60 per cut 90 × 60 cm 5.5–7.5 1000–1500 25–35 20 k slips 200–250 t green Leaf blight, stem borer
Fodder Maize Fodder Kharif · Zaid Jun–Jul, Feb 60–70 30 × 15 cm 6.0–7.5 400–600 21–30 50–60 kg 40–50 t green Stem borer, leaf blight
Fodder Sorghum Fodder Kharif Jun–Jul 60–75 30 × 10 cm 6.0–7.5 350–500 25–32 35–40 kg 40–50 t green Shoot fly, anthracnose
Fodder Cowpea Fodder Kharif Jun–Jul 55–70 30 × 10 cm 5.5–7.5 300–450 25–35 35–40 kg 25–30 t green Aphid, leaf spot
Oats (Fodder) Fodder Rabi Oct–Nov 60–70 25 cm rows 5.5–7.0 350–500 15–25 80–100 kg 35–45 t green Rust, aphid
Quinoa Cereal Rabi Oct–Nov 90–120 45 × 15 cm 6.0–8.5 300–450 15–25 5–8 kg 1.5–2.5 t Downy mildew, leaf miner
Triticale Cereal Rabi Nov 120–140 22 cm rows 5.5–7.5 400–550 12–25 100–125 kg 4–5 t Rust, aphid
Hull-less Barley Cereal Rabi Nov–Dec 110–130 22 cm rows 6.5–8.0 300–450 12–25 75–100 kg 2.5–3.5 t Aphid, yellow rust
Fonio Cereal Kharif Jun–Jul 70–90 Broadcast 5.0–6.5 400–600 25–32 20–30 kg 0.6–1 t Bird damage, blast
Teff Cereal Kharif Jul 90–120 Broadcast 5.5–7.5 350–500 18–28 8–12 kg 1–1.8 t Lodging, rust
Job's Tears Cereal Kharif Jun–Jul 150–180 45 × 30 cm 5.5–7.0 700–1000 22–30 20–25 kg 2–3 t Smut, stem borer
Wild Rice Cereal Kharif Apr–May 100–120 Broadcast 6.0–7.5 1200–1800 18–28 30–40 kg 0.8–1.5 t Bird damage, brown spot
Spelt Cereal Rabi Oct–Nov 130–150 22 cm rows 6.0–7.5 400–550 12–22 130–160 kg 2.5–3.5 t Rust, loose smut
Einkorn Cereal Rabi Oct–Nov 130–160 22 cm rows 6.0–7.5 350–500 12–22 100–120 kg 1.5–2.5 t Rust, lodging
Emmer Cereal Rabi Oct–Nov 125–150 22 cm rows 6.0–7.5 350–500 12–24 100–125 kg 2–3 t Rust, loose smut
Rye Cereal Rabi Oct–Nov 120–150 20 cm rows 5.0–7.0 350–500 10–22 100–120 kg 2.5–3.5 t Ergot, aphid
Canary Grass Cereal Rabi Nov 110–130 22 cm rows 6.0–7.5 350–500 12–25 25–30 kg 1–1.5 t Aphid, lodging
Popcorn Cereal Kharif · Rabi Jun–Jul, Oct 95–115 60 × 20 cm 5.8–7.0 500–700 21–30 8–10 kg 2.5–3.5 t Fall armyworm, stem borer
Browntop Millet Millet Kharif Jun–Jul 60–75 25 × 10 cm 5.5–7.5 300–450 25–33 8–10 kg 0.8–1.2 t Blast, shoot fly
Japanese Millet Millet Kharif Jun–Jul 60–80 25 × 10 cm 5.5–7.5 350–500 22–32 10–12 kg 1.5–2 t Blast, armyworm
Lathyrus (Khesari) Pulse Rabi Oct–Nov 110–130 30 × 10 cm 6.0–7.5 250–400 10–25 30–40 kg 0.8–1.2 t Downy mildew, aphid
Bambara Groundnut Pulse Kharif Jun–Jul 110–150 30 × 20 cm 5.0–6.5 500–700 20–30 55–75 kg 0.8–1.5 t Leaf spot, aphid
Velvet Bean (Mucuna) Pulse Kharif Jun–Jul 150–180 75 × 30 cm 5.0–6.5 600–900 20–30 20–25 kg 1–1.5 t Pod borer, leaf spot
Sword Bean Pulse Kharif Jun–Jul 120–150 90 × 60 cm 5.5–7.0 500–750 20–30 40–50 kg 1.5–2 t Pod borer, aphid
Winged Bean Pulse Kharif Jun–Jul 120–150 60 × 30 cm 5.5–6.5 800–1200 20–30 30–40 kg 2–3 t Pod borer, leaf spot
Rice Bean Pulse Kharif Jun–Jul 90–120 30 × 10 cm 5.5–7.0 400–600 22–30 20–25 kg 0.8–1.2 t Pod borer, yellow mosaic
Adzuki Bean Pulse Kharif Jun–Jul 90–120 45 × 10 cm 5.5–6.5 400–550 18–28 25–30 kg 1–1.5 t Pod borer, root rot
Lima Bean Pulse Kharif Jun–Jul 90–120 60 × 30 cm 6.0–7.0 450–650 18–27 40–50 kg 1–1.5 t Pod borer, downy mildew
Grass Pea Pulse Rabi Oct–Nov 110–130 30 × 10 cm 6.0–7.5 250–400 10–25 30–40 kg 0.8–1.2 t Downy mildew, aphid
Broad Bean Pulse Rabi Oct–Nov 100–130 45 × 20 cm 6.0–7.5 350–500 10–22 100–120 kg 1.5–2.5 t Chocolate spot, aphid
Scarlet Runner Bean Pulse Rabi Sep–Oct 90–110 75 × 25 cm 6.0–7.0 400–600 14–24 60–70 kg 2–3 t Anthracnose, aphid
Tepary Bean Pulse Kharif Jun–Jul 70–95 45 × 10 cm 6.0–7.8 200–350 20–32 25–30 kg 0.7–1.2 t Bacterial blight, leafhopper
Yam Bean Pulse Kharif Jun–Jul 150–180 60 × 25 cm 5.5–7.0 700–1000 20–30 20–25 kg 20–30 t Root rot, leaf spot
Jack Bean Pulse Kharif Jun–Jul 120–150 90 × 45 cm 5.0–7.0 500–750 20–30 45–55 kg 1.5–2 t Pod borer, leaf spot
Pinto Bean Pulse Rabi Oct–Nov 90–110 45 × 10 cm 6.0–7.0 400–550 16–26 60–70 kg 1.5–2 t Anthracnose, rust
Navy Bean Pulse Rabi Oct–Nov 85–100 45 × 8 cm 6.0–7.0 400–550 16–26 60–70 kg 1.5–2 t Halo blight, rust
Lupin Pulse Rabi Oct–Nov 120–150 30 × 10 cm 5.0–6.5 350–500 10–22 100–130 kg 1.5–2.5 t Anthracnose, brown spot
Black-eyed Pea Pulse Kharif Jun–Jul 75–90 45 × 15 cm 6.0–7.5 400–600 22–32 20–25 kg 1–1.5 t Pod borer, aphid
Yardlong Bean Vegetable Kharif Jun–Jul 60–80 60 × 30 cm 5.5–7.0 500–700 22–32 12–15 kg 10–14 t Pod borer, aphid
Paprika Vegetable Kharif · Rabi Jun–Jul, Oct 150–180 60 × 45 cm 6.0–7.0 600–800 18–30 1–1.5 kg 2–3 t Thrips, anthracnose
Summer Squash Vegetable Kharif · Zaid Feb–Mar, Jun 45–60 120 × 60 cm 5.8–7.0 400–600 18–30 4–5 kg 15–25 t Fruit fly, powdery mildew
Winter Squash Vegetable Kharif Jun–Jul 90–120 200 × 100 cm 5.8–7.0 500–700 18–30 3–4 kg 20–30 t Fruit fly, downy mildew
Zucchini Vegetable Zaid · Rabi Feb–Mar, Oct 45–60 120 × 60 cm 6.0–7.0 400–600 18–28 4–5 kg 20–30 t Powdery mildew, fruit fly
Spiny Gourd Vegetable Kharif Jun–Jul 90–110 150 × 100 cm 5.5–7.0 600–900 22–32 Tubers 6–10 t Fruit fly, mosaic
Salsify Vegetable Rabi Sep–Oct 120–150 30 × 8 cm 6.0–7.5 350–500 10–24 8–10 kg 12–18 t Carrot fly, white blister
Celeriac Vegetable Rabi Sep–Oct 110–140 40 × 30 cm 6.0–7.0 500–700 12–22 0.3–0.5 kg 25–35 t Leaf spot, celery fly
Parsnip Vegetable Rabi Sep–Oct 120–160 40 × 10 cm 6.0–7.5 400–550 8–20 4–5 kg 20–30 t Canker, carrot fly
Arracacha Vegetable Perennial Jun–Jul 10–12 mo 80 × 50 cm 5.5–6.5 800–1200 15–22 Offsets 15–25 t Root rot, leaf spot
Oca Vegetable Rabi Sep–Oct 180–240 60 × 30 cm 5.5–6.5 600–800 10–22 1500–2000 kg 15–25 t Weevil, virus
Mashua Vegetable Rabi Sep–Oct 180–240 70 × 40 cm 5.3–7.5 700–1000 10–20 1200–1600 kg 20–30 t Nematode, virus
Arrowroot Vegetable Kharif May–Jun 10–11 mo 30 × 25 cm 5.5–6.5 1200–1800 20–30 1500–2000 kg 15–25 t Leaf spot, rot
Chinese Potato Vegetable Kharif Jun–Jul 150–180 30 × 15 cm 5.5–7.0 700–1000 20–30 1000–1200 kg 15–20 t Nematode, leaf spot
Daikon Vegetable Rabi Sep–Nov 55–70 45 × 15 cm 5.8–6.8 300–450 10–25 8–10 kg 30–45 t Aphid, club root
Horseradish Vegetable Perennial Feb–Mar 8–10 mo 60 × 40 cm 6.0–7.5 500–700 10–24 Root sets 8–12 t White rust, flea beetle
Swede Vegetable Rabi Sep–Oct 90–120 45 × 20 cm 5.5–7.0 350–500 8–20 2–3 kg 35–50 t Club root, flea beetle
Scorzonera Vegetable Rabi Sep–Oct 150–180 30 × 8 cm 6.0–7.5 350–500 10–22 10–12 kg 12–18 t White blister, aphid
Shallot Vegetable Rabi Oct–Nov 90–110 20 × 10 cm 6.0–7.0 350–500 13–24 800–1000 kg 12–18 t Thrips, purple blotch
Leek Vegetable Rabi Sep–Oct 120–150 40 × 15 cm 6.0–7.0 450–650 10–24 4–6 kg 25–35 t Thrips, rust
Spring Onion Vegetable Rabi · Zaid Sep–Oct, Feb 60–80 20 × 8 cm 6.0–7.0 300–450 13–25 8–10 kg 15–20 t Thrips, downy mildew
Elephant Garlic Vegetable Rabi Oct–Nov 150–180 30 × 20 cm 6.0–7.0 400–550 12–24 1200–1500 kg 10–15 t White rot, thrips
Brussels Sprout Vegetable Rabi Aug–Sep 120–150 60 × 45 cm 6.0–7.0 500–700 7–20 0.4–0.5 kg 12–18 t Aphid, club root
Collard Greens Vegetable Rabi Sep–Oct 70–90 60 × 45 cm 6.0–7.5 400–600 10–24 0.4–0.5 kg 20–30 t Aphid, diamondback moth
Bok Choy Vegetable Rabi Sep–Nov 45–60 30 × 20 cm 6.0–7.0 350–500 13–24 0.4–0.6 kg 20–30 t Flea beetle, downy mildew
Swiss Chard Vegetable Rabi Sep–Oct 55–70 40 × 25 cm 6.0–7.5 400–600 10–24 6–8 kg 25–35 t Leaf spot, aphid
Endive Vegetable Rabi Sep–Oct 80–100 30 × 25 cm 6.0–7.0 350–500 10–22 0.8–1 kg 18–25 t Aphid, tip burn
Escarole Vegetable Rabi Sep–Oct 80–100 35 × 30 cm 6.0–7.0 350–500 10–22 0.8–1 kg 18–25 t Aphid, downy mildew
Arugula Vegetable Rabi Sep–Nov 30–45 20 × 8 cm 6.0–7.0 250–400 10–22 4–6 kg 8–12 t Flea beetle, downy mildew
Purslane Vegetable Kharif Jun–Jul 30–45 20 × 10 cm 5.5–7.5 250–400 20–32 3–4 kg 10–15 t Aphid, leaf miner
Sorrel Vegetable Rabi Sep–Oct 60–80 30 × 20 cm 5.5–6.8 350–500 10–24 3–4 kg 12–18 t Leaf spot, aphid
Basella (Malabar Spinach) Vegetable Kharif Jun–Jul 55–70 60 × 45 cm 5.5–7.0 600–900 22–32 5–7 kg 25–35 t Leaf spot, nematode
Chinese Cabbage Vegetable Rabi Sep–Oct 60–80 45 × 35 cm 6.0–7.0 400–550 13–22 0.4–0.5 kg 35–50 t Aphid, soft rot
Tatsoi Vegetable Rabi Sep–Nov 40–50 25 × 20 cm 6.0–7.0 300–450 10–22 0.4–0.6 kg 15–22 t Flea beetle, aphid
Mizuna Vegetable Rabi Sep–Nov 35–50 25 × 20 cm 6.0–7.0 300–450 10–22 0.4–0.6 kg 15–22 t Flea beetle, downy mildew
Komatsuna Vegetable Rabi Sep–Nov 35–50 25 × 15 cm 6.0–7.5 300–450 10–24 0.5–0.7 kg 18–25 t Flea beetle, aphid
Radicchio Vegetable Rabi Sep–Oct 80–100 35 × 30 cm 6.0–7.0 350–500 10–20 0.5–0.7 kg 15–22 t Tip burn, aphid
Chicory Vegetable Rabi Sep–Oct 110–140 45 × 15 cm 6.0–7.5 350–500 10–22 3–4 kg 25–35 t Leaf spot, aphid
Bathua (Chenopodium) Vegetable Rabi Oct–Nov 45–60 30 × 10 cm 6.0–7.8 250–400 10–25 3–4 kg 10–15 t Leaf miner, aphid
Gai Lan Vegetable Rabi Sep–Nov 55–70 35 × 25 cm 6.0–7.0 350–500 13–24 0.5–0.7 kg 15–22 t Flea beetle, aphid
Broccoli Rabe Vegetable Rabi Sep–Oct 45–60 30 × 20 cm 6.0–7.0 350–500 10–22 0.6–0.8 kg 12–18 t Aphid, downy mildew
Asparagus Vegetable Perennial Feb–Mar 2–3 yr 150 × 40 cm 6.5–7.5 500–700 15–25 Crowns 4–6 t Rust, asparagus beetle
Globe Artichoke Vegetable Rabi Aug–Sep 150–180 100 × 75 cm 6.5–7.5 600–800 12–24 Suckers 8–12 t Aphid, powdery mildew
Sweet Corn Vegetable Kharif · Rabi Jun–Jul, Oct–Nov 70–85 60 × 20 cm 5.8–7.0 500–700 21–30 8–9 kg 8–12 t Fall armyworm, corn earworm
Baby Corn Vegetable Year-round Any 50–60 45 × 20 cm 5.8–7.0 450–600 21–30 20–25 kg 1.5–2 t Fall armyworm, stem borer
Snake Gourd Vegetable Kharif · Zaid Jun–Jul, Feb 70–90 200 × 100 cm 6.0–7.0 600–900 22–32 4–5 kg 15–22 t Fruit fly, downy mildew
Ivy Gourd Vegetable Perennial Jun–Jul 4–6 mo 200 × 150 cm 5.5–7.0 700–1000 22–35 Cuttings 20–30 t Fruit fly, mosaic
Pointed Gourd Vegetable Kharif Jun–Jul 4–5 mo 200 × 100 cm 6.0–7.5 700–1000 22–35 Vine cuttings 15–25 t Fruit fly, leaf spot
Chayote Vegetable Kharif Jun–Jul 100–130 300 × 300 cm 5.5–6.8 900–1400 15–28 Whole fruit 30–50 t Fruit fly, powdery mildew
Tinda Vegetable Zaid · Kharif Feb–Mar, Jun 60–75 150 × 60 cm 6.0–7.5 400–600 22–35 5–6 kg 10–15 t Fruit fly, red pumpkin beetle
Cassava (Tapioca) Vegetable Kharif May–Jun 9–11 mo 90 × 90 cm 5.5–7.0 1000–1500 25–35 Stem cuttings 25–40 t Mosaic virus, mealybug
Yam (Dioscorea) Vegetable Kharif Apr–May 8–10 mo 90 × 60 cm 5.5–6.5 1200–1800 25–32 2000–2500 kg 20–30 t Anthracnose, nematode
Taro Vegetable Kharif Jun–Jul 6–8 mo 45 × 30 cm 5.5–7.0 1200–1800 21–32 1200–1500 kg 15–25 t Leaf blight, corm rot
Jerusalem Artichoke Vegetable Rabi Sep–Oct 120–150 75 × 30 cm 5.8–7.5 400–600 10–26 1200–1500 kg 25–40 t Sclerotinia, aphid
Kohlrabi Vegetable Rabi Sep–Oct 60–80 45 × 20 cm 6.0–7.0 350–500 10–24 1–1.5 kg 20–30 t Aphid, club root
Kale Vegetable Rabi Sep–Oct 70–95 60 × 40 cm 6.0–7.5 400–600 7–24 0.4–0.5 kg 20–30 t Aphid, diamondback moth
Mustard Greens Vegetable Rabi Sep–Nov 40–55 30 × 15 cm 6.0–7.5 300–450 10–25 4–5 kg 15–22 t Aphid, white rust
Bamboo Shoot Vegetable Kharif Jun–Jul 3–4 yr 5 × 5 m 5.5–7.0 1200–2000 20–35 Rhizomes 8–15 t Shoot borer, mealybug
Camelina Oilseed Rabi Oct–Nov 85–100 20 cm rows 6.0–7.5 250–400 10–22 5–7 kg 1–1.5 t Flea beetle, downy mildew
Perilla Oilseed Kharif Jun–Jul 110–140 45 × 20 cm 5.5–7.0 500–700 18–28 4–6 kg 0.8–1.2 t Leaf spot, aphid
Chia Oilseed Rabi Oct–Nov 110–140 45 × 20 cm 6.0–8.0 300–450 15–28 5–6 kg 0.6–1 t Aphid, root rot
Hempseed Oilseed Kharif Jun–Jul 100–120 30 × 10 cm 6.0–7.5 400–600 15–27 30–40 kg 1–1.5 t Grey mould, borer
Taramira Oilseed Rabi Oct–Nov 110–130 30 × 10 cm 6.0–8.0 200–350 10–25 5–6 kg 0.8–1.2 t Aphid, white rust
Jojoba Oilseed Perennial Jul–Aug 3–4 yr 4 × 4 m 6.0–8.0 300–500 20–35 Nursery 1.5–3 t Root rot, scale
Peanut Oilseed Kharif Jun–Jul 100–130 30 × 10 cm 6.0–7.0 500–700 25–32 100–120 kg 2–3 t Leaf miner, tikka leaf spot
Olive Oilseed Perennial Jul–Aug 4–6 yr 6 × 6 m 6.0–8.0 400–700 15–35 Nursery 4–8 t Olive fly, peacock spot
Jatropha Oilseed Perennial Jun–Jul 3–4 yr 2 × 2 m 6.0–8.5 400–800 20–38 Cuttings 2–4 t Scale, collar rot
Karanj (Pongamia) Oilseed Perennial Jun–Jul 5–7 yr 5 × 5 m 6.5–8.5 500–1000 20–38 Nursery 3–6 t Leaf webber, gall
Mahua Oilseed Perennial Jun–Jul 8–12 yr 10 × 10 m 6.0–7.5 600–1200 20–40 Nursery 2–4 t Leaf caterpillar, borer
Tamarillo Fruit Perennial Jun–Jul 18–24 mo 3 × 2 m 5.8–7.0 800–1200 15–25 Nursery 15–20 t Powdery mildew, aphid
Naranjilla Fruit Perennial Jun–Jul 10–14 mo 2.5 × 2 m 5.5–6.5 1000–1500 17–24 Nursery 10–15 t Nematode, fusarium
Pepino Fruit Perennial Sep–Oct 4–6 mo 1 × 0.8 m 6.0–7.0 500–750 15–25 Nursery 25–40 t Aphid, virus
Ground Cherry Fruit Kharif Jun–Jul 70–90 90 × 60 cm 5.5–7.0 400–600 18–30 0.4–0.6 kg 8–12 t Flea beetle, leaf spot
Goji Berry Fruit Perennial Feb–Mar 2–3 yr 2 × 1.5 m 6.8–8.1 400–600 10–30 Nursery 6–10 t Gall mite, aphid
Honeydew Fruit Zaid Feb–Mar 80–100 150 × 60 cm 6.0–7.0 400–600 22–32 1–1.5 kg 18–25 t Fruit fly, powdery mildew
Horned Melon Fruit Kharif Jun–Jul 90–120 150 × 60 cm 6.0–7.0 400–600 20–30 2–3 kg 10–15 t Fruit fly, aphid
Longan Fruit Perennial Jul–Aug 4–6 yr 8 × 8 m 5.5–6.5 1200–1600 20–33 Nursery 8–12 t Fruit borer, litchi mite
Rambutan Fruit Perennial Jun–Jul 5–6 yr 10 × 10 m 4.5–6.5 1500–2500 22–32 Nursery 10–15 t Fruit borer, mealybug
Mangosteen Fruit Perennial Jun–Jul 8–10 yr 8 × 8 m 5.0–6.5 1500–2500 25–35 Nursery 6–10 t Gamboge, thrips
Durian Fruit Perennial Jun–Jul 6–8 yr 10 × 10 m 5.5–6.5 1500–2500 24–32 Nursery 10–15 t Phytophthora, fruit borer
Breadfruit Fruit Perennial Jun–Jul 4–6 yr 10 × 10 m 6.0–7.0 1500–2500 21–32 Root cuttings 15–25 t Fruit fly, mealybug
Soursop Fruit Perennial Jun–Jul 3–4 yr 6 × 6 m 5.5–6.5 1000–1500 22–32 Nursery 8–12 t Fruit borer, anthracnose
Cherimoya Fruit Perennial Jun–Jul 3–5 yr 6 × 6 m 6.5–7.6 800–1200 13–25 Nursery 8–12 t Fruit borer, mealybug
Atemoya Fruit Perennial Jun–Jul 3–4 yr 6 × 5 m 6.0–7.5 900–1300 18–30 Nursery 8–14 t Fruit borer, anthracnose
Bilimbi Fruit Perennial Jun–Jul 3–4 yr 6 × 6 m 5.5–7.0 1200–1800 22–32 Nursery 15–25 t Fruit fly, leaf spot
Kokum Fruit Perennial Jun–Jul 6–8 yr 6 × 6 m 5.5–6.5 1500–2500 20–32 Nursery 4–8 t Leaf spot, mealybug
Rose Apple Fruit Perennial Jun–Jul 3–4 yr 7 × 7 m 5.5–7.0 1000–1500 20–32 Nursery 10–18 t Fruit fly, leaf spot
Feijoa Fruit Perennial Jul–Aug 3–4 yr 5 × 4 m 5.5–7.0 700–1000 10–25 Nursery 10–15 t Fruit fly, scale
Plantain Fruit Perennial Jun–Jul 12–14 mo 2 × 2 m 6.0–7.5 1500–2000 20–32 Suckers 30–45 t Sigatoka, weevil
Salak Fruit Perennial Jun–Jul 4–5 yr 3 × 3 m 5.5–7.0 1500–2500 22–32 Nursery 10–15 t Fruit rot, mealybug
Langsat Fruit Perennial Jun–Jul 8–12 yr 8 × 8 m 5.5–6.5 1500–2500 22–32 Nursery 8–12 t Fruit borer, leaf spot
Santol Fruit Perennial Jun–Jul 5–7 yr 8 × 8 m 5.5–7.0 1200–2000 22–32 Nursery 15–25 t Fruit fly, scale
Black Sapote Fruit Perennial Jun–Jul 4–6 yr 8 × 8 m 6.0–7.5 1000–1500 20–32 Nursery 10–18 t Fruit fly, scale
White Sapote Fruit Perennial Jun–Jul 4–6 yr 8 × 8 m 5.5–7.5 800–1200 15–28 Nursery 10–15 t Fruit fly, scale
Mamey Sapote Fruit Perennial Jun–Jul 6–8 yr 10 × 10 m 6.0–7.5 1200–1800 22–32 Nursery 10–15 t Fruit fly, anthracnose
Canistel Fruit Perennial Jun–Jul 3–5 yr 7 × 7 m 5.5–7.5 1000–1500 20–32 Nursery 10–15 t Fruit fly, scale
Lucuma Fruit Perennial Jun–Jul 4–6 yr 7 × 7 m 6.0–7.5 800–1200 15–26 Nursery 8–14 t Fruit fly, scale
Star Apple Fruit Perennial Jun–Jul 5–7 yr 9 × 9 m 5.5–7.5 1200–1800 22–32 Nursery 10–18 t Fruit fly, mealybug
Sugar Apple Fruit Perennial Jun–Jul 3–4 yr 5 × 5 m 6.0–7.5 700–1000 20–32 Nursery 6–10 t Mealybug, fruit borer
Quince Fruit Perennial Jan–Feb 3–4 yr 5 × 4 m 6.0–7.5 600–900 10–24 Nursery 12–18 t Fire blight, codling moth
Medlar Fruit Perennial Jan–Feb 4–5 yr 5 × 5 m 6.0–7.5 600–900 8–24 Nursery 8–12 t Leaf spot, aphid
Loquat Fruit Perennial Jul–Aug 3–4 yr 6 × 6 m 6.0–7.5 700–1000 15–30 Nursery 10–15 t Fruit fly, pear blight
Nectarine Fruit Perennial Jan–Feb 3–4 yr 5 × 4 m 6.0–7.0 600–900 10–28 Nursery 10–15 t Leaf curl, fruit fly
Sea Buckthorn Fruit Perennial Feb–Mar 3–4 yr 3 × 2 m 6.0–7.5 400–600 5–25 Nursery 4–8 t Fusarium, moth
Jujube Fruit Perennial Jul–Aug 3–4 yr 6 × 6 m 6.0–8.0 400–600 15–35 Nursery 10–15 t Fruit fly, powdery mildew
Passion Fruit Fruit Perennial Jun–Jul 10–14 mo 300 × 300 cm 6.0–7.0 900–1400 20–30 Nursery 12–20 t Fruit fly, woodiness virus
Star Fruit (Carambola) Fruit Perennial Jun–Jul 3–4 yr 6 × 6 m 5.5–6.5 1200–1800 22–32 Nursery 15–25 t Fruit fly, anthracnose
Lychee Fruit Perennial Jul–Aug 5–7 yr 8 × 8 m 5.0–7.0 1200–1800 20–35 Air layers 8–12 t Litchi mite, fruit borer
Jamun Fruit Perennial Jul–Aug 6–8 yr 10 × 10 m 6.0–8.0 900–1500 20–38 Nursery 10–18 t Fruit fly, leaf spot
Bael Fruit Perennial Jul–Aug 5–7 yr 8 × 8 m 6.0–8.0 600–1000 20–38 Nursery 10–15 t Fruit canker, borer
Wood Apple Fruit Perennial Jul–Aug 7–10 yr 8 × 8 m 6.0–8.0 500–1000 20–40 Nursery 8–12 t Fruit borer, leaf spot
Apricot Fruit Perennial Jan–Feb 3–4 yr 6 × 6 m 6.0–7.5 500–800 5–28 Nursery 8–14 t Shot hole, aphid
Cherry Fruit Perennial Jan–Feb 4–5 yr 6 × 6 m 6.0–7.5 600–900 5–25 Nursery 6–10 t Fruit fly, brown rot
Persimmon Fruit Perennial Jan–Feb 4–6 yr 6 × 6 m 6.0–7.5 700–1000 10–30 Nursery 10–18 t Fruit fly, leaf spot
Mulberry Fruit Perennial Jun–Jul 1–2 yr 2 × 2 m 6.0–7.5 700–1200 18–35 Cuttings 20–30 t leaf Leaf spot, root knot
Chives Herb Perennial Sep–Oct 70–90 25 × 15 cm 6.0–7.0 350–500 12–24 4–6 kg 8–12 t Thrips, rust
Basil Herb Kharif · Zaid Feb–Mar, Jun 60–80 45 × 30 cm 5.5–7.0 400–600 18–30 2–3 kg 15–25 t Downy mildew, aphid
Thai Basil Herb Kharif Jun–Jul 60–80 45 × 30 cm 5.5–7.0 450–650 20–32 2–3 kg 15–22 t Downy mildew, whitefly
Oregano Herb Perennial Feb–Mar 90–120 45 × 30 cm 6.0–8.0 350–500 15–28 1–2 kg 6–10 t Root rot, spider mite
Thyme Herb Perennial Feb–Mar 90–120 40 × 25 cm 6.0–8.0 300–450 15–28 1–2 kg 5–8 t Root rot, spider mite
Rosemary Herb Perennial Feb–Mar 2–3 yr 90 × 60 cm 6.0–7.5 300–450 15–28 Cuttings 6–10 t Root rot, scale
Sage Herb Perennial Feb–Mar 90–150 60 × 40 cm 6.0–7.5 350–500 15–28 2–3 kg 6–9 t Powdery mildew, root rot
Marjoram Herb Perennial Feb–Mar 90–120 40 × 25 cm 6.5–8.0 350–500 15–28 1–2 kg 5–8 t Root rot, aphid
Savory Herb Rabi Sep–Oct 80–100 35 × 20 cm 6.0–7.5 300–450 15–26 2–3 kg 5–8 t Root rot, aphid
Pandan Herb Perennial Jun–Jul 12–18 mo 150 × 100 cm 5.5–6.5 1200–1800 22–32 Suckers 10–15 t Leaf spot, mealybug
Kaffir Lime Leaf Herb Perennial Jun–Jul 2–3 yr 4 × 4 m 5.5–7.0 900–1200 20–32 Nursery 6–10 t Leaf miner, canker
Tarragon Herb Perennial Feb–Mar 90–120 45 × 30 cm 6.0–7.5 350–500 13–24 Cuttings 5–8 t Root rot, rust
Lovage Herb Perennial Sep–Oct 120–150 60 × 45 cm 6.0–7.5 450–650 10–24 2–3 kg 10–15 t Leaf miner, aphid
Angelica Herb Perennial Sep–Oct 2 yr 90 × 60 cm 6.0–7.0 500–700 10–22 3–4 kg 8–12 t Leaf spot, aphid
Chervil Herb Rabi Sep–Nov 40–60 25 × 15 cm 6.0–7.0 300–450 10–20 3–4 kg 8–12 t Aphid, downy mildew
Parsley Herb Rabi Sep–Oct 70–90 30 × 15 cm 6.0–7.0 400–550 10–24 3–4 kg 12–18 t Leaf spot, aphid
Mint Leaf Herb Perennial Feb–Mar 90–120 45 × 30 cm 6.0–7.5 700–1000 20–30 Suckers 20–30 t Rust, leaf spot
Curry Leaf Herb Perennial Jun–Jul 18–24 mo 150 × 150 cm 6.0–7.5 700–1100 20–35 Nursery 10–15 t Psyllid, leaf spot
Watercress Aquatic Perennial Sep–Oct 50–70 20 × 15 cm 6.5–7.5 Flowing water 10–20 Cuttings 20–30 t Leaf spot, aphid
Water Spinach Aquatic Kharif Jun–Jul 40–60 30 × 20 cm 5.5–7.0 Flooded 22–32 Cuttings 25–40 t Leaf beetle, white rust
Water Lily Aquatic Perennial Mar–Apr 3–4 mo 150 × 150 cm 6.0–7.5 Ponded 18–32 Rhizomes Ornamental Aphid, leaf spot
Makhana (Foxnut) Aquatic Kharif Dec–Feb 150–180 125 × 125 cm 6.0–7.5 Ponded 60–90 cm 20–35 80–100 kg 1.5–2.5 t Leaf spot, aphid
Water Chestnut Aquatic Kharif Jun–Jul 150–180 150 × 150 cm 6.5–7.5 Ponded 50–100 cm 20–32 150–200 kg 6–10 t Leaf beetle, aphid
Lotus Root Aquatic Kharif Mar–Apr 150–210 200 × 150 cm 6.0–7.5 Ponded 40–80 cm 20–32 Rhizomes 15–25 t Leaf spot, aphid
Arrowhead Aquatic Kharif Apr–May 120–150 45 × 45 cm 6.0–7.5 Ponded 15–30 cm 18–30 Corms 8–12 t Leaf beetle, rot
Cattail Aquatic Perennial Mar–Apr 12–18 mo 60 × 60 cm 5.5–7.5 Marshy 15–32 Rhizomes 20–30 t Borer, leaf spot
Giant Swamp Taro Aquatic Perennial Jun–Jul 18–24 mo 150 × 150 cm 5.5–7.0 Marshy 22–32 Suckers 20–35 t Leaf blight, corm rot
Lotus Aquatic Kharif Mar–Apr 5–7 mo 200 × 150 cm 6.0–7.5 Ponded 40–80 cm 20–32 Rhizomes 2–3 lakh blooms Leaf spot, aphid
Chestnut Nut Perennial Jan–Feb 5–7 yr 10 × 10 m 5.0–6.5 800–1200 10–24 Nursery 2–3 t Blight, weevil
Macadamia Nut Perennial Jun–Jul 5–7 yr 8 × 6 m 5.0–6.5 1000–1500 16–30 Nursery 2.5–4 t Nut borer, husk spot
Grapefruit Citrus Perennial Jul–Aug 3–4 yr 6 × 6 m 5.5–7.5 900–1200 15–35 Nursery 20–30 t Citrus canker, leaf miner
Pomelo Citrus Perennial Jul–Aug 4–5 yr 8 × 8 m 5.5–7.0 1000–1400 18–35 Nursery 20–30 t Citrus canker, fruit fly
Citron Citrus Perennial Jul–Aug 3–4 yr 5 × 5 m 5.5–7.5 800–1100 18–32 Nursery 15–25 t Canker, leaf miner
Kumquat Citrus Perennial Jul–Aug 3–4 yr 3 × 3 m 5.5–6.5 700–1000 12–30 Nursery 8–14 t Leaf miner, scale
Rangpur Lime Citrus Perennial Jul–Aug 3–4 yr 5 × 5 m 5.5–7.5 800–1100 18–35 Nursery 20–28 t Canker, tristeza
Sweet Lime (Mosambi) Citrus Perennial Jul–Aug 3–4 yr 6 × 6 m 5.5–7.5 900–1200 18–35 Nursery 20–30 t Canker, leaf miner
Bergamot Citrus Perennial Jul–Aug 3–4 yr 5 × 5 m 5.5–7.0 800–1100 15–30 Nursery 12–20 t Canker, scale
Yuzu Citrus Perennial Jul–Aug 4–6 yr 5 × 5 m 5.5–6.5 900–1300 5–28 Nursery 10–18 t Canker, scab
Calamondin Citrus Perennial Jul–Aug 2–3 yr 4 × 4 m 5.5–6.5 800–1100 18–32 Nursery 12–20 t Leaf miner, scale
Finger Lime Citrus Perennial Jul–Aug 4–5 yr 4 × 3 m 5.5–6.5 700–1000 12–32 Nursery 5–10 t Scale, canker
Acid Lime Citrus Perennial Jul–Aug 3–4 yr 5 × 5 m 5.5–7.5 800–1200 20–38 Nursery 15–25 t Canker, leaf miner
Kaffir Lime Citrus Perennial Jul–Aug 3–4 yr 4 × 4 m 5.5–7.0 900–1300 20–32 Nursery 10–15 t Leaf miner, canker
Raspberry Berry Perennial Jan–Feb 2 yr 250 × 50 cm 5.5–6.5 700–1000 10–24 Canes 6–10 t Cane blight, spider mite
Blackberry Berry Perennial Jan–Feb 2 yr 250 × 100 cm 5.5–7.0 700–1000 10–26 Canes 8–14 t Cane blight, fruit fly
Blueberry Berry Perennial Jan–Feb 3–4 yr 300 × 120 cm 4.0–5.5 800–1100 5–25 Nursery 6–10 t Mummy berry, fruit fly
Cranberry Berry Perennial Apr–May 3–4 yr 30 × 30 cm 4.0–5.5 Flooded beds 5–22 Cuttings 15–25 t Fruit rot, fireworm
Gooseberry Berry Perennial Jan–Feb 2–3 yr 180 × 150 cm 5.5–7.0 600–900 5–24 Nursery 6–10 t Powdery mildew, sawfly
Blackcurrant Berry Perennial Jan–Feb 2–3 yr 180 × 120 cm 6.0–6.8 600–900 5–24 Nursery 5–9 t Gall mite, leaf spot
Redcurrant Berry Perennial Jan–Feb 2–3 yr 180 × 120 cm 6.0–7.0 600–900 5–24 Nursery 5–8 t Aphid, leaf spot
Elderberry Berry Perennial Jan–Feb 2–3 yr 300 × 180 cm 5.5–7.5 700–1000 5–26 Cuttings 8–14 t Aphid, borer
Boysenberry Berry Perennial Jan–Feb 2 yr 250 × 150 cm 5.5–7.0 700–1000 10–26 Canes 8–12 t Cane blight, fruit fly
Loganberry Berry Perennial Jan–Feb 2 yr 250 × 150 cm 5.5–7.0 700–1000 10–26 Canes 7–11 t Cane blight, aphid
Cape Gooseberry Berry Kharif Jun–Jul 150–180 90 × 60 cm 5.5–7.5 500–750 13–28 0.3–0.5 kg 12–20 t Fruit borer, leaf spot
Anise Spice Rabi Oct–Nov 110–130 30 × 15 cm 6.0–7.5 300–450 12–25 8–10 kg 0.7–1 t Aphid, blight
Star Anise Spice Perennial Jun–Jul 6–8 yr 6 × 6 m 5.5–6.5 1500–2500 15–28 Nursery 1.5–3 t Leaf spot, borer
Celery Seed Spice Rabi Sep–Oct 140–170 45 × 25 cm 6.0–7.0 500–700 12–22 1–2 kg 0.8–1.2 t Leaf spot, aphid
Nigella (Kalonji) Spice Rabi Oct–Nov 130–150 30 × 10 cm 6.0–7.5 250–400 10–25 8–10 kg 0.6–1 t Aphid, root rot
Caraway Spice Rabi Oct–Nov 150–180 30 × 15 cm 6.0–7.5 300–450 8–22 8–10 kg 0.6–1 t Aphid, blight
Long Pepper (Pippali) Spice Perennial Jun–Jul 2–3 yr 150 × 60 cm 5.5–7.0 1500–2500 20–32 Cuttings 0.8–1.5 t Leaf spot, mealybug
Cubeb Spice Perennial Jun–Jul 3–4 yr 250 × 250 cm 5.5–6.5 1800–2500 20–30 Cuttings 0.6–1 t Leaf spot, borer
Galangal Spice Kharif May–Jun 9–10 mo 45 × 30 cm 5.5–7.0 1500–2000 20–32 1500–2000 kg 12–18 t Rhizome rot, shoot borer
Zedoary Spice Kharif May–Jun 8–9 mo 30 × 25 cm 5.5–7.0 1200–1800 20–32 1500–2000 kg 10–15 t Rhizome rot, leaf spot
Mango Ginger Spice Kharif May–Jun 8–9 mo 30 × 25 cm 5.5–7.0 1200–1800 20–32 1500–2000 kg 12–18 t Rhizome rot, shoot borer
Asafoetida (Hing) Spice Perennial Sep–Oct 4–5 yr 90 × 60 cm 6.5–7.5 250–400 10–25 4–6 kg 0.05–0.1 t Root rot, aphid
Allspice Spice Perennial Jun–Jul 5–7 yr 7 × 7 m 5.5–7.0 1200–2000 20–32 Nursery 1–2 t Leaf rust, scale
Poppy Seed Spice Rabi Oct–Nov 120–150 30 × 20 cm 6.5–7.5 350–500 10–25 6–8 kg 0.6–1 t Downy mildew, aphid
Bay Leaf (Tejpat) Spice Perennial Jun–Jul 5–7 yr 5 × 5 m 5.5–7.0 1200–2000 15–30 Nursery 2–4 t Leaf spot, scale
Saffron Spice Rabi Aug–Sep 90–110 20 × 10 cm 6.0–8.0 300–450 10–22 6–8 t corms 3–5 kg Corm rot, mite
Cinchona Plantation Perennial Jun–Jul 8–12 yr 2 × 2 m 4.5–6.0 1800–3000 15–25 Nursery 2–4 t Root rot, leaf spot
Pyrethrum Plantation Perennial Sep–Oct 2–3 yr 45 × 30 cm 5.5–7.0 800–1200 10–22 Splits 0.8–1.5 t Aphid, root rot
Citronella Plantation Perennial Jun–Jul 6–8 mo 60 × 45 cm 5.5–7.5 1000–1500 20–32 Slips 20–30 t Leaf blight, mite
Palmarosa Plantation Perennial Jun–Jul 5–6 mo 60 × 45 cm 6.0–8.0 700–1000 20–35 4–5 kg 15–25 t Leaf blight, mite
Sago Palm Plantation Perennial Jun–Jul 8–12 yr 8 × 8 m 4.5–6.5 2000–3000 22–32 Suckers 15–25 t Weevil, leaf spot
Rattan Plantation Perennial Jun–Jul 7–10 yr 4 × 4 m 4.5–6.5 2000–3000 22–32 Nursery 2–4 t Borer, leaf spot
Betel Vine Plantation Perennial Jun–Jul 6–8 mo 60 × 30 cm 6.5–7.5 1500–2000 20–32 Cuttings 50–60 lakh leaves Foot rot, leaf spot
Palmyra Plantation Perennial Jun–Jul 12–15 yr 10 × 10 m 6.0–8.0 500–1200 20–40 Seed nuts Neera + fibre Rhinoceros beetle, leaf rot
Bamboo Plantation Perennial Jun–Jul 4–6 yr 5 × 5 m 5.0–7.0 1000–2000 18–35 Rhizomes 8–15 t Shoot borer, witches broom
Kapok Fibre Perennial Jun–Jul 4–6 yr 8 × 8 m 5.5–7.5 1000–1500 20–35 Nursery 0.4–0.8 t Stainer bug, leaf spot
Abaca Fibre Perennial Jun–Jul 18–24 mo 3 × 2 m 5.0–6.5 1800–2500 22–32 Suckers 2–3 t Bunchy top, weevil
Roselle Fibre Kharif Jun–Jul 150–180 30 × 10 cm 6.0–7.5 500–800 20–32 20–25 kg 2–3 t Stem rot, mealybug
Sansevieria Fibre Perennial Jun–Jul 2–3 yr 60 × 45 cm 6.0–7.5 500–800 18–35 Suckers 2–4 t Leaf spot, mealybug
Agave Fibre Perennial Jun–Jul 4–6 yr 2 × 1 m 6.0–8.0 400–800 18–38 Suckers 2–4 t fibre Weevil, leaf spot
Sisal Fibre Perennial Jun–Jul 3–5 yr 2 × 1 m 6.0–8.0 500–900 20–38 Bulbils 2–3 t fibre Weevil, zebra disease
Flax Fibre Rabi Oct–Nov 110–130 20 cm rows 5.5–7.0 350–500 10–25 80–100 kg 1.5–2.5 t fibre Rust, wilt
Ramie Fibre Perennial Jun–Jul 4–6 mo 60 × 30 cm 5.5–6.5 1200–1800 20–32 Rhizomes 2.5–4 t fibre Leaf spot, root rot
Coir Fibre Perennial Jun–Jul 6–8 yr 7.5 × 7.5 m 5.5–7.5 1200–2000 22–35 Seed nuts 0.8–1.2 t fibre Rhinoceros beetle, wilt
Hemp (Fibre) Fibre Kharif Jun–Jul 100–120 30 × 10 cm 6.0–7.5 400–600 15–27 40–50 kg 6–9 t stalk Grey mould, borer
Lily Flower Rabi Oct–Nov 90–120 20 × 15 cm 6.0–7.0 500–700 12–24 Bulbs 1–2 lakh stems Botrytis, aphid
Bougainvillea Flower Perennial Jun–Jul 12–18 mo 200 × 200 cm 5.5–7.5 500–800 15–35 Cuttings Ornamental Mealybug, leaf spot
Canna Flower Kharif Jun–Jul 90–120 60 × 45 cm 6.0–7.5 700–1000 18–32 Rhizomes Ornamental Leaf roller, rust
Dahlia Flower Rabi Sep–Oct 100–130 60 × 45 cm 6.0–7.0 500–700 12–24 Tubers 1.5–2 lakh blooms Thrips, virus
Zinnia Flower Kharif · Rabi Jun–Jul, Oct 60–75 30 × 30 cm 5.5–7.5 400–600 18–30 2–3 kg 4–6 lakh blooms Powdery mildew, leaf spot
Cosmos Flower Kharif Jun–Jul 70–90 45 × 30 cm 6.0–7.5 400–600 18–30 2–3 kg Ornamental Aphid, powdery mildew
Petunia Flower Rabi Sep–Oct 70–90 30 × 25 cm 6.0–7.0 400–550 13–25 0.2–0.3 kg Ornamental Aphid, botrytis
Impatiens Flower Kharif Jun–Jul 60–80 30 × 25 cm 5.5–6.5 600–900 18–28 0.2–0.3 kg Ornamental Downy mildew, mite
Begonia Flower Perennial Jun–Jul 90–120 25 × 25 cm 5.5–6.5 Misted 16–26 Tissue plants Ornamental Powdery mildew, thrips
Pansy Flower Rabi Sep–Oct 70–90 25 × 20 cm 5.5–6.5 400–550 10–20 0.3–0.5 kg Ornamental Aphid, leaf spot
Nasturtium Flower Rabi Sep–Oct 55–70 30 × 25 cm 6.0–7.5 350–500 13–24 8–10 kg Ornamental Aphid, leaf miner
Sweet Pea Flower Rabi Oct–Nov 90–120 45 × 20 cm 6.5–7.5 400–600 10–20 40–50 kg Ornamental Powdery mildew, aphid
Snapdragon Flower Rabi Sep–Oct 90–120 30 × 25 cm 6.0–7.0 450–650 10–22 0.2–0.3 kg 2–3 lakh spikes Rust, aphid
Stock Flower Rabi Sep–Oct 90–110 30 × 25 cm 6.5–7.5 400–600 10–20 0.3–0.4 kg Ornamental Downy mildew, aphid
Alyssum Flower Rabi Sep–Oct 60–75 20 × 15 cm 6.0–7.5 300–450 10–24 0.2–0.3 kg Ornamental Aphid, downy mildew
Verbena Flower Rabi Sep–Oct 70–90 30 × 25 cm 6.0–7.0 400–550 15–28 0.2–0.3 kg Ornamental Powdery mildew, thrips
Salvia Flower Rabi Sep–Oct 80–100 30 × 30 cm 6.0–7.5 400–600 15–28 0.2–0.3 kg Ornamental Whitefly, root rot
Celosia Flower Kharif Jun–Jul 70–90 30 × 25 cm 6.0–7.0 400–600 18–30 0.3–0.5 kg 3–5 lakh spikes Leaf spot, aphid
Gomphrena Flower Kharif Jun–Jul 75–95 30 × 25 cm 6.0–7.5 400–600 18–32 0.3–0.5 kg Ornamental Leaf spot, aphid
Helichrysum Flower Rabi Sep–Oct 90–110 30 × 25 cm 6.0–7.5 350–500 13–26 0.2–0.3 kg Ornamental Aphid, downy mildew
Statice Flower Rabi Sep–Oct 110–130 30 × 25 cm 6.5–7.5 350–500 13–26 0.3–0.4 kg 2–3 lakh stems Botrytis, aphid
China Aster Flower Rabi Sep–Oct 90–120 30 × 30 cm 6.0–7.5 400–600 15–25 0.4–0.5 kg 3–4 lakh blooms Wilt, aphid
Gypsophila Flower Rabi Sep–Oct 100–120 40 × 30 cm 6.5–7.5 400–550 10–24 Cuttings 1.5–2 lakh stems Botrytis, root rot
Alstroemeria Flower Perennial Sep–Oct 10–12 mo 40 × 30 cm 6.0–6.8 500–700 13–22 Rhizomes 100–150 stems/m² Botrytis, thrips
Iris Flower Rabi Sep–Oct 90–120 30 × 25 cm 6.0–7.5 450–650 10–24 Rhizomes Ornamental Rhizome rot, thrips
Heliconia Flower Perennial Jun–Jul 12–18 mo 200 × 150 cm 5.5–6.5 1500–2500 20–32 Rhizomes 15–25 stems/clump Root rot, mealybug
Bird of Paradise Flower Perennial Jun–Jul 3–4 yr 200 × 150 cm 6.0–7.5 800–1200 18–30 Suckers 8–12 stems/plant Scale, root rot
Plumeria Flower Perennial Jun–Jul 2–3 yr 4 × 4 m 6.0–7.5 600–900 18–35 Cuttings Ornamental Rust, stem rot
Ixora Flower Perennial Jun–Jul 18–24 mo 120 × 90 cm 5.5–6.5 800–1200 20–32 Cuttings Ornamental Scale, leaf spot
Vinca (Periwinkle) Flower Kharif Jun–Jul 70–90 30 × 30 cm 5.5–7.0 400–600 20–32 0.3–0.5 kg Ornamental Dieback, aphid
Coleus Flower Kharif Jun–Jul 60–90 30 × 25 cm 6.0–7.0 500–750 18–30 Cuttings Ornamental Downy mildew, mealybug
Tulip Flower Rabi Oct–Nov 70–90 20 × 15 cm 6.0–7.0 350–500 5–18 Bulbs 1–1.5 lakh stems Botrytis, bulb rot
Hyacinth Flower Rabi Oct–Nov 80–100 20 × 15 cm 6.0–7.0 350–500 5–18 Bulbs 1–1.5 lakh stems Bulb rot, aphid
Torch Ginger Flower Perennial Jun–Jul 18–24 mo 200 × 150 cm 5.5–6.5 1800–2500 22–32 Rhizomes 10–20 stems/clump Root rot, mealybug
Crossandra Flower Perennial Jun–Jul 4–5 mo 45 × 30 cm 6.0–7.5 700–1000 20–32 Cuttings 8–12 t blooms Nematode, wilt
Hibiscus Flower Perennial Jun–Jul 12–18 mo 150 × 100 cm 6.0–7.0 800–1200 20–35 Cuttings Ornamental Mealybug, leaf spot
Sarpagandha Medicinal Perennial Jun–Jul 18–30 mo 45 × 30 cm 6.0–7.5 1000–1500 20–32 5–6 kg 1.5–2.5 t Root rot, leaf spot
Haritaki Medicinal Perennial Jul–Aug 8–10 yr 8 × 8 m 5.5–7.5 1000–1500 20–35 Nursery 1.5–3 t Leaf spot, borer
Bibhitaki Medicinal Perennial Jul–Aug 8–10 yr 10 × 10 m 5.5–7.5 900–1400 20–35 Nursery 2–4 t Leaf spot, borer
Guduchi (Giloy) Medicinal Perennial Jun–Jul 12–18 mo 200 × 200 cm 6.0–7.5 800–1200 20–35 Cuttings 3–5 t Leaf spot, mealybug
Shankhapushpi Medicinal Kharif Jun–Jul 120–150 30 × 20 cm 6.0–7.5 500–700 18–32 3–4 kg 1.5–2.5 t Leaf spot, aphid
Jatamansi Medicinal Perennial Apr–May 2–3 yr 30 × 20 cm 5.5–6.5 800–1200 5–20 Rhizomes 1–1.5 t Root rot, aphid
Vacha Medicinal Perennial Jun–Jul 10–12 mo 45 × 30 cm 5.5–7.0 Marshy 18–30 Rhizomes 3–5 t Rhizome rot, leaf spot
Chitrak Medicinal Perennial Jun–Jul 18–24 mo 60 × 45 cm 6.0–7.5 700–1000 20–32 Cuttings 2–3 t Root rot, mealybug
Manjishtha Medicinal Perennial Jun–Jul 2–3 yr 100 × 60 cm 6.0–7.5 900–1400 15–28 Cuttings 2–3 t Leaf spot, aphid
Vidanga Medicinal Perennial Jun–Jul 3–4 yr 300 × 300 cm 5.5–7.0 1200–2000 20–32 Nursery 0.8–1.5 t Leaf spot, borer
Bilva (Bael) Medicinal Perennial Jul–Aug 5–7 yr 8 × 8 m 6.0–8.0 600–1000 20–38 Nursery 10–15 t Fruit canker, borer
Shatavari Medicinal Perennial Jun–Jul 18–24 mo 60 × 45 cm 6.0–7.5 700–1000 20–32 Crowns 8–12 t Root rot, aphid
Gokshura Medicinal Kharif Jun–Jul 90–120 30 × 20 cm 6.5–8.0 300–500 22–35 5–6 kg 1–1.5 t Leaf spot, aphid
Guggul Medicinal Perennial Jul–Aug 8–10 yr 3 × 3 m 6.5–8.5 250–450 20–40 Cuttings 0.3–0.6 t Stem borer, scale
Mulethi (Liquorice) Medicinal Perennial Feb–Mar 3–4 yr 60 × 45 cm 6.0–8.2 400–600 15–30 Rhizomes 4–6 t Root rot, aphid
Bhringraj Medicinal Kharif Jun–Jul 90–120 30 × 20 cm 6.0–7.5 700–1000 20–32 2–3 kg 8–12 t Leaf spot, aphid
Gudmar Medicinal Perennial Jun–Jul 2–3 yr 200 × 150 cm 6.0–7.5 800–1200 20–32 Cuttings 1.5–2.5 t Leaf spot, mealybug
Kutki Medicinal Perennial Apr–May 2–3 yr 30 × 20 cm 5.5–6.5 1000–1500 5–18 Rhizomes 0.8–1.2 t Root rot, leaf spot
Nirgundi Medicinal Perennial Jun–Jul 12–18 mo 150 × 100 cm 6.0–7.5 700–1000 20–35 Cuttings 6–10 t Leaf spot, mealybug
Bakuchi Medicinal Kharif Jun–Jul 150–180 45 × 30 cm 6.5–8.0 400–600 20–35 5–6 kg 1–1.5 t Leaf spot, aphid
Vasaka Medicinal Perennial Jun–Jul 12–18 mo 90 × 60 cm 6.0–7.5 700–1100 20–32 Cuttings 8–12 t Leaf spot, mealybug
Arjuna Medicinal Perennial Jul–Aug 8–10 yr 8 × 8 m 6.0–8.0 900–1500 20–38 Nursery 2–4 t Leaf spot, borer
Ashoka Medicinal Perennial Jul–Aug 6–8 yr 6 × 6 m 5.5–7.0 1200–2000 20–35 Nursery 1.5–3 t Leaf spot, scale
Lodhra Medicinal Perennial Jul–Aug 6–8 yr 5 × 5 m 5.5–7.0 1200–2000 18–32 Nursery 1.5–2.5 t Leaf spot, borer
Kaunch Medicinal Kharif Jun–Jul 150–180 75 × 30 cm 5.0–6.5 600–900 20–30 20–25 kg 1–1.5 t Pod borer, leaf spot
Pushkarmool Medicinal Perennial Apr–May 2 yr 45 × 30 cm 6.0–7.5 700–1000 10–24 Rhizomes 1.5–2.5 t Root rot, aphid
Daruharidra Medicinal Perennial Feb–Mar 4–5 yr 150 × 100 cm 5.5–7.0 800–1200 10–25 Nursery 2–3 t Leaf spot, rust
Neem Medicinal Perennial Jun–Jul 5–8 yr 6 × 6 m 6.0–8.5 400–1000 20–40 Nursery 2–4 t Scale, dieback
Brahmi Medicinal Perennial Jun–Jul 4–6 mo 30 × 20 cm 5.5–7.0 Marshy 20–32 Cuttings 10–15 t Leaf spot, aphid
Kalmegh Medicinal Kharif Jun–Jul 120–150 30 × 20 cm 5.5–7.5 600–900 20–32 2–3 kg 2–3 t Leaf spot, wilt
Periwinkle Medicinal Kharif Jun–Jul 150–180 45 × 30 cm 5.5–7.5 500–800 20–32 2–3 kg 3–4 t Dieback, aphid
Stylo Fodder Kharif Jun–Jul 70–90 45 × 30 cm 5.0–7.0 600–900 20–32 5–6 kg 25–35 t Anthracnose, stem borer
Hedge Lucerne Fodder Perennial Jun–Jul 75–90 50 × 30 cm 6.0–7.5 600–900 20–35 10–12 kg 80–100 t Leaf spot, aphid
Dhaincha Fodder Kharif Jun–Jul 45–60 30 × 15 cm 6.0–8.5 500–800 20–35 25–30 kg 20–25 t Stem borer, leaf spot
Para Grass Fodder Perennial Jun–Jul 60–75 50 × 50 cm 5.5–7.5 Waterlogged 20–35 Slips 80–120 t Leaf blight, armyworm
Rhodes Grass Fodder Perennial Jun–Jul 60–75 50 × 30 cm 5.5–8.0 600–900 20–32 3–4 kg 40–60 t Leaf blight, armyworm
Buffel Grass Fodder Perennial Jun–Jul 60–80 50 × 50 cm 6.0–8.5 300–500 20–38 4–5 kg 30–45 t Leaf blight, smut
Sudan Grass Fodder Kharif Jun–Jul 55–70 30 × 10 cm 6.0–7.5 400–600 20–35 25–30 kg 45–60 t Shoot fly, leaf spot
Fodder Beet Fodder Rabi Oct–Nov 150–180 50 × 25 cm 6.0–7.5 500–700 10–24 6–8 kg 80–120 t Leaf spot, aphid
Teosinte Fodder Kharif Jun–Jul 70–90 45 × 20 cm 5.5–7.5 500–750 20–35 30–40 kg 40–60 t Stem borer, leaf blight
Bermuda Grass Fodder Perennial Jun–Jul 60–75 30 × 30 cm 5.5–8.0 500–800 20–35 Slips 25–40 t Leaf spot, armyworm
Setaria Fodder Perennial Jun–Jul 60–75 50 × 30 cm 5.5–7.5 700–1000 18–32 3–4 kg 50–70 t Leaf blight, rust
Signal Grass Fodder Perennial Jun–Jul 60–80 50 × 40 cm 4.5–7.0 800–1200 20–35 4–6 kg 40–60 t Spittlebug, leaf blight
Guinea Grass Fodder Perennial Jun–Jul 60–75 60 × 40 cm 5.5–7.5 800–1200 20–35 2.5–3 kg 80–120 t Leaf blight, armyworm
Dinanath Grass Fodder Kharif Jun–Jul 55–70 40 × 25 cm 6.0–7.5 500–800 20–35 4–5 kg 35–50 t Leaf blight, shoot fly
Fodder Oats Fodder Rabi Oct–Nov 55–70 25 cm rows 5.5–7.0 350–500 10–25 80–100 kg 35–50 t green Rust, aphid
Teak Tree Perennial Jun–Jul 20–60 yr 3 × 3 m 6.5–7.5 1200–2500 22–38 Stumps 5–8 m³/yr Teak defoliator, skeletoniser
Sal Tree Perennial Jun–Jul 60–120 yr 3 × 3 m 5.5–7.0 1000–2000 20–38 Nursery 3–5 m³/yr Sal borer, heart rot
Eucalyptus Tree Perennial Jun–Jul 6–10 yr 2 × 2 m 5.5–7.5 800–1500 18–35 Clones 15–25 m³/yr Gall wasp, termite
Poplar Tree Perennial Jan–Feb 5–8 yr 5 × 4 m 6.0–8.0 900–1500 10–35 Entire plants 20–30 m³/yr Defoliator, stem borer
Casuarina Tree Perennial Jun–Jul 4–7 yr 2 × 2 m 6.0–8.5 700–1200 20–38 Seedlings 20–30 m³/yr Blister bark, termite
Mahogany Tree Perennial Jun–Jul 25–40 yr 4 × 4 m 5.5–7.5 1200–2500 20–35 Nursery 4–7 m³/yr Shoot borer, leaf spot
Rosewood Tree Perennial Jun–Jul 40–60 yr 5 × 5 m 6.0–7.5 1000–2000 20–35 Nursery 3–5 m³/yr Stem borer, heart rot
Sandalwood Tree Perennial Jun–Jul 15–30 yr 4 × 4 m 6.0–7.5 600–1200 12–35 Nursery 0.5–1 t heartwood Spike disease, borer
Red Sanders Tree Perennial Jun–Jul 25–40 yr 4 × 4 m 6.0–7.5 500–900 20–38 Nursery 0.4–0.8 t heartwood Stem borer, root rot
Deodar Tree Perennial Mar–Apr 60–100 yr 3 × 3 m 5.5–7.0 1000–1800 5–25 Nursery 3–5 m³/yr Bark beetle, root rot
Chir Pine Tree Perennial Mar–Apr 40–60 yr 3 × 3 m 5.0–6.5 900–1600 10–30 Nursery 4–6 m³/yr Bark beetle, needle blight
Oak Tree Perennial Mar–Apr 60–120 yr 4 × 4 m 5.5–7.0 1000–2000 5–28 Nursery 2–4 m³/yr Defoliator, powdery mildew
Shisham Tree Perennial Jun–Jul 20–30 yr 4 × 4 m 6.0–8.0 700–1300 15–38 Nursery 5–8 m³/yr Dieback, stem borer
Gamhar Tree Perennial Jun–Jul 8–15 yr 3 × 3 m 5.5–7.5 900–1800 20–35 Nursery 10–15 m³/yr Defoliator, stem borer
Kadam Tree Perennial Jun–Jul 10–15 yr 4 × 4 m 5.5–7.5 1000–2000 20–35 Nursery 10–14 m³/yr Stem borer, leaf spot
Subabul Tree Perennial Jun–Jul 4–8 yr 2 × 2 m 6.0–8.0 700–1500 20–35 6–8 kg 12–20 m³/yr Psyllid, root rot
Gliricidia Tree Perennial Jun–Jul 2–4 yr 2 × 1 m 5.5–7.5 800–1500 20–35 Cuttings 20–30 t green Leaf spot, stem borer
Sesbania Tree Perennial Jun–Jul 1–3 yr 2 × 1 m 6.0–8.5 600–1200 20–38 10–12 kg 20–30 t green Stem borer, leaf spot
Melia (Malabar Neem) Tree Perennial Jun–Jul 6–10 yr 3 × 3 m 6.0–7.5 800–1500 18–35 Nursery 12–18 m³/yr Shoot borer, leaf spot
Ailanthus Tree Perennial Jun–Jul 8–12 yr 4 × 4 m 6.0–8.0 500–1000 18–38 Nursery 10–15 m³/yr Defoliator, stem borer
Albizia Tree Perennial Jun–Jul 12–20 yr 5 × 5 m 6.0–8.0 800–1500 18–35 Nursery 8–12 m³/yr Defoliator, heart rot
Willow Tree Perennial Jan–Feb 5–8 yr 3 × 2 m 6.0–7.5 900–1600 5–30 Cuttings 12–18 m³/yr Rust, stem borer
Alder Tree Perennial Mar–Apr 15–25 yr 3 × 3 m 5.0–7.0 1200–2500 10–28 Nursery 8–12 m³/yr Leaf beetle, canker
Prosopis Tree Perennial Jun–Jul 10–20 yr 5 × 5 m 6.5–8.5 200–600 20–45 Nursery 4–8 m³/yr Stem borer, mistletoe
Khair Tree Perennial Jun–Jul 15–25 yr 3 × 3 m 6.0–8.0 500–1200 20–40 Nursery 3–6 m³/yr Heart rot, borer
Palash Tree Perennial Jun–Jul 10–15 yr 5 × 5 m 6.0–8.0 600–1200 20–38 Nursery Lac + gum Stem borer, leaf spot
Semal Tree Perennial Jun–Jul 20–30 yr 6 × 6 m 6.0–7.5 900–1800 20–38 Nursery 6–10 m³/yr Stainer bug, heart rot
Gulmohar Tree Perennial Jun–Jul 6–10 yr 8 × 8 m 6.0–7.5 700–1500 20–38 Nursery Ornamental Stem borer, leaf spot
Jacaranda Tree Perennial Jun–Jul 6–10 yr 8 × 8 m 6.0–7.5 700–1400 12–32 Nursery Ornamental Scale, leaf spot
Amaltas Tree Perennial Jun–Jul 8–12 yr 7 × 7 m 6.0–8.0 500–1200 20–38 Nursery Ornamental Defoliator, borer
Peepal Tree Perennial Jun–Jul 20–40 yr 10 × 10 m 6.0–8.0 800–1800 15–40 Cuttings Fodder + shade Leaf spot, scale
Banyan Tree Perennial Jun–Jul 25–50 yr 12 × 12 m 6.0–8.0 800–1800 18–40 Cuttings Fodder + shade Leaf spot, scale
Gular Tree Perennial Jun–Jul 8–12 yr 8 × 8 m 6.0–7.5 900–1800 18–38 Cuttings 20–30 t fodder Fig fly, leaf spot
Kachnar Tree Perennial Jun–Jul 6–10 yr 6 × 6 m 6.0–7.5 700–1400 15–35 Nursery 6–10 t Leaf spot, borer
Tun Tree Perennial Jun–Jul 15–25 yr 4 × 4 m 6.0–7.5 1000–2000 15–32 Nursery 8–12 m³/yr Shoot borer, leaf spot
Anjan Tree Perennial Jun–Jul 30–50 yr 5 × 5 m 6.5–8.0 500–1000 20–40 Nursery 2–4 m³/yr Heart rot, borer
Hardwickia Tree Perennial Jun–Jul 30–50 yr 5 × 5 m 6.5–8.0 500–1000 20–42 Nursery 2–4 m³/yr Heart rot, borer
Bakain Tree Perennial Jun–Jul 8–12 yr 4 × 4 m 6.0–8.0 600–1200 15–38 Nursery 10–15 m³/yr Shoot borer, leaf spot
Erythrina Tree Perennial Jun–Jul 3–6 yr 3 × 3 m 5.5–7.5 900–1800 20–35 Cuttings 15–25 t green Stem borer, gall wasp
Calliandra Tree Perennial Jun–Jul 2–4 yr 1 × 1 m 5.0–7.0 800–1500 20–32 3–4 kg 15–25 t green Leaf spot, aphid
Tagasaste Tree Perennial Sep–Oct 2–4 yr 2 × 1 m 5.5–7.5 400–800 5–28 4–5 kg 10–18 t green Root rot, aphid
Portobello Mushroom Year-round Any 35–45 Trays 30 cm 6.5–7.5 Composted 16–20 6–8 kg spawn/t 180–250 kg/t Green mould, mites
Enoki Mushroom Year-round Any 55–70 Bottles 5.5–6.5 Sawdust 10–15 5–6 kg spawn/t 250–350 kg/t Bacterial blotch, mites
Morel Mushroom Rabi Nov–Dec 90–150 Beds 30 cm 6.5–8.0 Moist beds 10–22 8–10 kg spawn/t 80–150 kg/t Cobweb mould, mites
Milky Mushroom Mushroom Year-round Any 30–40 Bags 30 cm 6.5–7.5 Pasteurised straw 25–35 5–6 kg spawn/t 250–350 kg/t Green mould, fly
Paddy Straw Mushroom Mushroom Kharif Jun–Sep 12–18 Beds 30 cm 6.5–7.5 Wet straw 28–35 5–7 kg spawn/t 100–150 kg/t Coprinus, mites
King Oyster Mushroom Year-round Any 40–55 Bottles 5.5–6.5 Sawdust 14–18 5–6 kg spawn/t 300–400 kg/t Green mould, bacteria
Shimeji Mushroom Year-round Any 50–65 Bottles 5.5–6.5 Sawdust 12–18 5–6 kg spawn/t 250–350 kg/t Green mould, mites
Wood Ear Mushroom Year-round Any 45–60 Bags 30 cm 5.5–7.0 Sawdust 20–30 5–6 kg spawn/t 200–300 kg/t Green mould, mites
Reishi Mushroom Year-round Any 90–120 Bags 30 cm 5.0–6.5 Hardwood 24–30 6–8 kg spawn/t 80–120 kg/t Trichoderma, mites
Maitake Mushroom Year-round Any 70–100 Bags 30 cm 5.5–6.5 Hardwood 16–22 6–8 kg spawn/t 150–250 kg/t Green mould, bacteria
Lion's Mane Mushroom Year-round Any 45–65 Bags 30 cm 5.0–6.5 Hardwood 18–24 5–6 kg spawn/t 200–300 kg/t Trichoderma, mites
Cordyceps Mushroom Year-round Any 60–90 Jars 5.5–6.5 Grain media 18–22 Liquid culture 40–80 kg/t Bacteria, mould
Turkey Tail Mushroom Year-round Any 60–90 Bags 30 cm 5.0–6.5 Hardwood 18–26 6–8 kg spawn/t 100–180 kg/t Trichoderma, mites
Black Truffle Mushroom Perennial Feb–Mar 6–10 yr 5 × 4 m 7.5–8.3 600–900 5–30 Inoculated saplings 20–60 kg/ha Brûlé failure, rodents
Button Mushroom Mushroom Rabi Oct–Feb 35–45 Trays 30 cm 6.5–7.5 Composted 16–20 6–8 kg spawn/t 180–250 kg/t Green mould, mites
Oyster Mushroom Mushroom Year-round Any 25–35 Bags 30 cm 5.5–6.5 Pasteurised straw 20–30 5–6 kg spawn/t 500–700 kg/t Green mould, fly
Shiitake Mushroom Year-round Any 70–120 Logs / bags 5.0–6.5 Hardwood 12–20 6–8 kg spawn/t 150–250 kg/t Trichoderma, mites

Figures are planning ranges, not prescriptions. Confirm against your local KVK or state agricultural university before committing an acre to them.

Discover more from Agriculture Novel

Subscribe now to keep reading and get access to the full archive.

Continue reading