Farming Automation

This page is to create a Road Map for Agricultural Farming Automation via 'Bots', single board computers and Tiki.

Goals of Automation

  • Autonomous completion of tasks
  • Remote planning and control from a Tiki site
  • Swarm application (i.e. swarms in nature)
    • i.e. all drones working as one unit in real time


  • these are long-term, macro goals which will take a substantial amount of time and steps to reach. As of early 2019, no commercial companies (e.g. outside of military applications) have achieved this, therefore the path is still wide open
  • Tiki has added Rubix ML for Tiki23, see the Docs page for details

Types of Automation Bots

  • Aerial Drones (Unmanned Aerial Vehicles, UAV's)
    • vertical, i.e. helicopters
    • horizontal, i.e. planes
    • 'Rough assumptions about cost:
      • <$300: toy drone market
      • $300 to $700: prosumers '(professional consumers)'
      • >$700: serious enthusiast / professional market

  • Ground Bots
    • on wheels or tracks
    • on 'legs' i.e. spider
  • Fixed Bots
    • stationary or on a track
    • for small areas, i.e. small scale vegetable farming


Aerial drones

  • Field perimeter boundaries
    • outlining and re-drawing field boundaries (via gps module)
  • Crop scouting (i.e. looking for problem areas in fields)
    • with mapping so results can be compared from year to year
    • Possible first steps:
      • use esisting open source code for project bases
      • focus on code that establishes communication and coordination between two drones to complete separate parts of one task, with the assumption that if one drone fails, the other can take over all tasks.
      • a starting task would be to fly over one agriculture field in straight lines using GPS while taking photos of each part of the field, than the photos would need to be combined into one 'map' of the field (see Video Editing Software below ). This will be a basis for all ariel drone operations, i.e. spraying crop protection, fertilizers, etc.
  • Applying crop protection (insecticides/ pesticides, herbicides, fertilizers, etc.) either:
    • only where necessary, i.e. herbicides, to reduce quantities sprayed, fertilizer according to where needed (per vegetation or soil maps), etc.
    • full field, i.e. pesticides, fertilizers, herbicides, etc.
    • current examples include a drone by DJI called Agras MG-1 and one by Kray Technologies
      • note issues they experienced by DJI with engines due to dust
  • Vegetation Maps
    • provides a type of 'heat map' so that a map can be produced to determine health of a field
    • via infrared cameras (though expensive, from $10,000) and horizontal take off drones at a height of 300 - 1000m

Ground bots

  • Mechanical elimination of weeds (i.e. cutting)
    • small bots, designed like a lawn mower, as the width of rows is standard in commercial farming (from 30 - 70 cm)
    • the initial focus should be on the 95% of weeds that grow in between the rows of crops and can realistically be mechanically eliminated. Later stages can focus on the remaining 5% of weeds that grow right up against the stem of the plant, particularly vines that wrap around the stem and grow upwards, which would take very advanced levels of AI/ML in combination with a high level of robot construction to eliminate.
    • Good example from the University of Illinois program:
  • Chemical elimination of weeds
    • similar to mechanical, in that a bot on wheels moves down a row (based on a field map 'A-B lines' + GPS) and individually sprays weeds, example here
    • this would solve the above issue of mechanical elimination of weeds when* the weed grows right up against the stem of the plant
  • Planting (with fertilizers)
    • an application for bots with good potential - bots are extremely light weight (vs. a very heavy tractor + seeder + seeder tanks) so there would be no significant soil compaction during the planting phase if a swarm of bots was used.

Single Board Computers (SBC's) and Microcontrollers

  • Connection between IoT devices and Tiki
    • Open Source computers, such as the Raspberry Pi, Arduino, Beagleboard and many others that will be used to connect drones, bots and other types of automation to Tiki Trackers for analyzing and graphically displaying data.
    • Note: as of 2020, the ecosystems for Raspberry Pi and Arduino are significantly more comprehensive than all others, therefore will provide much better compatibility and ease of integration when general testing and design is needed. If a specific application is needed, other platforms may provide better usability, quality, features or pricing.
  • Applications for SBCs
    • actuating servo motors and sensors - to turn applications on/ off, e.g. irrigation, fans, lights, etc.
    • cameras: time lapsed photography (crops), security, etc.
    • RFID Controllers: magnetic door locks, livestock monitoring

Tiki Features that will be necessary:

  • PluginTracker - databases for storage and manipulation of data gathered
  • Tracker Tabular - for setting up custom import (/export) of data from external sources
  • PluginWebService - to pull data from any JSON or SOAP enabled web service, e.g. Raspberry Pi, ROS2, ArduPilot, etc.
  • Machine Learning - to automate learning processes
  • Plugin List Execute - to set-up custom actions that can be executed on objects,
  • Scheduler - to schedule actions (e.g. Plugin ListExecute) to be run

Open source code

Drone Software Standards

  • ArduPilot and DroneCode worked together to promote open sources standards, however, in 2016, they split for the following reason:
    • "Unfortunately DroneCode has a built-in flaw. The structure and bylaws of DroneCode are built around exceptional power for the Platinum members, giving them extraordinary control over the future of DroneCode. This is a fundamental flaw in a project meant to promote free and open source software as it means that the business interests of a very small number of members can override the interests of the rest of the members and the community." (see full explanation on the ArduPilot site)

Flight Control Software

  • Ardupilot.org is based on the Arduino single board computer, their site is current, well maintained and fully complies with FOSS standards.
    • "It is the only autopilot software capable of controlling any vehicle system imaginable, from conventional airplanes, multirotors, and helicopters, to boats and even submarines. And now being expanded to feature support for new emerging vehicle types such as quad-planes and compound helicopters."
    • their wiki is extremely detailed
  • Dronecode.org "promotes standardization of OS drone software"
    • "The Dronecode Project hosted under the Linux Foundation serves as the vendor-neutral home for PX4, MAVLink, QGroundControl, and the Dronecode SDK."
    • Links to all GitHub pages for development on this page, which include the Dronecode Project, Flight Stack, GCS, Coms, API's, Firmware/Hardware.
  • PX4 Autopilot - PX4 "is an open source flight control software for drones and other unmanned vehicles."
  • Linaro is 'open source software for ARM architecture
  • Ubuntu blog for drones


  • ArduRover - similar to ArduPiilot for drones, ArduRover is open source software dedicated to rovers and boats
  • Robot Operating system or, ROS - per wikipedia is "robotics middleware (i.e. collection of software frameworks for robot software development). Although ROS is not an operating system, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management."
    • a ROS Discourse channel/forum for Agriculture can be found here while their full Discourse channel is here
  • Robotics RB3 Platform is offered by Qualcom. This is a hybrid product (hardware/software), per a Linux Gizmos article - "this makes starting easier (vs. 100% DIY). It runs Linux with 'Robot Operating System (ROS)"..."Ubuntu suport is planned in the near future" (Feb. 2019)"


  • DIYdrones.com is a strong source of information for all DIY drone projects
  • LinuxGizmos.org is an excellent resource that covers all types of 'Things', but predominately SBC's
  • DroneGarageBlog is a good 'Open Source Drone Hardware and Software Reference' there is very little 'open source' to this site other than the title, it's just some guy who gets paid to do reviews on low end Chinese drones

Private Companies but Support Open Source

  • Auterion is the creator of PixHawk, MAVLink, QGC and PX4 and is currently the largest contributor to PX4 open source code.
  • Nvidia - has a series of SBC's called 'Jetson'
    • Project Example: this project featured on Hackaday.io, is a 4-wheeled bot based on Ubuntu 20.04 + ROS2 (Robot Operating System 2), per the description: "Nvidia Jetson Nano control and vision with 4-Wheel Steering, ROS2 RealSense2, RPlidar, BNO055, Python3, Pygame and ModBus to drive the Jetson Nano using modbus joystick commands"
  • Qualcomm - has been active in the drone market since 2015 promoting Linux on their boards
  • Intel has been involved with UAV's since about 2015
  • While DJI is one of the most recognized names in drones, most drones are not open source, e.g. 'hackable' - though in 2015 they introduced the 'Manifold' based on Ubuntu and claims to be for developers; at the time of the article (2015) is was only available for several of their high end Matrice 100 drone ($3500 - $4000) and some Mavic models ($700+
  • Parrot seems to occupy the lower end 'toy drone market' but according to LinuxGizmos.com can be programmed with Linux SDK's.
  • 3DR focus more on construction, mining and engineering, but claims to have open source drones (though their GitHub page is 'private')
  • Hex (private company) is an "open source hardware manufacturer which produces open source drone autopilots" based on PixHawk which are accessible on their Download page
    • Link to an article on ArduPilot which demonstrates 'Zig-Zag' mode for piloting a drone back and forth across a field, e.g. crop spraying, which was done with the company listed above, Hex

Other Open Source Options

Other Open Source Tools

Drone Video Editing Tools

  • digiKam is an open source digital photo and video management application which is reported to support DJI drones
  • Blender is a leading open source tool
  • OpenShot is one more


  • QGIS - A Free and Open Source Geographic Information System

Obstacles and Limitations

Artificial Intelligence (AI) / Machine Learning (ML)

  • Autonomy: necessary for tasks and problems to be completed autonomously
  • Continual contact: contact between drones to work as one unit in real time
    • to be able to complete the task despite the loss of one or more drones
  • Resolving problems: numerous 'problems' will be encountered in the field on a daily basis, it will be necessary to create and prioritize these problems for developers to resolve such as:
    • evacuation and replacement when a drone breaks (power supply expires, environmental factors, like a tree falls on 10 - 20 planting bots), etc.)
    • re-programming remaining drones so task can be completed with remaining drones until the new one(s) arrive
    • visual recognition of problems
      • differentiating between the crops and weeds
      • differentiating problem areas of a field,, i.e. so additional liquid fertilizer can be applied only in those areas
  • Tiki Machine Learning and Rubix ML will be used in resolving these issues

Agriculture Environment

  • Agriculture is a very difficult working environment. Unlike, for example, an automobile factory, farming has:
    • a wide range of humidity, temperature and wind
    • significant dust, vibration, harshness
    • lack of easily accessible power
    • limited or no internet

Limitations of Drones / Bots

  • small farm bots cannot complete some farming operations such as 'Cultivation' and 'Harvesting' (see 'Sequence of Farming Operations ' at bottom of page)
    • Cultivation - will always require heavy equipment to dig into the ground, with one possible exception: no-till or low-till farming
    • Harvesting - combines are extremely complex pieces of equipment with thousands of moving parts, most likely it will not be economically possible to reproduce this on the scale of a small bot

Similar Open Source Code for Integration with Tiki

  • Blynk.io has some possible modules that could be of benefits (libraries, Arduino IDE, app for IoS/Android)

Sequence of Farming Operations

This is the order of steps, regardless of whether a planting season starts in spring or fall:

  1. Tillage - Plowing (very deep), Discing (deep), Cultivation (light), etc.
  2. Spraying - crop protection application (liquid)
  3. Planting - planting crops
  4. Fertilizing and Spraying (many times)- spreading (pellets) or spraying (liquid)
  5. Harvesting - gathering the crop

See also:


The following is a list of keywords that should serve as hubs for navigation within the Tiki development and should correspond to documentation keywords.

Each feature in Tiki has a wiki page which regroups all the bugs, requests for enhancements, etc. It is somewhat a form of wiki-based project management. You can also express your interest in a feature by adding it to your profile. You can also try out the Dynamic filter.

Accessibility (WAI & 508)
Articles & Submissions
BigBlueButton audio/video/chat/screensharing
Browser Compatibility
Communication Center
Contacts Address book
Contact us
Content template
Custom Home (and Group Home Page)
Database MySQL - MyISAM
Database MySQL - InnoDB
Date and Time
Debugger Console
Directory (of hyperlinks)
Documentation link from Tiki to doc.tiki.org (Help System)
Draw -superseded by Diagram
Dynamic Content
Dynamic Variable
External Authentication
Featured links
Feeds (RSS)
File Gallery
Friendship Network (Community)
i18n (Multilingual, l10n, Babelfish)
Image Gallery
Inter-User Messages
Kaltura video management
Live Support
Logs (system & action)
Lost edit protection
Meta Tag
Missing features
Visual Mapping
OS independence (Non-Linux, Windows/IIS, Mac, BSD)
Organic Groups (Self-managed Teams)
Performance Speed / Load / Compression / Cache
Revision Approval
Search engine optimization (SEO)
Semantic links
Shopping Cart
Site Identity
Smarty Template
Social Networking
Spam protection (Anti-bot CATPCHA)
Staging and Approval
Syntax Highlighter (Codemirror)
Tell a Friend
Terms and Conditions
Federated Timesheets
Token Access
Toolbar (Quicktags)
User Administration
User Files
User Menu
Webmail and Groupmail
Wiki History, page rename, etc
Wiki plugins extends basic syntax
Wiki syntax text area, parser, etc
Wiki structure (book and table of content)
Workspace and perspectives

Useful Tools