FarmBot
FarmBot is an open-source computer numerical control (CNC) farming machine that applies principles from 3D printing to automate small-scale agriculture, enabling precise tasks such as seeding, watering, weeding, and soil sensing in raised garden beds.[1] Developed as a Cartesian coordinate robot, it operates on a gantry system powered by a Raspberry Pi 4B and NEMA 17 stepper motors, with tools including a seeder, watering nozzle, camera, and sensors for real-time monitoring.[1] Available in models like the Genesis (1.5 m × 3 m) and Genesis XL (3 m × 6 m), FarmBot is constructed from durable materials such as aluminum, stainless steel, and UV-resistant ABS, and comes 95% pre-assembled for ease of setup.[1] Introduced in 2014 with coverage in outlets like Wired, FarmBot has been adopted in thousands of educational institutions worldwide for teaching robotics, biology, coding, and sustainable agriculture.[1][2] Its free web-based software application, accessible at my.farm.bot, allows users to configure the device, create custom planting sequences, log data, and control operations remotely from laptops, tablets, or smartphones.[1] Beyond home gardening, FarmBot supports applications in food sovereignty initiatives, horticultural therapy for accessibility, and even space farming, as demonstrated in a 2017 NASA collaboration for controlled environment agriculture.[1] As a 100% open-source platform encompassing hardware designs, software code, and assembly instructions, it promotes community-driven innovation and hyper-local food production.[1]Introduction
Overview
FarmBot is an open-source precision agriculture project that employs Cartesian coordinate robotics to automate gardening tasks, such as planting, watering, weeding, and soil monitoring, within raised garden beds.[1][3] This CNC-based system enables precise, repeatable operations over defined garden areas, promoting efficient small-scale food production without manual intervention.[4] At its core, FarmBot integrates customizable hardware, user-friendly software, and comprehensive documentation, all developed collaboratively under permissive open-source licenses to foster innovation and accessibility. The software is licensed under the MIT License, allowing free use, modification, and distribution, while hardware designs—including CAD models and electronics schematics—are released under the CC0 Public Domain Dedication, waiving all copyright and related rights to enable unrestricted reuse.[5] Documentation follows the same CC0 license, providing step-by-step guides for assembly and operation that support a global community of builders and users.[5] Available models scale to suit various applications, with the Genesis covering up to 1.5 m × 3 m (approximately 4.5 m²) for compact setups and the Genesis XL extending to 3 m × 6 m (approximately 18 m²) for larger yields, such as enough vegetables for a family of four.[6][7] Designed for ease of adoption, FarmBot targets home gardeners, K-12 educational programs—over 500 institutions worldwide—and small-scale farming initiatives, making advanced automation approachable for non-experts through pre-assembled kits and intuitive web-based controls.[1]Purpose and Applications
FarmBot aims to democratize automated farming by providing an open-source platform for small-scale precision agriculture, enabling users to produce food efficiently without extensive expertise or physical labor.[1] This addresses key challenges in food production, such as labor shortages, resource inefficiency, and limited access to fresh produce in urban or constrained environments, by automating tasks like planting, watering, and weeding to support hyper-local, sustainable cultivation.[8] The system promotes food sovereignty and security by facilitating year-round vegetable growth in controlled settings like raised beds, rooftops, or greenhouses, potentially covering the needs of 1-2 individuals with models like the Genesis.[8] Key benefits include significant reductions in labor demands through full automation, alongside minimized water and chemical usage via precise application methods that target only necessary areas, thereby cutting waste compared to traditional manual farming.[1] For instance, integration with weather stations and forecasting data allows for optimized irrigation schedules, adjusting water delivery based on real-time conditions to enhance efficiency and promote sustainable practices.[9] These features not only lower operational costs over time but also support environmental goals by reducing resource consumption and enabling resilient, low-impact agriculture in diverse climates.[10] Practical applications span home gardening, where individuals can achieve personal yields sufficient for daily vegetable consumption; education, with over 500 K-12 schools and universities incorporating FarmBot into STEM curricula to teach robotics, biology, and coding through hands-on projects; and small commercial operations, scaling up to medium-sized automated food production for local markets or community-supported agriculture.[11] In urban contexts, it bolsters food security by transforming limited spaces into productive gardens, while its accessibility features aid horticultural therapy for people with disabilities.[8]History
Origins and Founding
The FarmBot project was conceived in April 2011 by Rory Aronson, a mechanical engineering student at California Polytechnic State University (Cal Poly) in San Luis Obispo, California. During an elective organic agriculture class, Aronson became inspired to apply principles of computer numerical control (CNC) machines—commonly used in manufacturing for precise automation—to small-scale farming, particularly for tasks in raised-bed gardens such as planting, watering, and weeding. This student-led initiative aimed to create an open-source system that would democratize precision agriculture, making it accessible for home and community use without relying on large-scale industrial methods.[12][13] After graduating with a Bachelor of Science in Mechanical Engineering in June 2013, Aronson formalized his vision by authoring and publishing the FarmBot whitepaper on September 19, 2013, which outlined the project's goals, technical specifications, and open-source ethos. The whitepaper quickly attracted interest from the maker community, leading to the formation of a core team. In October 2013, Rick Carlino joined as lead software developer to build the web application interface, while Tim Evers contributed as lead firmware developer to handle the embedded systems and hardware controls. Early efforts focused on conceptual designs and initial sketches, emphasizing modularity and affordability to encourage widespread adoption.[14][12] Development accelerated in March 2014 when Aronson received a one-year fellowship from the Shuttleworth Foundation, awarding approximately $125,000 to support full-time work on the project. This funding enabled the team to construct multiple prototypes between 2014 and 2015, iterating on open-source hardware components like rails, motors, and tools tailored for raised-bed automation. These early versions prioritized simplicity and community contributions, with documentation shared freely to foster collaborative improvements. By October 2015, the prototypes achieved key milestones, such as successfully planting seeds autonomously for the first time.[15][16][12] To manage growing demand for hardware kits and software support while sustaining the open-source core, Aronson, Carlino, and Evers established FarmBot, Inc. as a California Benefit Corporation in April 2016. This entity was created specifically to handle production, distribution, and community services, transitioning the project from a volunteer-driven effort to a structured organization dedicated to advancing automated precision farming.[15][17]Key Milestones and Model Releases
FarmBot gained significant visibility in 2015 as a finalist in the Hackaday Prize, a competition highlighting innovative open-source hardware projects.[4][18] In 2016, the company launched FarmBot Genesis through a self-hosted crowdfunding campaign in July, securing over $800,000 in pre-orders for more than 250 units after extensive research and development.[15][19] The following year, 2017, saw the release of the Genesis XL model in December via another crowdfunding effort, designed for larger garden areas up to 3 meters by 6 meters.[20][21] Concurrently, the company relocated to a 1,200-square-foot warehouse headquarters in San Luis Obispo, California, to support expanded operations and global shipping.[22] In January 2018, FarmBot announced plans for a Series A funding round to enhance scalability and accelerate production, following the success of prior crowdfunding.[15][23] By 2019, the company introduced the more affordable Express and Express XL models in July, aimed at broader accessibility with simplified assembly and lower costs starting around $2,000.[24][25] From 2020 to 2023, FarmBot's revenue fluctuated, including a 16% increase in 2020 to over $1.2 million driven by record shipments of 715 units, a 23% decline in 2022, and 5% growth in 2023.[26][27][28] The period also involved investments in software stability and a full transition to public GitHub repositories for all core codebases, reinforcing its open-source commitment.[29][30] In 2024 and 2025, updates to the Genesis and Genesis XL lines culminated in the v1.8 version, with initial shipments beginning in July 2025 featuring lighter track extrusions and more compact components for easier assembly.[31] Company revenue declined 28% in 2024 compared to 2023.[32] Ongoing enhancements included software features like 3D soil height mapping introduced in July 2025 and a November 5, 2025, update adding 3D photos and improved visualizations.[33][34] In October 2025, FarmBot was integrated into Georgia Tech's AI-agriculture education initiative.[35]Hardware Design
Available Models
FarmBot's primary current hardware line is the Genesis series (v1.8), designed for advanced users and larger-scale applications. It is compatible with over 30 common crops, including leafy greens like kale, spinach, and lettuce, as well as root vegetables such as beets and radishes. The Genesis models were first introduced in 2016 as the inaugural open-source CNC farming machines.[36] The Genesis v1.8 is the standard model in the flagship line, featuring a maximum bed size of 1.5 meters wide by 3 meters long, covering approximately 4.5 square meters. It targets individual home growers, classrooms, and small research labs, with a focus on versatility for fixed or mobile raised beds. Key enhancements in the v1.8 update include lighter aluminum extrusions for the tracks, gantry, and main beam, enabling easier packaging and shipping in a single box, along with a 95% pre-assembled design that reduces setup time to about two hours.[6][37][31] The Genesis XL v1.8 extends the standard model's capabilities, supporting a bed up to 3 meters wide by 6 meters long, which provides 400% more growing area at 18 square meters. This variant suits families, educational institutions, and larger research or commercial facilities, such as farm-to-fork restaurants or universities, where higher yields are needed for groups of four or more. It shares the v1.8 updates with the standard Genesis, including the refined extrusions and three-hour assembly process, while maintaining compatibility with the same tools and software ecosystem.[7] The Express series, introduced in 2019, was aimed at beginners and smaller setups but was placed on indefinite hold in 2024 and is no longer available for purchase. The standard Express model accommodated a bed of about 1.13 meters wide by 3 meters long, with a service area of roughly 1.1 meters by 2.7 meters. The Express XL supported a bed up to 2.3 meters wide by 6 meters long for 14.4 square meters of area.[38][39][40][41] Earlier prototypes and legacy models, such as pre-Genesis designs from 2011-2015 and the short-lived MAX variants introduced in 2019, are no longer in production. As of 2025, FarmBot's development emphasizes the v1.8 Genesis series, with the Express series on hold since 2024 and no new model releases announced.[12][42]Core Components
The frame of FarmBot consists of extruded aluminum rails, primarily 6063-T5 alloy with V-Slot profiles in dimensions such as 20mm x 20mm for the Z-axis, 20mm x 40mm for tracks, and 20mm x 60mm for gantry beams and columns, enabling a Cartesian motion system across X, Y, and Z axes.[43] These rails support structural integrity for garden areas up to 18 m² in larger models, with surface treatments like sandblasting and clear anodizing for durability in outdoor environments.[44] The design emphasizes modularity, allowing users to assemble and scale the frame using open-source CAD models available for download.[45] Electronics in FarmBot include a Raspberry Pi 4B serving as the primary computing unit for running the operating system and handling web connectivity, paired with the Farmduino microcontroller (based on Arduino Mega 2560 with a RAMPS shield) for real-time motor control and sensor integration.[44] A webcam module provides computer vision capabilities for tasks like plant monitoring, while the electronics enclosure houses push buttons and LED indicators for user interaction. This setup supports precision positioning, facilitated by integrated rotary encoders on motors.[10] Tools attach via a universal magnetic mount using neodymium ring magnets, allowing quick swaps of interchangeable heads such as the seed injector for planting, weeder for soil aeration, water valve for irrigation, and soil sensor for moisture analysis.[44] These tools connect through 12 gold-plated pogo pins providing power (5V and 24V) and I/O signals, plus three ports for liquids or gases, promoting extensibility for custom attachments. Many tool components are 3D-printable using FDM printers with UV-stabilized ABS plastic for weather resistance.[44] Power is supplied by a 24V DC unit (6.25A, 150W output) that drives the system, including four NEMA 17 stepper motors with 1.8° step angles for axis movement at speeds up to 300 mm/s. Peripherals include stainless steel fasteners, belts or leadscrews for motion transmission, and cable carriers to manage wiring along the axes. In XL variants, larger belts and gears enhance stability for extended ranges. The open-source nature allows community modifications to these components, with all designs released under CC0 public domain dedication, permitting commercial and non-commercial use.[44][46]Software Architecture
FarmBot OS
FarmBot OS is the embedded operating system that powers the Raspberry Pi in FarmBot devices, managing low-level hardware interactions and automation processes. Built on the Nerves framework using the Elixir programming language, it enables reliable, real-time operations such as motor control for gantry movement and sensor readings from peripherals like encoders and environmental monitors via the Farmduino microcontroller.[47][48] This foundation ensures fault-tolerant execution in outdoor environments, with the OS handling command processing (including G-code and FarmBot-specific F commands) to execute tasks autonomously.[47] Key features of FarmBot OS include over-the-air (OTA) updates, which allow seamless firmware upgrades without physical access, typically completing in 15 seconds to 5 minutes depending on network conditions.[49] Telemetry logging captures device metrics such as CPU usage, uptime, and disk space, uploading data every 5 minutes to the web app for monitoring, with up to 300 recent records retained.[50] Additionally, runtime variables support dynamic parameterization of automation sequences, enabling flexible configurations during operation.[47] Version history reflects ongoing enhancements to stability and functionality. FarmBot OS v8, released in 2019, introduced runtime variables to improve sequence adaptability.[47] Version 12 in 2020 implemented in-house OTA capabilities, replacing external dependencies for updates.[47] In 2025, integrations such as 3D soil mapping were added (July 1), allowing the OS to process height measurements from sensors for interpolated surface rendering in the farm designer.[33] Further updates on September 5, 2025, introduced new Lua helpers for querying points (e.g.,get_generic_points(), get_plants(), get_weeds()) with filters, a seeder tip Z offset for tool adjustments, and fixes for home-finding sequences and emergency stops.[51]
For security, FarmBot OS operates in isolation from the web application, minimizing exposure to external threats, and relies on the MQTT protocol for secure, lightweight communication between the device and cloud services.[47] This design ensures that hardware-firmware interactions remain protected while supporting remote management.[48]
Web App and API
The FarmBot web app is a browser-based interface that enables users to design, control, and monitor their FarmBot devices remotely from any desktop, laptop, tablet, or smartphone. It provides an intuitive platform for managing garden layouts and automation routines without requiring on-site presence. The app integrates seamlessly with the FarmBot ecosystem, receiving real-time telemetry feeds from the device's operating system to display live status updates such as position, sensor data, and task progress.[52] Key features of the web app include a drag-and-drop farm designer for creating and editing garden beds, planting grids, and resource placements in a visual 2D layout. Users can build sequences—predefined automation routines—for tasks like watering, seeding, or weeding using a no-code builder that combines modular actions and conditions. Real-time controls allow manual operation of the FarmBot's movements, tools, and peripherals, with immediate feedback from the device. In 2025, the app introduced a beta 3D farm designer (March 28), offering immersive views including orbitable 3D perspectives, top-down maps, interpolated soil height rendering, and a camera view simulating the device's viewpoint for enhanced monitoring.[53][54][55][56][33] Updates in 2025 have enhanced usability. On January 31, a new crop search feature was added, featuring an independent catalog of over 200 crops complete with icons, descriptions, images, and growing recommendations, replacing reliance on external databases like OpenFarm. The interface received a refreshed UI, including streamlined popups and menus for compact information display, along with 3D animations for peripherals such as water flow and tool rotations to improve visual feedback.[57] On September 5, new axis order options for movements ("All at once," "X and Y together" as default, "One at a time," "Safe Z") were implemented, along with 3D sequence visualization showing pathways for sequences (including Lua), refreshed featured sequences, and an improved demo mode for simulating operations. A slot coordinate setup wizard was also added for new users.[51] On November 5, features included 3D rendering of photos on the soil surface, 3D group order visuals with numbers and pathways, simplified main navigation, combined jobs and logs tabs, an improved setup wizard, and a demo account option on the login page, with limits of up to 50 demo accounts per hour per IP.[34] Demo accounts are available for educational testing, and the app is installable as a progressive web app (PWA), supporting basic offline access like viewing designs when internet connectivity is limited.[58][33] The FarmBot API is a RESTful JSON-based service that powers the web app and enables programmatic interaction with FarmBot data and devices. Built on Ruby on Rails with JSON Web Tokens for secure authentication, it handles responsibilities such as data validation, storage, and retrieval for farm management. Endpoints support storage of plant logs and related data via resources like/api/points for plants, weeds, and positions; /api/curves for time-series metrics on plant growth (e.g., height, spread); and /api/sensor_readings for environmental data, which can integrate weather-related inputs from connected sensors. The API accommodates multiple devices per user account through the /api/[device](/page/Device) endpoint, allowing centralized management of fleets. Pagination and example request schemas are documented for developers integrating third-party tools or custom applications.[59][60][61][62][63]