Genesis V0.6 Documentation

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 07/18/2015 at 17:140 Comments

We’ve been a little behind on the documentation train and are trying hard to catch up. We just finished up the docs for FarmBot Genesis V0.6, check em out! Notice that these docs are now hosted on this website rather than the community wiki. Don’t worry, we’ll copy them over there soon enough, though we do want to make clear the separation between the community owned and edited wiki content and FarmBot Inc’s ‘pro’ documentation that will be here on this website. Basically, we can’t guarantee any of the information on the wiki because anyone can write and edit it, but we can guarantee that what we write here is accurate. And if its not, we’ll make it right!

Genesis V0.6 was a very minor update to Genesis V0.5, in fact, the only changes are with the Universal Tool Mounting System. For this reason, you may find that this documentation page looks nearly identical to that of Genesis V0.5 and you may just want to skip down to the Universal Tool Mount Section to see what is new. Here is a summary:

Note: The prototypes produced and seen in some of these photos used acrylic for the plates and was of a very small scale. This worked great for a prototype but should not be used for a real FarmBot because the acrylic is very flimsy. Also, the size is good for testing the hardware, but not useful for growing a significant amount of food.

Page Contents







Change Log

V5_Tracks_Render_1Tracks Assembly Instructions
  1. Setup the Posts
    1. Depending on where you are installing your FarmBot will change what material and how you might setup your Track Posts. You might use 2x4s of wood, or aluminum extrusions, or existing infrastructure. The posts might attach to a wooden raised bed, or be set in the ground or in small foundations. The choice is up to you how you set this up.
    2. Install short (100-500mm) vertical posts for one of the tracks. Attach or secure the posts however you like, though it is critical to ensure that the posts will not significantly move once installed. Space the posts 1500mm apart, center to center unless you are using shorter track lengths, in which case space the posts that far apart. Ensure the posts are aligned properly and the same height. You may want to use a level to ensure this.
    3. If you are setting up multiple track sections (more than 1500mm in total length), it is best to install the end posts first and tie a guide string in between these two posts to ensure your tracks are installed in a straight line.
    4. Depending on the width of your FarmBot, space the second Track’s posts the appropriate distance away from the first Track’s. It is critical that the distance between the two sets is consistent, if it is not, there will be unnecessary forces placed on the Gantry and Tracks.
  2. Attach the Track Plates
    1. The track plates should be screwed onto the inside of the posts using the appropriate fasteners: 8mm M5 screws and tee nuts if the posts are aluminum extrusions, standard wood screws if attaching onto wood posts. The top of the posts should NOT be flush with the top of the plates. Rather, the top of the posts should come up to cover only half of the plates.


Gantry Change LogGantry Assembly InstructionsAssemble the Gantry Plates
  1. Gather and lay out all of the parts. You will need: 2 Gantry Plates, 8 solid V-wheel kits, and 2 eccentric spacers. It is best to lay out the gantry plates as a mirror image of each other and attach all of the wheel kits facing towards you to ensure you end up with both a left facing and a right facing assembly!
  2. Attach the three solid V-wheel assemblies with normal spacers onto each plate. The order of parts is: Screw head, Plate, Spacer, Wheel Assembly, Lock-nut. Use a 3mm allen wrench and a 8mm crescent wrench to tighten the assemblies. Use a moderate amount of torque.
  3. Attach the single solid V-wheel assembly with the eccentric spacer onto each plate. The eccentric spacer fits into the largest hole on the plate. You should now have two Gantry plates with 4 V-wheel assemblies on each.
  4. Attach the Gantry Plate Assemblies to the Gantry Columns using 4 8mm M5 screws and tee nuts for each assembly. Make sure that the column is attached to the same side of the Gantry Plate as the V-wheel assemblies. It is easiest to partially screw together all of the screws and tee nuts, slide in the extrusion, and then tighten all of the screws at once.
Assemble the Gantry Main Beam

Attach the two corner brackets at either end using 2 8mm M5 screws and tee nuts for each bracket. Make sure both of the brackets are in the same orientation and on the same side of the extrusion.

