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 this is a fork of Bryce Johnson list
Contents
Data Standardisation, Interoperability and APIs
Data standards compared
Three standards cover the farm side and one covers trade. SDM is generic IoT-style entities, ADAPT is machinery and field operations, OCSM is a semantic ontology, and DFC is supply-chain concepts. Overlap between them is small, so this is a choice of fit, not a ranking.
| Project |
Scope |
Format |
Users |
dataModel.Agrifood
 Licence: none shown on repo page |
Harmonised schemas for farms, parcels, crops, operations and greenhouse records |
JSON Schema, JSON-LD context, NGSI-LD oriented |
Run by the Smart Data Models programme, led by FIWARE Foundation, TM Forum, IUDX and OASC. More than 80 organisations collaborate across all domains. The Agrifood README names UCO and SensoWave (Animal model, IoF2020 ShareBeef use case) |
Adapt Standard
 Licence: MIT |
Farm reference data, field operations and geospatial layers, for B2B data sharing |
JSON Schema |
Backed by AgGateway (ADAPT Oversight Committee). AEF (the ISOBUS body) cooperates with AgGateway, with AEM, VDMA, AGCO, CLAAS, CNH and John Deere behind AEF. Cotton Inc. co-developed the cotton gin plugin |
OpenAgri-OCSM
 Licence: EUPL-1.2 (repo), CC BY 4.0 (model, per README) |
OpenAgri Common Semantic Model, an ontology built on AIM and Ploutos CSM |
RDF/OWL, JSON-LD, JSON Schema |
Hosted by the AgStack Foundation (Linux Foundation). Developed in the OpenAgri project (Horizon Europe): Maastricht University coordinates a consortium of 18 partners, including SCiO and Łukasiewicz-PIT. Built on DEMETER AIM and the Ploutos model |
Data Food Consortium
 Licence: AGPL-3 (ontology and UML repos; standard repo not checked) |
Product, order and agent concepts for short food supply chains (trade, not production) |
OWL/RDF ontology, JSON-LD, LDP endpoints |
French multi-stakeholder initiative, started in 2017 by local food platforms: Open Food France, Cagette.net, Panier Local, La Ruche Qui Dit Oui, Ekylibre and Sony CSL. Later participants listed include Socleo, Elzeard, Mycelium, INRAE and Open Food Facts |
The Open Ag Data Alliance, led by the Purdue Open Ag Technology Group, defines an API for sharing farm data plus JSON Schema formats for what travels over it. It is transport-oriented, not a domain model, and its backing is mostly legacy. The repos below are the formats, a reference server and client tools.
| Project |
Description |
Stars |
Last commit |
| formats |
Simplified approach to OADA formats using JSON Schema |
 |
 |
| server |
Reference implementation of an OADA-conformant API server, TypeScript |
 |
 |
| cli |
Pipeable OADA CLI client |
 |
 |
| oada-error-js |
OADA standard error middleware |
 |
 |
| oadaify |
Make OADA data nicer to work with in JS/TS |
 |
 |
OpenAgri services
OpenAgri is a Horizon Europe project (18 partners, coordinated by Maastricht University) building open-source farm management tools. OCSM is its data model. These repos are the services around it, so they only matter if you adopt the OpenAgri stack.
AgStack registries and infrastructure
AgStack is a Linux Foundation project that hosts shared agricultural infrastructure. The core piece is a registry that gives each field polygon a unique GeoID. The rest is identity, datastore and semantic tooling around it.
| Project |
Description |
Stars |
Last commit |
| asset-registry |
Registers a geospatial asset (typically a polygon) and returns a unique GeoID; Flask, AR 1.0 |
 |
 |
| user-registry |
User accounts, JWT issuance and API keys for AR 1.0 |
 |
 |
| ar2 |
Asset Registry 2: hub and spoke model |
 |
 |
| ar2-hub |
Hub component for Asset Registry 2 |
 |
 |
