A curated list of awesome open source technology for agriculture, farming and gardening. Pull requests welcome!
Agriculture is the science and art of cultivating plants and livestock for food and materials. This list covers open source robotics, hardware, data, modelling and software for farms and growers.
Contributions welcome! Please follow the contributing guidelines. Repos updated over a year ago can be found in Legacy
Star and commit badges are only shown for single repositories. Organisation links and non-GitHub projects have none.
| Project Name | Description |
|---|---|
| amiga-dev-kit |
Development kit for third-party hardware and software extensions to the farm-ng Amiga rover. |
| bonsai-sdk |
SDK for interacting with the Bonsai Robotics Amiga through ROS 2. |
| farmbot-arduino-firmware |
Arduino firmware executing g-code like commands over serial to move the FarmBot and operate the tool mount. |
| farmbot-js |
JavaScript wrapper for FarmBot’s authentication and RPC instructions. |
| farmbot-py |
Authentication and communication utilities for FarmBot, Python. |
| FarmBot-ROS | Open source farming robot. |
| Farmbot-Web-App |
Setup, customize and control FarmBot from any device, TypeScript. |
| farmbot_os |
Embedded OS handling motor axes, watering tools and sensors on FarmBot hardware. |
| feldfreund_devkit |
Development platform for autonomous weeding. |
| Fields2Cover |
Robust and efficient coverage paths for autonomous agricultural vehicles. |
| JABAS.AI | ROS 2 repositories including graph-based topological navigation for crop-row layouts. |
| librcom |
ROMI rcom library, C++. |
| lizard |
Domain-specific language for real-time motor control and E-stop logic on microcontrollers. |
| romi-apps |
Applications for the ROMI system: CNC, camera, gimbal, cablebot, rover. |
| romitask |
ROMI task runner, a Luigi based task pipeline. |
| rosys |
Asynchronous Python framework for web GUI and state handling on mobile robots, used for field rovers. |
| Sowbot |
Line-following sowing and weeding robot with some web UI tools. |
| trellis |
General-purpose middleware framework for distributed applications, by Agtonomy. Not ROS-based. |
| Project Name | Description |
|---|---|
| frostline |
Dataset, API and Python parser for USDA plant hardiness zones. |
| GSODR |
Global summary daily weather data in R. |
| iem |
Code that makes the Iowa Environmental Mesonet run. |
| OpenAgri-IrrigationManagement |
Evapotranspiration calculations and soil moisture analysis. |
| OpenAgri-WeatherService |
Weather forecasts and critical agricultural indicators. |
| pyTSEB |
Python two-source energy balance model for estimating evapotranspiration from remote sensing data. |
| soilDB |
R library for simplified access to NCSS soil databases. |
| Project Name | Description |
|---|---|
| ApsimX |
Next-generation APSIM framework for agricultural system simulations, C#. |
| AquaCrop |
Python implementation of AquaCrop-OS for crop growth and water use. |
| Awesome Crop Models |
Curated list of open source crop models, process models, tools, applications and data-driven models. |
| DSSAT |
Cropping-system simulations across crops, soils, weather and management, Fortran. |
| Open Plant Pathology (GitHub organisation) | Community for open data and computational tools in epidemiology and pathogen population biology and ecology. |
| opensource-pestmodels |
Hierarchical pest and disease modelling framework (13 models, 19 crops, 54 threats) with Python wheel, FastAPI and MCP server. |
| PCSE |
Python environment for running crop growth and production models. |
| plant-3d-explorer |
Browser application to visualise 3D scanned plants. |
| plant-3d-vision |
Digital reconstruction and phenotypic quantification of plant phyllotaxis. |
| plant-imager |
Library controlling the PlantImager (hardware) or the VirtualPlantImager (Blender) to acquire images of single potted plants. |
| Plant-Imager3 |
Plant imager software, Python. |
| plantdb |
Database to host and serve images and processed data. |
| romicgal |
Python CGAL bindings for skeletonisation. |
| skeleton_refinement |
Plant skeleton optimisation using a stochastic framework on point cloud data. |
| Project Name | Description |
|---|---|
| Agriculture Datasets Collection | Curated machine learning datasets addressing food security in developing regions. |
| CEAOD (GitHub repository) |
Controlled Environment Agriculture Open Data: standardised greenhouse and indoor farming datasets with analysis tools. |
| digital-agriculture-datasets |
Open datasets for training and benchmarking AI and robotic systems in agriculture and off-road environments. |
| FAO/NASA Harvest Crop Type Dataset | Ground truth crop type observations with geolocated field data for training and validating cropland classification models. |
| Growstuff (GitHub repository) |
Record keeping and crop database with a good API. |
| PlantVillage | Leaf images of healthy and diseased plants, 38 disease classes across 14 crops. |
| TERRA REF (GitHub organisation) | 1 PB of public domain, high resolution sensor data from sorghum breeding trials. Data publication, with large files on Globus (ncsa#terra-public). |
| US Farmers Market Statistics 2026 | USDA-derived farmers market statistics, CC BY 4.0. |
| USDA Market Prices |
Daily boxed beef, pork and fed cattle prices from USDA AMS price reports since 2020, downloadable as CSV. |
| VarshaKrishi Field NDVI |
One year of Sentinel-2 L2A field-mean NDVI for a field near Katol, Nagpur, India, with cloud verdict and haze flag per pass. CSV and JSON, CC BY 4.0. |
| Project Name | Description |
|---|---|
| ADAPT-Visualizer |
Windows Forms diagnostic tool for the ADAPT Framework, C#. |
| AgIsoDDOPGenerator |
Free ISO11783 DDOP editor based on AgIsoStack++, C++. |
| AgIsoDevelopmentTools |
AgIso development tools, C++. |
| AgIsoStack-plus-plus |
Free open-source C++ ISOBUS library (ISO11783/J1939 CAN stack), MIT. |
| AgIsoTerminalDesigner |
Experimental GUI for designing and modifying VT object pools, Rust. |
| AgIsoVirtualTerminal |
Experimental ISO11783-6 Virtual Terminal (VT) server GUI based on AgIsoStack++, C++. |
| ar2 |
Asset Registry 2: hub and spoke model. |
| ar2-hub |
Hub component for Asset Registry 2. |
| asset-registry |
Registers a geospatial asset (typically a polygon) and returns a unique GeoID; Flask, AR 1.0. |
| Botanica |
Rust crate for botanical data management with taxonomic hierarchy, cultivation tracking and Darwin Core compliance. |
| cli |
Pipeable OADA CLI client. |
| cotton-gin-data-plugin |
ADAPT Framework import-only plugin for cotton gin data, developed with Cotton Inc., C#. |
| Data Food Consortium |
Open data standard (ontology, JSON-LD, LDP, OIDC) for interoperability between platforms used by producers in short food supply chains. |
| dataModel.Agrifood |
Smart Data Models for agrifood: harmonised schemas for farms, parcels, crops, operations and greenhouse records. |
| formats |
Simplified approach to OADA formats using JSON Schema. |
| ISOv4Plugin |
ADAPT Framework plugin for ISOXML (ISO11783-10), C#. |
| MyJohnDeereAPI-OAuth2-Java-Example |
Java MyJohnDeere API client example. |
| MyJohnDeereAPI-OAuth2-NodeJS-Example |
Node.js MyJohnDeere API client example. |
| oada-error-js |
OADA standard error middleware. |
| oadaify |
Make OADA data nicer to work with in JS/TS. |
| OpenAgri-Bootstrap-Deployment |
Modular configuration and deployment of all OpenAgri services. |
| OpenAgri-GateKeeper |
JWT-based authentication and access proxy. |
| OpenAgri-OCSM |
OpenAgri Common Semantic Model. |
| OpenTeam | Open technology ecosystem for agricultural management. |
| pancake |
AI-native geospatial datastore and DPI services: field ownership grants as SD-JWT credentials, signed audit ledger, scheduled vendor data ingestion. |
| SawitDB |
Node.js database engine built for data sovereignty. |
| semantic-croissant |
Semantic Croissant infrastructure, forked from codata/semantic-croissant. |
| server |
Reference implementation of an OADA-conformant API server, TypeScript. |
| Standard |
ADAPT Standard: data schema for farm reference data, field operations and geospatial layers, for B2B data sharing. |
| StandardPlugin |
ADAPT Framework plugin to convert data to the ADAPT Standard, C#. |
| user-registry |
User accounts, JWT issuance and API keys for AR 1.0. |
| Project Name | Description |
|---|---|
| AgriOS |
Odoo 18 farm management addons: farmers, plots, trade and training (AGPL-3). |
| Canopi |
Agroecological design for permaculture, syntropic agriculture and food forests, with a plant catalog and geolocated map canvas. Rust and TypeScript, AGPL-3.0. |
| Ekylibre |
Farm management information system for farmers and small enterprises, Ruby on Rails and PostgreSQL/PostGIS. |
| farmOS |
Web-based farm record keeping application built with Drupal and PHP. |
| GrowerHub |
Greenhouse and small-farm management: Zigbee2MQTT monitoring, plant and watering journals, lighting and irrigation automation. |
| HortusFox |
Self-hosted, collaborative plant management and journaling app. |
| inatrace |
Meta repository linking the INATrace backend, frontend, mobile and blockchain components; blockchain-based track and trace for supply chains. |
| inatrace-backend |
Java/Spring backend. |
| inatrace-coffee-network |
Blockchain smart contracts for the coffee supply chain. |
| inatrace-frontend |
Angular frontend. |
| inatrace-mobile |
Mobile app for farmer data collection. |
| LiteFarm |
Community-led, not-for-profit farm management system. |
| OpenAgri-FarmCalendar |
Digital farm calendar for operations, observations, parcels and assets. |
| OpenAgri-ReportingService |
PDF report generation for agricultural data visualisation. |
| Plant-it |
Self-hosted gardening companion app. |
| tracefoodchain |
Flutter app and web app for tracing goods along food production chains. |
| Project Name | Description |
|---|---|
| Awesome GIS |
Curated list of GIS related sources. |
| Project Name | Description |
|---|---|
| QGIS (GitHub repository) |
Free, open source, cross-platform (Linux, Windows, macOS) geographic information system. |
| Project Name | Description |
|---|---|
| pyshp |
Reads and writes ESRI Shapefiles in pure Python. |
| Project Name | Description |
|---|---|
| AgOpenGPS |
Precision mapping and section control software. |
| Farm Hack | Worldwide community of farmers who build and modify their own tools. |
| Farm-Data-Relay-System |
Transports sensor data in remote areas over ESP-NOW, LoRa and other protocols, without WiFi. |
| Open hydroponics | Fully automated hydroponic OS. |
| OpenWeedLocator |
Low-cost, image-based weed detection device for in-crop and fallow scenarios. |
| romi-bldc-controller |
Arduino firmware to control brushless motors, based on SimpleFOC. |
| Simplesteer |
RTK GPS tractor autosteer with a web interface controllable from a smartphone; runs on a Raspberry Pi. |
| Project Name | Description |
|---|---|
| romi-robots-docs |
Source of the ROMI documentation at docs.romi-project.eu. |
| Trefle |
Plant data API. |
| Project Name | Description |
|---|---|
| AgML |
Centralised framework for agricultural machine learning. |
| agridat |
R package with an extensive collection of datasets from agricultural experiments. |
| AgriQuant-AI |
AI-powered weather intelligence for agricultural commodity futures, Python. |
| AI Segmentation | QGIS plugin by TerraLab for AI-based segmentation. |
| FarmVibes.AI |
Multimodal geospatial ML models for agriculture and sustainability. |
| palefire |
LLM and knowledge graph integration framework. |
| PlantCV |
Plant phenotyping software using computer vision. |
| romiseg |
Virtual plant segmentation from 2D images generated by the virtual scanner, using neural networks (PyTorch). |
| Project Name | Description |
|---|---|
| Raster Vision |
Deep learning for aerial and satellite imagery. |
To the extent possible under law, Bryce Johnston has waived all copyright and related or neighbouring rights to this work.