Project Info
This project did not submit a demo video on Devpost.
Inspiration
Agriculture is one of the cornerstones of California's economy. As the largest agricultural producer in the United States, California generates over $61 billion in annual agricultural output and exports nearly $24 billion worth of agricultural products each year. Despite its scale, modern agriculture faces significant challenges that reduce crop yields and profitability. Plant diseases are estimated to cause 10–16% of global crop losses annually, while pests, invasive weeds, labor shortages, and insufficient field monitoring contribute to billions of dollars in additional agricultural losses. Farmers often need to manually inspect large areas of land, making it difficult to identify problems quickly and efficiently. We wanted to create a solution that could automate crop monitoring, provide actionable insights, and help farmers make better decisions while reducing manual workload. This challenge inspired us to build Acre, an intelligent crop scouting and farmland surveillance platform designed to modernize agricultural monitoring through edge computing and automation.
What it does
Acre is a crop scouting and surveillance system that continuously monitors farmland to help farmers detect issues before they impact yields. The platform can: Detect and identify weed growth throughout fields Monitor crop health and field conditions Track pesticide and treatment applications Provide centralized monitoring of farmland operations Generate actionable insights to support farm management decisions Acre performs its analysis locally on QNX, allowing it to operate reliably even in remote agricultural environments with limited or unreliable internet connectivity. This makes it particularly well-suited for farms where cloud-based solutions may not always be practical.
How we built it
We built Acre by combining embedded systems development, computer vision, AI-powered analytics, and real-time data processing into a unified platform. The system collects information from cameras and field sensors deployed throughout the farm. Computer vision models analyze captured images to identify weeds and monitor crop conditions, while additional monitoring systems track field treatments and pesticide usage. All processing is performed locally on hardware running QNX, enabling low-latency decision making and reducing dependence on cloud infrastructure. To present information in an accessible way, we developed a monitoring interface that aggregates field data and provides farmers with a clear view of farm conditions and potential issues requiring attention.
Challenges we ran into
One of the biggest challenges was integrating multiple components, including sensors, cameras, AI models, and embedded software into a cohesive system also required significant testing and debugging to ensure reliable communication and data processing.
Accomplishments we're proud of
We are proud of successfully creating a complete edge-based agricultural monitoring platform that can operate independently of cloud connectivity. Some of our key accomplishments include: Developing an automated crop scouting system capable of monitoring large areas of farmland Successfully deploying the platform on QNX for reliable edge operation Integrating computer vision to automate weed detection and crop monitoring Creating a centralized dashboard that simplifies farmland oversight Demonstrating how embedded AI can be applied to real-world agricultural challenges Most importantly, we built a solution that addresses a meaningful problem and has the potential to improve efficiency for farmers operating in remote environments.
What we learned
Throughout the project, we gained valuable experience in embedded systems development, edge AI deployment, and real-time data processing. We learned how to optimize computer vision workloads for resource-constrained hardware, how to design software for unreliable network environments, and how to integrate multiple sensing technologies into a single platform. We also gained a deeper understanding of the challenges faced by modern agriculture and the importance of building technology that is both practical and reliable in real-world deployments. Working with QNX also gave us insight into developing applications for mission-critical systems where stability, fault tolerance, and deterministic performance are essential.
What's next
Moving forward, we plan to expand Acre's capabilities by incorporating additional agricultural analytics and predictive intelligence. Future improvements include: Advanced crop disease detection using AI models Yield prediction and crop growth forecasting Automated irrigation recommendations based on environmental data Drone integration for large-scale field coverage Historical trend analysis and reporting tools Expanded support for additional sensor types and monitoring equipment Our long-term vision is to transform Acre into a comprehensive smart farming platform that empowers farmers with real-time insights, reduces manual labor, and helps maximize agricultural productivity through intelligent edge computing.
Acre — Handheld Plant Scanner
A field-deployable, offline-first AI plant scanner for the AI Hackathon @ Berkeley 2026.
You carry Acre and point it at a plant. On-device, it identifies the plant, detects disease and pests, and computes a 0-100 health score — then lights an LED on the Raspberry Pi: green = healthy, red = needs treatment. The red LED is the spray-substitute ("treat this one"). Everything intelligent runs locally on the Pi 5 / QNX board; the cloud is reporting-only (map, pesticide list, AI summary).
See the full spec in docs/Acre_PRD.md.
QNX Pi + laptop demo (friend's setup): docs/DEMO_RUNBOOK.md
Architecture: local does the thinking, cloud does the reporting
flowchart LR
subgraph edge [On device: Pi 5 + QNX, fully offline]
cam[Pi Camera Module 3] --> det[YOLOv8n + disease/pest classifiers, ONNX]
det --> score[Per-plant health score]
score --> ledNode[Red/Green LED on Pi GPIO]
score --> db[(Local SQLite, RTC-stamped)]
end
db -->|opportunistic sync| apiNode[Cloud API]
subgraph cloud [Cloud: reporting only, no inference]
apiNode --> pg[(Postgres / SQLite)]
pg --> webNode[Web map + report]
pg --> mon[Arize / Poke]
end
Repo layout
| Path | What it is |
|---|---|
| docs/Acre_PRD.md | Product requirements document |
edge/ | On-device pipeline: capture, ONNX detection, classifiers, ArUco zones, health score, GPIO LED, SQLite, sync agent |
models/ | Off-device training + ONNX export for the 3 models |
cloud/ | FastAPI reporting backend (sync ingest, aggregation, Claude summary) |
web/ | Next.js dashboard: farm map, pesticide table, AI summary |
cloud/integrations/ | Optional Arize (monitoring) + Poke (conversational report) |
Quickstart
1. Edge (runs on a laptop too, with stubs)
pip install -r requirements.txt
python -m edge.main --once # single scan: prints finding + LED state
python -m edge.main # continuous handheld scan loop
python scripts/webcam_farm_demo.py # webcam + press F → live health report in browser
On a dev laptop with no camera/models it uses synthetic frames, disables missing
model stages, and prints LED states. On the Pi it lights the real LED via GPIO.
Set ACRE_SENSORS_ENABLED=1 to include the optional environmental sensors.
2. Cloud (reporting API)
pip install -r cloud/requirements.txt
python -m cloud.seed # farm + zones + UC IPM + demo data
uvicorn cloud.app.main:app --reload --port 8000
Point the device at it: ACRE_BACKEND_URL=http://<host>:8000/api/sync.
Defaults to local SQLite; set ACRE_DATABASE_URL for Postgres/Supabase.
3. Web dashboard
cd web
npm install
cp .env.example .env.local
npm run dev # http://localhost:3000
4. Train the models (off-device)
cd models
pip install -r requirements-train.txt
python train_detector.py --data data/weed_crop/data.yaml --epochs 50
python train_disease_classifier.py --data data/plantvillage --epochs 15
python train_pest_classifier.py --data data/ip102_subset --epochs 15
# -> artifacts/*.onnx copied to the Pi; edge/detect.py loads them
Key environment variables
| Var | Default | Used by |
|---|---|---|
ACRE_BACKEND_URL | http://localhost:8000/api/sync | edge sync agent |
ACRE_HEALTH_THRESHOLD | 70 | edge LED green/red cutoff |
ACRE_SENSORS_ENABLED | 0 | edge optional sensors |
ACRE_DATABASE_URL | sqlite:///./acre_cloud.db | cloud DB |
ANTHROPIC_API_KEY | (unset → offline summary) | cloud AI summary |
NEXT_PUBLIC_ACRE_API | http://localhost:8000 | web app |
Hardware (handheld build)
Pi 5 (QNX) + Pi Camera Module 3 (CSI) + RGB LED & buzzer & 1602 LCD on Pi GPIO + DS1302 RTC. No servo, no laser, no Arduino on the critical path — the LED replaces the laser/spray. Full inventory and wiring rationale in the PRD (sections 5-7).
Analysis
View
Metric
- 6
- 6
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- AnthropicIn code
- CSSIn code
- FastAPIIn code
- HTMLIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- SQLIn code
- TypeScriptIn code
- CClaimed
10 of 11 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
- CursorCommits
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
251 KB
Source files
69
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
ArpitKhavate/Acre
89 files · 13.1 MB · @ 10a89d7
Structure
Interface
14 files · 16%Screens, components and styles rendered to the user.
Application logic
27 files · 30%Domain rules, services and shared utilities.
Data & schema
18 files · 20%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python67%
- Markdown22%
- HTML4%
- TypeScript3%
- Shell2%
- CSS1%
- Other (2)1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
cloud/requirements.txt
pypi · 7- anthropic
- fastapi
- psycopg[binary]
- pydantic
- requests
- sqlalchemy
- uvicorn[standard]
web/package.json
npm · 7- next
- react
- react-dom
- +4 more
requirements.txt
pypi · 4- numpy
- onnxruntime
- opencv-contrib-python
- requests
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.