LoRa Soil-Moisture Monitoring Mesh is a full LPWAN system — sensor nodes, a relay, a gateway and a dashboard — designed for a small Indian farm, where irrigation is decided by habit and groundwater is falling. Capacitive soil-moisture sensors and waterproof DS18B20 temperature probes are buried in the root zones of different plots. Each node — an Arduino Pro Mini 3.3 V paired with an RA-02 (Semtech SX1278) LoRa module on 433 MHz — sleeps in power-down mode, wakes on the watchdog timer, samples the sensors, and transmits a 12-byte packet with sequence number, battery voltage, moisture and temperature.
A node on the far plot cannot reach the pump shed directly, so a relay node stores and forwards its packets one hop — a deliberately simple two-hop mesh with duplicate suppression, no network server required. The gateway (ESP32 + RA-02, mains-powered at the pump shed) acknowledges packets, deduplicates them, and pushes batches over Wi-Fi to a Python (Flask + SQLite) dashboard on an old laptop. The dashboard plots per-zone moisture trends, raises irrigation alerts against crop-stage thresholds from FAO-56 guidance, and exports CSV.
Everything is programmed in Embedded C on the Arduino framework — squarely the territory of the JNTUH R22 Microcontrollers and IoT labs — and every design choice, from spreading factor to sleep current, is justified with measured numbers from our own field trials. Flask and SQLite are industry-standard extras labelled as such; the LoRa link, power budget and mesh logic are the project's real engineering.
On small Indian farms, irrigation decisions have no data behind them: the valve runs on a fixed schedule or on the farmer's judgement, so plots are alternately water-logged and stressed, borewell water and pump energy are wasted, and there is no record that could show what better scheduling would save. Commercial telemetry fixes exist but cost ₹8,000–15,000 per point plus a recurring SIM fee, which a two-acre holding cannot justify, and Wi-Fi-based student solutions do not cover an open field.
There is a need for a low-cost, no-recurring-fee monitoring mesh that measures soil moisture in several zones, carries the readings over hundreds of metres to a single mains-powered point using long-range low-power radio, survives field conditions on solar-charged batteries, and presents per-zone trends and simple irrigation alerts on a dashboard a farmer or a student team can actually read — turning published crop-water guidance into a daily, plot-specific decision.
Synopsis
Abstract
Small-holder farmers irrigate on habit and eyesight, over-watering some plots while others stress silently. This project builds a three-node LoRa mesh that reports soil moisture and temperature from different plots to a pump-shed gateway, with a Python dashboard turning readings into simple irrigation advice. A three-week soak test on a two-acre vegetable plot with solar-charged nodes produced measured link margins, packet-loss rates, sleep currents and discharge curves.
Introduction
A two-acre vegetable plot near the Hyderabad outskirts is typical of the target farms: drip laterals exist, but the valve runs a fixed time regardless of soil condition. Water is pumped from a borewell at real energy cost, and checking every zone twice daily costs the farmer time. Agronomy references such as FAO Irrigation and Drainage Paper 56 publish crop water requirements — knowledge that never reaches the valve. Schemes such as Per Drop More Crop push micro-irrigation hardware; what is missing is the data that says when to open the valve.
Existing System
Fixed-schedule drip: the valve runs a set time whether the soil needs it or not; over-irrigation leaches fertiliser and drains the borewell.
Touch-and-feel checks: crumbling soil between fingers twice a day; subjective and unrecorded.
Commercial GSM telemetry loggers: ₹8,000–15,000 per node plus recurring SIM cost — unrealistic for a two-acre holding.
Wi-Fi-based student projects: single node, single sensor — and Wi-Fi does not cross an open field.
Limitations: no per-zone data, no history, no alerting, and recurring costs a small farmer cannot justify.
Proposed System
Sensing: corrosion-free capacitive soil-moisture sensors at 15 cm depth in each zone, plus DS18B20 soil temperature, calibrated per sensor with dry-air and water references.
Nodes: Pro Mini 3.3 V in power-down sleep, watchdog wakeups, a 12-byte packet (node id, sequence number, battery voltage, moisture, temperature) transmitted at SF9 on 433 MHz.
Mesh: a store-and-forward relay extends coverage to the shaded far plot; a hop byte and sequence numbers give duplicate suppression without a routing protocol.
Gateway: ESP32 + RA-02 at the pump shed ACKs, deduplicates, buffers to local flash during laptop downtime, and batch-uploads over Wi-Fi.
Dashboard: Flask + SQLite shows per-zone moisture trends, battery health and irrigation alerts against crop-stage thresholds; CSV export feeds the report.
Feasibility Study
Technical: the SX1278 link budget at SF9 covers the ~600 m line-of-sight span on this class of farm, the relay closing the shaded path — verified by an on-site RSSI survey before hardware commit. All firmware sits on a documented open-source Arduino library for the SX1278.
Economic: about ₹5,800 one-time for three nodes, relay and gateway; zero recurring cost — solar-charged 18650 cells, no SIM. That is the decisive edge over GSM loggers.
Operational: the probe sits in the ground, the electronics in IP-65 boxes; the farmer reads one dashboard screen or a weekly printout. Risks — monsoon ingress, antenna damage, calibration drift — are designed out and re-checked in the soak test.
Objectives
01Sense volumetric soil moisture (capacitive probes at 15 cm depth) and soil temperature (DS18B20) in three zones of a small farm, each sensor individually calibrated with dry and wet reference points.
02Achieve a node sleep current under 50 µA with watchdog-timed wakeups, giving a measured node battery life of weeks on one 18650 cell under solar charging.
03Establish a reliable 433 MHz LoRa link at SF9 covering at least 600 m line-of-sight, and close a shaded non-line-of-sight path with a store-and-forward relay node carrying hop-byte and duplicate suppression.
04Implement packet framing with CRC, sequence numbers, gateway acknowledgement and bounded retransmission, and report measured packet-loss rates with and without the relay.
05Build an ESP32 gateway that deduplicates by node id and sequence number, buffers readings locally during Wi-Fi outages, and batch-uploads to the dashboard.
06Serve a Flask + SQLite dashboard plotting per-zone moisture trends, battery health and irrigation alerts against crop-stage thresholds, with CSV export.
07Run a three-week field soak test on a real plot, publishing link margins, loss rates, battery discharge curves and calibration drift in the report.
Scope
In scope
Three sensor nodes plus one relay and one gateway, one farm, 433 MHz short-range band with low transmit power and duty-cycled transmission.
Monitoring and alerting only — the system advises; it does not actuate valves.
One-hop store-and-forward meshing with duplicate suppression; no dynamic routing protocol.
Calibration and soak-test methodology with published measurements.
Out of scope (v1)
A LoRaWAN stack and network server (raw LoRa point-to-multipoint is used deliberately; LoRaWAN is future scope).
Valve or pump actuation, fertiliser dosing, and weather-station integration.
Security hardening beyond CRC and sequence checks — payload encryption (AES-128, as LoRaWAN would mandate) is listed as future work.
Multi-farm or cloud-hosted deployments; the dashboard is intentionally self-hosted on one laptop.
Methodology
The team followed the Spiral model, chosen because the dominant risks — radio range in the field, battery endurance and sensor calibration drift — can only be retired by real field iterations, and each spiral loop ends with an explicit risk review before the next loop's commitment.
Loop / Phase
Weeks
Activities
Risk retired / Deliverable
Loop 1 — bench & campus link
1–4
Node breadboard, sensor calibration rig, SX1278 driver bring-up, RSSI/SNR survey across campus at SF7–SF10, antenna choice
Link-budget risk: SF9 with 3 dBi whip closes 600 m with ≥10 dB margin
Loop 2 — field prototype
5–10
Two nodes + relay on the farm, solar sizing from measured load budget, gateway bring-up, ACK/retry and dedupe logic, dashboard v1
Coverage and energy risk: relay closes the shaded path; sleep current 38 µA measured
Reliability risk: loss <2% with relay; drift documented
Documentation & viva
15
Stage-II report, seminar, PPT, demo rehearsal
Submission
Test plan: unit tests per stage (sensor raw-value histograms, radio register read-back, RSSI survey sheets); integration tests (relay forwarding, duplicate rejection, ACK timeout retransmission, gateway buffer replay after Wi-Fi outage); system-level soak testing with daily field visits logging battery voltage, packet counters and a manual soil-check reference; and dashboard failover tests (laptop off overnight, gateway buffers, no data loss on reunion). Every case is recorded as ID, input, expected, actual, result.
Architecture & tech stack
1 diagram · 6 technologies · 2 min read
Embedded C (node and gateway firmware)
C (Arduino framework, ATmega328 / ESP32)
Python (Flask + SQLite dashboard)
LoRa 433 MHz (SX1278, RA-02 modules)
Arduino Pro Mini 3.3 V
ESP32 DevKit (gateway)
The system has three tiers: field nodes, a backhaul edge (relay + gateway), and a self-hosted dashboard. Nodes spend almost their whole life in power-down sleep; on watchdog wakeup they read the capacitive sensor through the ADC and the DS18B20 over 1-Wire, build a 12-byte frame — node id (1 B), sequence number (2 B), battery mV (2 B), moisture % (2 B), temperature ×10 (2 B), hop byte (1 B), CRC-8 (1 B) — and transmit at SF9. After transmitting, the node listens 2 s for an ACK; three silent retries are logged with the packet counter so the report can quantify link quality. The relay node runs a store-and-forward queue: packets whose hop byte is 0 are retransmitted with hop set to 1, and sequence numbers let the gateway reject duplicates.
The gateway (ESP32 + RA-02) ACKs directly-heard nodes, feeds the relay's queue when it forwards, writes every accepted reading to local flash, and batch-POSTs to the dashboard over Wi-Fi every five minutes, replaying buffered batches after outages. The dashboard keeps readings, nodes and alerts tables in SQLite, renders per-zone moisture and battery trends with an open-source charting library, computes alerts against crop-stage thresholds, and exports the CSV used in the report.
flowchart TD
ZA["Zone A node: Pro Mini 3.3V + RA-02 + capacitive probe + DS18B20"] -->|433 MHz LoRa SF9| GW["Gateway: ESP32 + RA-02 at pump shed"]
ZB["Zone B node (far, shaded plot)"] -->|LoRa hop 0| REL["Relay node: store & forward, hop set to 1"]
REL -->|LoRa hop 1| GW
GW -->|ACKs + dedupe by node id + seq| GWBUF["Local flash buffer (survives Wi-Fi outage)"]
GWBUF -->|Wi-Fi, HTTP POST batch every 5 min| SRV["Flask + SQLite on farm laptop"]
SRV --> UI["Dashboard: moisture trends, battery health, irrigation alerts, CSV export"]
SOL1["6V solar + TP4056 + 18650"] -.->|charges| ZA
SOL2["6V solar + TP4056 + 18650"] -.->|charges| ZB
MAINS["Pump-shed mains + 5V adapter"] -.->|powers| GW
All firmware is Embedded C on the Arduino framework; the only Python lives on the dashboard side. The 12-byte frame and its field order are documented so any node, relay or gateway can be reimplemented independently — the test that keeps the team honest about the protocol.
Modules
5 modules
Module 01
Sensor Node Hardware & Power (Member 1)
Owns the Pro Mini 3.3 V node design: capacitive probe calibration (air/wet reference points per sensor), DS18B20 burial at 15 cm, removing the power LED and regulator quiescent drain, the 6 V solar + TP4056 + 18650 charge chain sized from a measured load budget, and the sleep-current measurement (target <50 µA, achieved 38 µA).
Module 02
LoRa Link & Mesh Protocol (Member 2)
Owns the SX1278 configuration (SF9, bandwidth, coding rate, 433 MHz channel), the 12-byte frame with CRC-8 and sequence numbers, ACK wait and bounded retransmission, and the relay node's store-and-forward queue with hop-byte handling and duplicate suppression — plus the RSSI survey and packet-loss statistics that justify every setting.
Module 03
Gateway (Member 3)
Owns the ESP32 + RA-02 receiver: deduplication by node id and sequence number, direct ACKs to directly-heard nodes, local flash buffering with a write-pointer scheme for Wi-Fi outages, NTP time-stamping on ingest, batch POST every five minutes with replay, and a watchdog so the gateway self-recovers.
Module 04
Dashboard & Irrigation Advice (Member 4)
Owns the Flask routes, SQLite schema (nodes, readings, alerts), the per-zone moisture and battery trend charts, threshold alerts per crop stage with a deadband to avoid alarm flapping, CSV export, and the soak-test analysis plots (loss rate, RSSI, discharge curves) used in the report.
Module 05
Field Deployment & Soak Testing (shared)
The whole team runs the site survey, mounts antennas above canopy, buries probes at root-zone depth in three zones, executes the three-week soak with daily logs, and co-writes the findings chapter with the farmer's feedback on usefulness of the alerts.
Slides
13 slides · titles free · bullets, notes and the .pptx unlock
Slide 1
LoRa Soil-Moisture Monitoring Mesh with Gateway and Dashboard
Slide 2
Motivation
Slide 3
Problem Statement
Slide 4
Existing vs Proposed System
Slide 5
Why LoRa?
Slide 6
System Architecture
Slide 7
Mesh & Reliability Design
Slide 8
Power Design
Slide 9
Sensing & Calibration
Slide 10
Testing
Slide 11
Field Results
Slide 12
Individual Contributions
Slide 13
Conclusion & Future Scope
Bullets, speaker notes and the .pptx · ₹2,000
The titles above are the real outline. The rest is what you present from.
Read each answer, close it, and say it in your own words. Your viva will ask. Now you'll know.
01Concept
What is LoRa and how does chirp spread spectrum give it range?
LoRa is a proprietary physical layer using chirp spread spectrum: the data symbol is spread across a chirp sweeping a wide bandwidth, so the receiver can decode signals well below the noise floor. The spreading factor sets how many chirps encode a symbol — SF9 gains roughly 10 dB of link budget over SF7 at the cost of airtime — which is exactly the trade we chose for 600 m with margin.
02Concept
Why is your design a store-and-forward mesh rather than a full routing protocol?
Our topology is one fixed far node that cannot reach the gateway, so a full routing protocol like AODV would be over-engineering for a single hop. Store-and-forward with a hop byte and sequence numbers solves the actual problem — reachability plus duplicate suppression — while keeping the relay simple enough to run on the same Pro Mini hardware and be fully testable with scripted packet sequences.
03Concept
Why capacitive soil-moisture sensors instead of resistive ones?
Resistive fork sensors drive current through the soil and their exposed electrodes electrolyse and corrode within weeks, so their readings drift until they are useless. Capacitive probes measure the dielectric-permittivity change of the surrounding soil from behind a sealed PCB, do not corrode, and gave us stable calibration over the three-week soak — which the report's drift table shows.
+14 more questions, with answers
Try the free ones out loud first. Your examiner will not accept “it's in the PPT”.
Michael J. Pont, Embedded C, Addison-Wesley (Embedded Systems series)
Cite this bundle
OnlyProjects. (2026). LoRa Soil-Moisture Monitoring Mesh with Gateway and Dashboard for Small Farms (Embedded C, Python): B.Tech / B.E. Electronics & Communication project bundle [Educational resource]. https://onlyprojects.online/projects/btech-ece-lora-soil-moisture-mesh-gateway-dashboard
Future scope
1 min read
LoRaWAN migration to the Indian 865–867 MHz band with a proper network server, device profiles and AES-128 security, ideally via a community gateway deployment.
Valve automation: a latching solenoid driver on each node so the dashboard's advice closes the loop into scheduled micro-irrigation.
More agronomy inputs: soil EC/pH probes and a rain-gauge node, extending the frame format without breaking old gateways (version byte is reserved).
Crop-model scheduling: replace fixed thresholds with FAO-56-based water-balance scheduling using local weather data, in consultation with the local KVK.
Fleet features: OTA firmware updates over LoRa for the nodes and a multi-gateway setup for larger farms.
Keep browsing
More B.Tech / B.E. Electronics & Communication projects
Same degree, same syllabus slot, different idea. Pick the one your guide will actually approve.