Skip to content
CropSentryPublic

About

A fully autonomous plant disease/condition detector that runs on solar power and features LoRa capability.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

43 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌱 CropSentry

A fully-autonomous plant disease/condition detector that runs on solar power and features LoRa capability.

Introduction Image 1


🔧 What It Is

CropSentry is an IoT device that automatically and autonomously tracks plant conditions, including VOC, temperature, soil moisture, gas, and humidity. It sits alone in a field and can monitor multiple crop sections at once. We see that through this process, an AI/ML model can use this data to determine the plant’s in-the-moment state, as well as provide an educated and accurate summary of what can show as a potential risk.

The data path of how info will get to a user will start from the on-board module. (Cai Griffith) From there, it sends information via a LoRa connection to another board that is connected to a Wi-Fi router. The board will then send data over Wi-Fi to a high-power server (https://gear.museumofaviation.org/tech-specs/) and will compute all readings with an AI/ML system. (Jay Patel) After it’s been computed, the server will send the translated data to the CropSentry app. (Aahan Patel) From there, the user can read charts, numbers, and an AI summary of the condition of their crop.

To summarize:

  • It's a plant disease/condition detector.
  • It's a module that sends collected crop data to a powerful server for compute.
  • It's a system of sensors full of cross-checking for accuracy.

🚗 Drive

CropSentry solves a real problem. Farmers all over the world need to constantly check their plants and make sure everything is doing well on a daily basis. According to statistics, over 20-40% of crops are lost per year due to disease and environmental factors. It also says that an estimated 63+ tons of crops and 220 billion dollars are lost because of this.

With CropSentry, checking your crops/plants becomes automated, and you can do it all from your phone.

We see farmers as the cornerstone of our tech-evolving world, and we believe that a design like this could be very beneficial in the agricultural system.


⚙️ How It Works

The board chosen for the hardware design is the Heltec LoRa V3 due to its high-level radio capabilities and adjustable range/power accessibility.

  • SGP41: Detects VOC/NOx air pollution over a period of time using its metal-oxide sensor abilities. Sends data through Sensirion’s built-in VOC-translating algorithm. Primary gas sensor for accurate readings. Chosen for its ability to collect accurate information under low power and time.
  • BME688: Looks specifically for temperature and humidity, but also serves as a secondary VOC sensor. Since VOCs are hard to track accurately, the BME688 can serve as an additional cross-check. Chosen for its high versatility and efficiency.
  • SHT45: Serves as the ambient system for temperature and humidity sensing. I also see this as another cross-check system, but it still carries weight in how data is calculated for the user. Chosen due to its low power draw, reduced pins, and sensor cross-checking abilities.
  • Capacitive Soil Moisture Probe: Detects soil moisture and processes all data on an ADC pin using analog information. I chose to use capacitive so the design wouldn’t corrode or get damaged during deployment.

Each sensor except the Soil Moisture Probe is connected via I2C Connection. The Soil Moisture Probe is connected to GPIO 2 to receive analog signals.


🔋 Power System

6V 3W panel ──> Schottky ──> CN3065 charger ──> protected 18650 ──> Heltec VBAT
                                                       │
                                            load runs off the same node

💡 Design Decisions and Potential Concerns

  • Range: This can be a concern, as we are not completely sure how far the LoRa system/data will transmit. This would mostly be because we are still working on designing the model (10/8/2026) and are not able to go into the testing phase yet.
  • Inaccurate Readings: Specifically in the VOC/NOx sensors, where there is vulnerability due to them needing to be tested over time. We are virtually trusting the sensors’ datasheets to determine our readings.
  • Water Leaking: Rainwater (especially heavy rainwater) has a possibility of breaking through the 3D-printed layer protecting the circuits. We are actively looking for a solution to this concern and are considering using remedies such as rubber seals, CNC-milled products, and absorbent material.
  • Calibration: We are also relying on the datasheet for accurate calibration of all sensors. Similar to the BME688, we are taking multiple readings and using the median. We also have an embedded safeguard to not send data that is unrealistic and not plausible, such as, for example, a temperature reading showing as -200 Celsius.
  • Frequency: I decided, on much advice and legal regulations, to go with the 902-928 MHz band, which is also known as the ISM band (Industrial, Scientific, and Medical band).
  • Coding Libraries: For the hardware coding, I used the heltec_unofficial.h, WiFiManager.h, HTTPClient.h, Wire.h, Adafruit_BME680.h, and Adafruit_SHT4x.h libraries.
  • GPIO Decisions: The Heltec LoRa V3 comes with two usable I2C buses, one on GPIOs 17-18, and the other on 41-42. On the standard V3 board, the 17-18 pins are hidden and not conveniently usable (with the exception of not using the OLED address, 0x3C). However, in this situation, we have the V3.2 module, which hides pins 17-18 directly for the display. Because of this, I decided to use pins 41-42 for the I2C bus.

📐 Schematic Images/PDF

Schematic PNG

View Schematic on KiCanvas


🛠️ CAD Images/3D Models

CAD Image 1

3D Model Image 1

3D Model Image 2


📋 Bill of Materials

Part Role Qty Cost Status
SGP41 Primary VOC/NOx index sensor 1 $14.99 ✅ Purchased
BME688 Secondary gas + temp/humidity/pressure 1 $20.89 ✅ Purchased
SHT45 Ambient temp/humidity reference 1 $14.99 ✅ Purchased
Capacitive soil probe (EK1940, 2pk) Soil water content, corrosion resistant 1 $9.99 ✅ Purchased
Heltec ESP32 LoRa V3 (w/ 1100 mAh cell + antenna) MCU + SX1262 LoRa radio 2 $26.49 ✅ 1 Purchased · 1 Donated
ZPSHYD 6V 3W solar panel Monocrystalline, 145 × 145 mm 1 $14.59 ✅ Purchased
XINLANTECH 18650 2600 mAh Protected Li-ion, built-in BMS 1 $11.72 ✅ Purchased
CN3065 solar charge module (3pk) 500 mA solar Li-ion charger 1 $6.99 ✅ Purchased
XT60 switch Battery disconnect 1 $8.99 ✅ Purchased

Budget

Line Submitted Actual Δ
Subtotal $137.63 $129.64 -$7.99
Tax (7%) $9.78 $9.23 -$0.55
Total $147.41 $138.87 -$8.54
Spent so far $77.43 $77.43 —
Remaining $69.98 $61.44 -$8.54

All on-hand pieces are CURRENTLY funded by me and other contributors; any money received from Stardance will go towards buying more parts needed and covering part expenses. Due to shipping and time concerns, I had to purchase parts myself to be able to continue building CropSentry on a strong timeline.


⚡ Visual Data Flow

Architecture diagram of cropsentry/hardware

Architecture diagram

Diagram Image 1 Diagram Image 2


🔨 Building it Yourself

Make sure you have these libraries installed in your IDE/codespace: heltec_unofficial.h v.9.2, WiFiManager.h v2.0.17, HTTPClient.h v.6.1, Wire.h v3.3.12, Adafruit_BME680.h v2.0.6, and Adafruit_SHT4x.h v1.0.5.

In the receiver module code, change line 121 to your server link.

After that, make sure to plug in and run the receiver board code first; make sure to use the interactive Wi-Fi portal to connect the board to your router (You can do this by connecting to the board Wi-Fi from your device).

When the receiver board is set up, you can plug in and start the mainboard, which will automatically collect readings and send data to the receiver board.

Once that's done and all your devices are connected, everything is automated on a set timeframe, given there are no concurrent issues.


📄 Extra Information

  • All CropSentry Hardware is coded in C++

  • The receiver code has an example link for where the server link is supposed to go due to security concerns. You must change this to send information to a server.

  • CropSentry is a three-person project built for the Congressional App Challenge and approved as a research project through the Middle Georgia State University CyberKnights Program.

  • All work regarding software, hardware, and planning is all designed by our team (only high schoolers).

  • We do have mentors who only give advice, but all work is done by us.

Please also keep in mind that some of the files on here, such as code or 3D models, may have inaccuracies, as this is a work in progress. We are still in beta testing and are actively fixing these errors.


🎬 Presentations given at Middle Georgia State University CyberKnights Program

Public link to presentation created for a research meeting: Presentation View Link

Public link to presentation created for an update at a research meeting (9-28-2026): Presentation View Link


🏆 Credits


🖼️ Additional Images

Drawing Image 1 Drawing Image 2 CAD Image 2 CAD Image 3 CAD Image 4 Work Image 1 Work Image 2 Work Image 3

About

A fully autonomous plant disease/condition detector that runs on solar power and features LoRa capability.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages