Low-power LoRaWAN soil-moisture node with a battery-life budget
Design a soil-moisture node that reports every 30 minutes over LoRaWAN for two years on two AA cells: calibrate the sensor, write sleep-first firmware in a simulator, design the payload, and prove the battery life with numbers.
Industry project · for Krishna Valley Farmer Producer Company, a co-operative of 1,100 grape and sugarcane growers near Sangli, Maharashtra
Krishna Valley's growers irrigate by habit, often twice as much as the vines need, and the co-operative's agronomist believes they could save a third of their pumping water and electricity. To prove it, she wants 60 soil-moisture nodes spread across 20 farms in a pilot, each reporting every 30 minutes to two LoRaWAN gateways already on the co-operative's office and cold store, 3 to 5 km away.
Her constraints are practical: - each node runs on two AA lithium cells and must last at least two years without a visit, because nobody will walk the rows changing batteries; - the node cost, without the enclosure, must stay under ₹2,500; - readings must be within ±3% volumetric water content after calibration for the region's black cotton soil; - the nodes must use the IN865 LoRaWAN band and stay within the network's fair-use airtime.
You will write the requirements, calibrate a capacitive soil-moisture sensor against soil samples you prepare at home, write the firmware in Wokwi or on any Arduino-compatible board you own, design a compact payload, calculate airtime for each spreading factor, and build a battery-life model from datasheet currents. You do not need LoRa hardware. The radio is represented by a stub in the simulator, and its current and airtime come from the datasheet and the LoRa airtime formula.
Done looks like a node design the co-operative's electronics vendor can build: requirements, calibration curve with error, firmware that spends almost all its time asleep, a payload of a few bytes with a decoder, an airtime and duty-cycle table, a battery-life estimate with its assumptions and a pilot plan. If two years is not reachable at the worst spreading factor, say what has to give.
Requirements + calibration report + firmware (Wokwi project link or repo) + payload and airtime document + battery-life model + pilot plan
Stack: Wokwi simulator (or any Arduino-compatible board), Arduino or PlatformIO, Python (numpy, matplotlib), LoRa radio and MCU datasheets, A capacitive soil-moisture sensor (optional)
- Clear requirements15
Reporting interval, accuracy, battery life, cost, band and airtime limits are written as measurable requirements.
- Honest calibration20
The sensor is calibrated against prepared soil samples with gravimetric water content, and the error after calibration is reported against the ±3% target.
- Sleep-first firmware20
Firmware wakes, powers the sensor, averages readings, sends a payload and returns to sleep, with active time measured and kept short.
- Correct airtime and payload20
Payload is a few bytes with a working decoder, and airtime is calculated with the LoRa formula for each spreading factor against the fair-use limit.
- Defensible battery life25
Battery life is calculated from datasheet currents for every state, with self-discharge and temperature derating, and the two-year target is shown met or the trade-off stated.
Pass 60% · Merit 75% · Distinction 90%
Engineering Students
Diploma, B.Tech, B.E., BCA, MCA, or M.Tech students seeking practical experience.
Aspiring Developers
Developers who want to build proof-of-work capstone projects for tech resumes.
Job Seekers
Graduates looking for AI-evaluated code review & verified industry credentials.