| pancake |
AI-native geospatial datastore and DPI services: field ownership grants as SD-JWT credentials, signed audit ledger, scheduled vendor data ingestion |
 |
 |
| semantic-croissant |
Semantic Croissant infrastructure, forked from codata/semantic-croissant |
 |
 |
ADAPT is AgGateway’s open-source project: a standard data model plus a plugin framework that converts vendor formats to and from it. These are the plugins and a diagnostic tool, all C#.
| Project |
Description |
Stars |
Last commit |
| ISOv4Plugin |
ADAPT Framework plugin for ISOXML (ISO11783-10), C# |
 |
 |
| StandardPlugin |
ADAPT Framework plugin to convert data to the ADAPT Standard, C# |
 |
 |
| cotton-gin-data-plugin |
ADAPT Framework import-only plugin for cotton gin data, developed with Cotton Inc., C# |
 |
 |
| ADAPT-Visualizer |
Windows Forms diagnostic tool for the ADAPT Framework, C# |
 |
 |
ISOBUS (ISO 11783)
ISO 11783 is the tractor-implement CAN bus standard. Open-Agriculture’s AgIso projects are an open-source C++ stack and tooling for it. This is machine connectivity, not a data model, so it only matters if the robot must talk to implements.
Vendor API examples
Single-vendor sample code: OAuth2 clients for John Deere’s API. Useful only if you integrate with Deere’s platform.
Unrelated one-offs that fit nowhere else: a database engine, a botanical data crate and a community ecosystem.
| Project |
Description |
Stars |
Last commit |
| SawitDB |
Node.js database engine built for data sovereignty |
 |
 |
| Botanica |
Rust crate for botanical data management with taxonomic hierarchy, cultivation tracking and Darwin Core compliance |
 |
 |
| OpenTeam |
Open technology ecosystem for agricultural management |
n/a |
n/a |
Farm Management Systems and Record Keeping
| Project Name |
Description |
HortusFox 
 |
Self-hosted, collaborative plant management and journaling app. |
farmOS 
 |
Web-based farm record keeping application built with Drupal and PHP. |
Plant-it 
 |
Self-hosted gardening companion app. |
Ekylibre 
 |
Farm management information system for farmers and small enterprises, Ruby on Rails and PostgreSQL/PostGIS. |
LiteFarm 
 |
Community-led, not-for-profit farm management system. |
OpenAgri-FarmCalendar 
 |
Digital farm calendar for operations, observations, parcels and assets. |
inatrace-backend 
 |
Java/Spring backend. |
OpenAgri-ReportingService 
 |
PDF report generation for agricultural data visualisation. |
GrowerHub 
 |
Greenhouse and small-farm management: Zigbee2MQTT monitoring, plant and watering journals, lighting and irrigation automation. |
tracefoodchain 
 |
Flutter app and web app for tracing goods along food production chains. |
inatrace 
 |
Meta repository linking the INATrace backend, frontend, mobile and blockchain components; blockchain-based track and trace for supply chains. |
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. |
inatrace-coffee-network 
 |
Blockchain smart contracts for the coffee supply chain. |
inatrace-frontend 
 |
Angular frontend. |
inatrace-mobile 
 |
Mobile app for farmer data collection. |
Automation and Robotics
| Project Name |
Description |
farmbot_os 
 |
Embedded OS handling motor axes, watering tools and sensors on FarmBot hardware. |
Farmbot-Web-App 
 |
Setup, customize and control FarmBot from any device, TypeScript. |
Fields2Cover 
 |
Robust and efficient coverage paths for autonomous agricultural vehicles. |
farmbot-arduino-firmware 
 |
Arduino firmware executing g-code like commands over serial to move the FarmBot and operate the tool mount. |
rosys 
 |
Asynchronous Python framework for web GUI and state handling on mobile robots, used for field rovers. |
farmbot-js 
 |
JavaScript wrapper for FarmBot’s authentication and RPC instructions. |
Sowbot 
 |
