FarmBot Genesis V1

A project log for FarmBot - Open-Source CNC Farming

FarmBot is an open-source CNC farming machine and software package built for small scale, hyper local, DIY food production.

Rory AronsonRory Aronson 08/19/2014 at 01:040 Comments

Genesis V1 was the first FarmBot ever built. The physical manifestation of it closely resembles the original FarmBot design from the FarmBot Whitepaper. The goal of V1 was to build something as quick as possible both to show prospective contributors that the project was "real" and to learn what was good and bad about the initial design.

Though V1 never saw anymore development past the initial track and gantry scaffolding and some playing around with the motors and electronics, it served as a quick way to learn and it continues to provide insight into the hardware design as it sits in Rory's backyard subject to the elements and different modes of failure.

V1 was developed from June 2013 to April 2014 by Rory Aronson. CAD models can be downloaded in various formats from GitHub here. V1 is not being actively developed as the Genesis model has moved onto new versions.


Genesis V1 Tracks Render.JPG

Genesis Tracks are built using V-Slot aluminum extrusions and hardware. They provide great strength and precision and are easy to construct. The V-Slot extrusions function as the linear guides for the Genesis Gantry to move across, and the design intention allows for easy scaling in the X direction. The tracks may be fixed to the ground by attaching them to concrete pilings, burying them in the ground, fastening them with large stakes, bolting them to a raised bed, or other methods. Once installed, it will be very cost effective to scale in the X-direction by simply adding more track sections. If scaling in the Y or Z direction is desired, it may require upgrading the main track beam to a larger size in order to reduce flex under the increased loads.

Bill of Materials

Genesis V1 Tracks Image 3.jpg

Genesis V1 Tracks Image 1.jpg

* 2X 20x40mm V-Slot Extrusions (1.5m length) from OpenBuilds - $19.50 each

Total Price = $82

Assembly Instructions

X-Direction Drive System

The Genesis X-Direction Drive System utilizes two NEMA 17 Stepper Motors with 20 tooth GT2 pulleys and timing belts to move the Gantry back and forth along the Tracks.


Gantry Rendering.JPG

Gantry-Track Interface.JPG

The Genesis Gantry is a simple and scalable Gantry that serves as the linear guide for the Genesis Cross-Slide and the base for the Genesis Y-Direction Drive System. It is constructed with V-Slot aluminum extrusions, mounting plates, and accessories. This Genesis Gantry mounts to the Genesis Tracks and is driven by the Genesis X-Direction Drive System. The Genesis Gantry is easily scaled to be wider or narrower with a longer belt and cross-beam. This would require the Tracks to be placed farther apart.


Cross Slide Render.JPG

The Genesis Cross-Slide is constructed from the V-Slot Universal Plate, eight Dual V Wheel Kits, and two spacer blocks. The Genesis Cross-Slide moves across the Genesis Gantry via a belt system. The Genesis Y-Direction Drive System is a simple and scalable drive system used to move the Cross-Slide in the Y-Direction along the Gantry. It consists of one NEMA 17 Stepper Motor and a GT2 timing belt and pulley.


The z-axis is just an extrusion that is moved up and down with a leadscrew. At the end of the Z-Axis is where the tool are mounted.


An Arduino Mega with a RAMPS shield and Pololu stepper drivers will be used to drive the motors and read the sensors. A Raspberry Pi will act as the host computer, communicating both with the Arduino and the web application's backend.


Genesis V1 Tools.JPG

Watering Nozzle

The Genesis Watering Nozzle shown to the left and below the seed injector, consists of a spray nozzle, a solenoid valve, and tubing. Not pictured is additional tubing that will need to run along the tool mount, gantry, and tracks in order to connect to a water source such as a garden hose. Future watering nozzles may feature flow meters, different spray nozzles, or even the addition of a peristaltic pump and tank that would allow for the precise addition of liquid fertilizer or pesticide to the water spray.

Seed Injector

The Genesis Seed Injector consists of two main assemblies: a 12V vacuum pump and selector tip, and the seed bay. The vacuum pump and selector tip are attached to the tool mount and allow for the precise selection of seeds from the seed bay and placing them at a precise location and depth in the ground. This is completed by first dipping the selector tip into a seed bin while the vacuum is on, moving the suctioned seed or seeds to the desired location, driving them into the ground to the desired depth, releasing the vacuum, and repeating. The seed bay, attached to a vertical column of the gantry, moves in the X-direction such that different seed bins can be positioned for the selector tip to choose from. The Genesis seed injector uses two controlled components: the vacuum pump, and the stepper motor for the seed bay. This setup will allow any number of different seeds to be accessed and planted without the need for additional controllable components.

Issues with V1 and Proposed Solutions

Genesis V1 was an initial prototype utilizing all off-the-shelf components from OpenBuilds. For this reason, it was a very quick and easy starting point for hardware design, allowing us to learn as much as we could as fast as possible with minimal design and part manufacturing effort. However, it also had many flaws being the first prototype and using no custom parts. Read on to see what we learned and what design changes we want to implement in FarmBot Genesis V2

Track Installation

Installation of raised bed and tracks.

When filled with dirt, this straight track became bowed outward at the joint of the extrusions.

Issue: The track pieces were secured to a wooden raised bed made of 2x4 posts at the corners and 0.75" thick planks on the sides. The tracks were attached to the planks using 5 hole Tee brackets. These brackets held the track extrusions flush to the planks. Because of this, the planks (and therefore the raised bed itself) had to be very square, with each track side parallel to the other. This was somewhat difficult to get right, but not impossible with the use of shims and elbow grease.

Proposed Solution: A system that allows for more flexibility when attaching the tracks to supporting infrastructure would be beneficial.

Track Joint Buckling

Issue: Track pieces were connected end to end to form a longer track. Pieces were connected using double long tee nuts. The tracks started out straight, but upon filling the raised bed with soil and then a subsequent rain, the wood planks pushed out, exposing the track joint as a weak spot. The two track pieces become unaligned at this "kink" which later became so bad the high precision wheel assemblies did not want to move past the kink.

Proposed Solution: A system that allows for a stronger connection where track pieces meet would prevent kinking and allow wheels and other components to travel across easier. Designing the system to be more forgiving (lower tolerance) may be beneficial as well.

Track Orientation

Issue: The orientation of the tracks was such that the wheels had to be on the sides of the tracks. However, the force from the weight of the gantry is directly downwards.

Proposed Solution: A more optimized orientation of the tracks would be so that the wheels ride on the top of them rather than the sides.

Belt Configuration

Feeding belt through the extrusions is very difficult past 3m of extrusion.

Issue: The belts used to move the gantry along the tracks and the cross-slide along the gantry are oriented such that they "double back" and span the entire length of the tracks or gantry twice. In addition, it is nearly impossible to feed the belt through the center of more than 4m of extrusions as in the case with the tracks.

Proposed Solution: A "belt and pinion" style system, similar to a rack and pinion would be much cheaper, easier to install, and easier to tension.

Gantry Complexity at Track Interface

Excessive number and poor orientation of the gantry wheels.

Issue: Each end of the gantry attached to the track with two "mini-v plates" with four "min-v wheels" each, making a total of 16 wheels attaching the gantry to the tracks. This was both expensive and a lot of work to assemble. In addition, the screws attaching the plates to the extrusions are not accessible without removing the gantry from the tracks.

Proposed Solution: A simplified system with less components and all screws accessible would be better.

Corner Bracket Strength and Size

These brackets are weak and concentrate force in a small area. Their small size makes accessing the screws difficult.

Issue: The small corner brackets used concentrate forces onto the bracket corner and provide very little strength and rigidity with such large structures. In addition, the brackets are so small that getting tools and hands into the right position for tightening screws or bolts is difficult.

Proposed Solution: Larger brackets that do not concentrate forces into small corners would be better.

Dual Track Motors That are Fixed

Issue: There are two motors that drive the gantry. They need to be synchronized or they may torque and break the gantry. In addition, because all other electrical components move with the gantry, it is difficult to have extra wires extend to the fixed track motors mounted at the ends of the tracks.

Proposed Solution: A single track motor mounted to the gantry driving both sides would be better.

Extrusion Sizes

Issue: The use of different extrusion sizes adds unnecessary complexity and little optimization.

Proposed Solution: The use of a single size extrusion will be more simple.

Cross-Slide Plates

Issue: The cross-slide needs a larger plate that is specialized to FarmBot's needs rather than the universal plate from OpenBuilds.

Proposed Solution: Custom plates will be designed to accommodate.

Eccentric Spacers and Number of Wheels

Issue: We currently use four wheels at each interface, two with eccentric spacers for fine adjustment of the wheel spacing. This is both expensive and unnecessary. Many 3D printers using these components use a three wheel arrangement, with the single wheel utilizing an eccentric spacer.

Proposed Solution: Implementing tri-wheel designs will reduce cost and complexity. In addition, it may be possible to remove all eccentric spaces with the use of slots for adjustment.

Universal Tool Mount

Issue: The original design places all tools on the tool head at once. This is cumbersome, heavy, and limited by space.

Proposed Solution: A universal tool mounting system that makes a physical and electrical connection would be beneficial. A tool holder or bay would also be necessary to store the unused tooling.

Location of Seed Bays

Genesis V1 Seed Injector.jpeg

Issue: The original location of the seed bays was mounted to the gantry with a motor to allow the bot to select the type of seed. This is unnecessary as the bot can utilized its X and Y movement to select from seed bays within its working area, rather than having an extra actuator.

Proposed Solution: On large scale installations, the existing design may save travel time for the bot, but on a small scale system, because seeding does not happen often, a simpler design would be better. The seed bays may be mounted on the tool bay for increased modularity and one less required actuator.

Standardization of Screws and Component Sizes

Issue: Utilizing as few different types of screws, washers, spacers, and other component sizes (extrusions included) will make installation and manufacturability easier.

Proposed Solution: Use as few types of components as possible, even if it is marginally less optimized.

10-Month Environmental Damage

FarmBot Genesis V1 was assembled and left standing in a backyard in the Central Coast of California for 10 months, excluding a Summer/Fall portion of the year. The results of the weather damage are summarized and shown in the gallery below.

  • All screws from OpenBuilds (with the black finish) rusted significantly while the galvanized bolts from the hardware store showed no signs of corrosion
  • The tracks bowed out significantly as mentioned above, preventing the gantry from moving across
  • Black anodized plates from OpenBuilds changed from black to a bronze color on sides exposed to the sun
  • The tracks filled with dirt and dust, though it did not prevent the gantry from moving
  • The belts, pulleys, bearings, and wheels, remained in good working condition
  • The Z-axis and cross-slide became separated due to a lay-person grabbing the gantry and forcing it to move with the z-axis touching and dragging on the soil
  • Plant matter and spider webs covered many of the components, but did not seem to negatively impact it in any way
  • All extrusions and plates were in good condition
  • V1-10month-1.jpg
  • V1-10month-2.jpg

  • V1-10month-3.jpg

  • V1-10month-4.jpg

  • V1-10month-5.jpg

  • V1-10month-6.jpg

  • V1-10month-7.jpg

  • V1-10month-8.jpg

  • V1-10month-9.jpg

3D CAD Files

FarmBot Genesis V1 was designed natively in SolidWorks 2013. Using SolidWorks 2013 or a newer version will provide the most seamless experience if you are interested in viewing or modifying the 3D part files. For those without access to SolidWorks, we have converted the files to other commonly used file formats.

Files can be downloaded here.