Configure a Single-Axis Gantry

Configure a single-axis gantry to integrate a single-axis gantry into your robot. Before configuring the gantry, configure any motor components that are part of the gantry.

Navigate to the Config tab of your robot’s page in the Viam app. Click on the Components subtab and click Create component. Select the gantry type, then select the single-axis model. Enter a name for your sensor and click Create.

Creation of a single-axis gantry component in the Viam app config builder.

Edit and fill in the attributes as applicable.

  "components": [
    // < Your motor config >
      "name": "<your-single-axis-gantry-name>",
      "type": "gantry",
      "model": "single-axis",
      "attributes": {
        "motor": "<your-motor-name>",
        "length_mm": <int>,
        "mm_per_rev": <int>
      "depends_on": []

The following attributes are available for single-axis gantries:

length_mmintRequiredLength of the axis of the gantry in millimeters.
motorstringRequiredname of the motor that moves the gantry’s actuator.
boardstringOptionalname of the board containing the limit switches and pins. If limit_pins exist, board is required.
limit_pinsobjectOptionalThe boards’s pins attached to the limit switches on either end. If the motor used does not include an encoder, limit_pins are required to be set.
limit_pin_enabled_highbooleanOptionalWhether the limit pins are enabled.
Default: false
mm_per_revintRequiredHow far the gantry moves (linear, distance in mm) per one revolution of the motor’s output shaft. This typically corresponds to Distance = PulleyDiameter * pi, or the pitch of a linear screw.
gantry_mm_per_secintOptionalThe speed at which the gantry moves in millimeters per second. Used to calculate the gantry motor’s revolutions per minute (RPM).
Default: 100 RPM

Have questions, or want to meet other people working on robots? Join our Community Discord.