A fully-autonomous plant disease/condition detector that runs on solar power and features LoRa capability.
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.
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.
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.
6V 3W panel ──> Schottky ──> CN3065 charger ──> protected 18650 ──> Heltec VBAT
│
load runs off the same node
- 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.
| 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 |
| 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.
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.
-
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.
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
- Hardware, power system, enclosure, and node firmware: Cai Griffith — https://github.com/CropSentry/Hardware
- Application and server backend/frontend: Aahan Patel — https://github.com/CropSentry/MobileApp
- ML Design and backend: Jay Patel — Building ML Model; kept private in CropSentry