Line-following sowing and weeding robot with some web UI tools. |
lizard 
 |
Domain-specific language for real-time motor control and E-stop logic on microcontrollers. |
trellis 
 |
General-purpose middleware framework for distributed applications, by Agtonomy. Not ROS-based. |
amiga-dev-kit 
 |
Development kit for third-party hardware and software extensions to the farm-ng Amiga rover. |
farmbot-py 
 |
Authentication and communication utilities for FarmBot, Python. |
feldfreund_devkit 
 |
Development platform for autonomous weeding. |
librcom 
 |
ROMI rcom library, C++. |
romitask 
 |
ROMI task runner, a Luigi based task pipeline. |
bonsai-sdk 
 |
SDK for interacting with the Bonsai Robotics Amiga through ROS 2. |
romi-apps 
 |
Applications for the ROMI system: CNC, camera, gimbal, cablebot, rover. |
| FarmBot-ROS |
Open source farming robot. |
| JABAS.AI |
ROS 2 repositories including graph-based topological navigation for crop-row layouts. |
Climate, Environment and Weather
| Project Name |
Description |
iem 
 |
Code that makes the Iowa Environmental Mesonet run. |
pyTSEB 
 |
Python two-source energy balance model for estimating evapotranspiration from remote sensing data. |
frostline 
 |
Dataset, API and Python parser for USDA plant hardiness zones. |
soilDB 
 |
R library for simplified access to NCSS soil databases. |
GSODR 
 |
Global summary daily weather data in R. |
OpenAgri-WeatherService 
 |
Weather forecasts and critical agricultural indicators. |
OpenAgri-IrrigationManagement 
 |
Evapotranspiration calculations and soil moisture analysis. |
Crop Modelling, Phenotyping and Pathology
| Project Name |
Description |
PCSE 
 |
Python environment for running crop growth and production models. |
DSSAT 
 |
Cropping-system simulations across crops, soils, weather and management, Fortran. |
ApsimX 
 |
Next-generation APSIM framework for agricultural system simulations, C#. |
AquaCrop 
 |
Python implementation of AquaCrop-OS for crop growth and water use. |
plant-3d-vision 
 |
Digital reconstruction and phenotypic quantification of plant phyllotaxis. |
plant-3d-explorer 
 |
Browser application to visualise 3D scanned plants. |
romicgal 
 |
Python CGAL bindings for skeletonisation. |
skeleton_refinement 
 |
Plant skeleton optimisation using a stochastic framework on point cloud data. |
plant-imager 
 |
Library controlling the PlantImager (hardware) or the VirtualPlantImager (Blender) to acquire images of single potted plants. |
plantdb 
 |
Database to host and serve images and processed data. |
Awesome Crop Models 
 |
Curated list of open source crop models, process models, tools, applications and data-driven models. |
opensource-pestmodels 
 |
Hierarchical pest and disease modelling framework (13 models, 19 crops, 54 threats) with Python wheel, FastAPI and MCP server. |
Plant-Imager3 
 |
Plant imager software, Python. |
| Open Plant Pathology (GitHub organisation) |
Community for open data and computational tools in epidemiology and pathogen population biology and ecology. |
Datasets
| 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. |
Geospatial and GIS
GIS Resources
| 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. |
Shapefiles
| Project Name |
Description |
pyshp 
 |
Reads and writes ESRI Shapefiles in pure Python. |
IoT, Hardware
| 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. |
Knowledgebases and Learning Resources
| Project Name |
Description |
romi-robots-docs 
 |
Source of the ROMI documentation at docs.romi-project.eu. |
Trefle 
 |
Plant data API. |
Machine Learning and AI
| 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). |
Remote Sensing and Imagery
| Project Name |
Description |
Raster Vision 
 |
Deep learning for aerial and satellite imagery. |
License

To the extent possible under law, Bryce Johnston has waived all copyright and related or neighbouring rights to this work.
Home