Lightly screw together 5 sets of 25mm M5 screws and tee nuts and slide them onto the Gantry Main Beam. Evenly distribute them across the beam and then tighten them into place.

Attach the Column Assemblies to the Main Beam Assembly

Using two 8mm M5 screws on each side. Make sure that the V-wheels are facing outward and both of the plates are attached to same side of the Main Beam, and facing in the same direction.

Attach Gantry to TracksFeed and Secure Belts


Change Log


Z-Axis Change LogZ-Axis Assembly Instructions

Partially screw 2 8mm M5 screws and tee nuts into the motor mounting bracket. Route the Stepper Motor’s cable through the bracket and attach the motor to the bracket with 4 8mm M3 screws.

Universal Tool Mount

The Universal Tool Mount (UTM) allows FarmBot Genesis to automatically switch tool is on the z-axis depending on the operation needing to be completed. The UTM is ncessary because it is not feasible to have all tools mounted on the z-axis at one time for several reasons:

  1. This would be very heavy and create more stresses on all components, as well as necessitate a larger z-axis motor.
  2. Most tools need to be the “lowest” thing on the z-axis in order to work. Having multiple tools competing for the lowest position (ex: a temperature probe and a seed injector) would not be ideal and may not work at all. The use of individual tool raising and lowering mechanisms, or a turret style mechanism would be complex, heavy, bulky, and limited in the number of tools it could support.
  3. The Z-Axis’s size must be kept to a minimum in order for it to have minimal impact on the plants, especially when there is not very much space between them.

The UTM is a single 3D printed component that mounts to the Z-Axis aluminum extrusion using two M5 screws and tee nuts. It features 3 strong neodymium ring magnets to magnetically hold tools in place via washers or other magnets placed in the same configuration on the Tool. The magnets double as the keying system to ensure that tools are properly oriented in the UTM. The magnets also function as the passage ways for water, liquid amendments (eg: fertilizer), and vacuum or compressed air to pass through from the UTM (and the rest of FarmBot) to the Tool. In addition, the UTM has 4 spring loaded screws that make electrical connections with Tools. Two are for power (GND and +5V), and two are for data (0 to +5V).

Universal Tool Mount Change Log

There are many changes from the V0.5 UTM design including the following. For a video overview of the design, click here.

Only one version of the UTM was designed and produced this time in order to reduce complexity of options. The cost savings of a specialized UTM for another printing process is marginal, and the added complexity of having different sized screws and other hardware makes it less appealing to support multiple versions.

A note about Tools, Power, and Data

Tim Evers and Rory Aronson had a lengthy discussion in email regarding how to handle communication between the tools and the Arduino/RAMPS board. This discussion can be seen on the Universal Tool Mount page. The summary:

Universal Tool Mount Issues and Proposed Solutions


V0.6 hardware integrates Rotary Encoders onto the back of each of the stepper motors. This is important to ensure that FarmBot always knows where it is in the circumstances when it has been inadvertently moved (by kids or pets) or it tries to move but is prevented from doing so due to some obstruction (rocks, branches, kids, pets). Unfortunately, there are no readily accessible add-on rotary encoders from popular sites like Adafruit or Sparkfun (as of September 2014), however, there are a handful of companies who do produce small, add-on encoders that mount nicely to the back panel of the stepper motor and hook onto a second shaft coming from the motor. The encoders modeled in the renderings below are based on those offered by Schneider Electric.

As of prototpying V0.6 hardware, low-cost rotary encoders have not yet been found or tested. Furthermore, the Arduino firmware does not yet support closed-loop feedback control.


CAD Files

All of the plates can be CNC routed, laser cut, or waterjet cut. The motor housings, Universal Tool Mount, and Tools can be 3D printed. .STL and .DXF files for manufacturing can be downloaded here.

FarmBot Genesis V0.6 was designed natively in SolidWorks 2014. Using SolidWorks 2014 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.

All file formats can be downloaded here.

Bill of Materials