Configuring a custom IQ Controller in VEXcode IQ (1st gen)

This article has been archived. See the updated article here.

You can use the VEX IQ Controller with your robot without programming using a customized VEXcode IQ project.

For this example, we will configure two individual motors and a Drivetrain that will be assigned to the Controller’s buttons and Joysticks. The two individual motors that we will use for this example will be the Arm and Claw motors from the Clawbot configuration. If you do not have a Clawbot, you can still add two individual motors following the same steps. 

The ports for the individual motors and Drivetrain are as follows:

  • Motors:
    • ArmMotor: port 10
    • ClawMotor: port 11
  • Drivetrain:
    • LeftMotor: port 1
    • RightMotor: port 6

The steps that we will follow in this article are:

  • Adding Motors
  • Adding a Drivetrain
  • Adding a Controller
  • Assigning the Motors to the Controller’s Buttons
  • Assigning the Drivetrain to the Controller’s Joysticks
  • Saving Changes
  • Download and Run a Project

Adding Motors

Screenshot of VEXcode IQ development environment, showcasing the user interface for programming VEX IQ robots, including code blocks and workspace layout, designed for educational purposes and beginner robotics enthusiasts.

To configure a motor, select the Devices button to open the Devices window. 

Screenshot of VEXcode IQ development environment showcasing programming interface, with code blocks and robot control options, relevant to VEX IQ Robotics platform for educational purposes.

Select the generation that you are working with.

Screenshot of VEXcode IQ development interface showing programming blocks and workspace layout, illustrating tools for building and coding VEX IQ robots, relevant to educational resources and tutorials for robotics enthusiasts.

Select “Add a device.”

Screenshot of VEXcode IQ development environment showing programming interface, code blocks, and project workspace, illustrating tools for building and programming VEX IQ robots for educational purposes.

Select “Motor.”

Screenshot of VEXcode IQ interface displaying programming blocks and options for VEX IQ Robotics platform, illustrating tools for educational robotics and programming tutorials.

Select the desired port number for your motor. For this example, select port 10 for your Arm Motor.

Screenshot of VEXcode IQ interface displaying programming blocks and options for VEX IQ robotics, illustrating tools for educational robotics projects and programming for beginners.

Re-name the Arm motor by changing the name in the text box at the top of the Options screen to “ArmMotor”. If you select an invalid name, the text box will highlight red to indicate. 

Screenshot of VEXcode IQ development environment, showcasing programming interface and features for VEX IQ Robotics platform, intended for educational use and beginner robotics enthusiasts.

Once the motor is re-named, select “Done” to submit the device to the configuration. Leave the direction selection as-is unless you would like to further customize the motor.

Note: Selecting “Cancel” will undo any changes you have made to the device and will not be a part of the configuration.

Note: For more detail about configuring a motor, click here.

Repeat “Adding a Motor” steps for adding the Claw Motor and select port 11. Do not add the Drivetrain motors using these steps.


Once the motors have been added, the next step is to add the Drivetrain. A Drivetrain can be used both with and without a Gyro. This is example will be focused on adding a Drivetrain without a Gyro.

  • To configure a Drivetrain with a Gyro click here.

Adding a Drivetrain

Screenshot of VEXcode IQ development environment, showcasing the user interface for programming VEX IQ robots, including code blocks and workspace layout, designed for educational purposes and beginner robotics enthusiasts.

To configure a Drivetrain, select the Devices button to open the Devices window if it is not already opened. 

Screenshot of VEXcode IQ development interface showing programming blocks and workspace layout, illustrating tools for building and coding VEX IQ robots, relevant to educational resources and tutorials for robotics enthusiasts.

Select “Add a device.”

Screenshot of VEXcode IQ programming interface showcasing coding blocks and options for VEX IQ robotics, illustrating tools for educational robotics programming and project development.

Select “Drivetrain.”

Screenshot of VEXcode IQ development environment showcasing programming interface and features for VEX IQ robotics platform, designed for educational purposes and beginner robotics enthusiasts.Screenshot of VEXcode IQ interface displaying programming blocks and options for VEX IQ robotics, illustrating the tools available for building and programming educational robotics projects.

Select the desired port numbers for your Left and Right motors. For this example, we will select port 1 for the Left Motor and port 6 for Right Motor. Ports that are already configured for other devices will be unavailable. Port 2 is shown grayed out as an example of a port that is unavailable.

Screenshot of VEXcode IQ interface displaying programming blocks and options for VEX IQ robotics, illustrating tools for educational purposes and beginner robotics enthusiasts.

Turn the Gyro off by un-checking the Gyro box.

Screenshot of VEXcode IQ interface displaying programming blocks and tools for VEX IQ Robotics platform, illustrating features for educational and beginner robotics enthusiasts.

Once the Drivetrain has been configured, select “Done” to submit the device to the configuration or “Cancel” to return back to the Devices menu. Leave the Drivetrain settings as-is unless you would like to further customize them.

Note: Selecting “Cancel” will undo any changes you have made to the device and will not be a part of the configuration.

Note: For more options about configuring a Drivetrain without a Gyro, click here.


The Controller can now be added to the configuration after the individual motors and Drivetrain have been configured. 

Adding a Controller

Screenshot of VEXcode IQ development environment, showcasing the user interface for programming VEX IQ robots, including code blocks and workspace layout, designed for educational purposes and beginner robotics enthusiasts.

To configure a Controller, select the Devices button to open the Devices window if it is not already opened. 

Screenshot of VEXcode IQ development interface showing programming blocks and workspace layout, illustrating tools for building and coding VEX IQ robots, relevant to educational resources and tutorials for robotics enthusiasts.

Select “Add a device.”

Screenshot of VEXcode IQ software interface showcasing programming blocks and options for VEX IQ Robotics platform, used for educational purposes and beginner robotics enthusiasts.

Select "Controller".

Now that the Controller has been added to the robot configuration, the Arm and Claw motors can now be assigned to the Controller’s buttons and the Drivetrain can be assigned to the Controller’s Joysticks.

Assigning the Motors to the Controller’s Buttons

Screenshot of VEXcode IQ interface showing programming blocks and features for VEX IQ Robotics platform, illustrating tools for building and programming robots in educational settings.

Configure a motor to a button by clicking on the buttons on the Controller. Clicking the same button multiple times will cycle through your configured motors. Stop once the desired motor is displayed. The controller has four button groups (L, R, E, and F). Each group can have a single motor (that is not apart of the Drivetrain) configured to them. For example, ArmMotor cannot be configured for both the L and R button groups, only one of them. Once a motor has been configured, it will not display as an option for the other buttons.

Assigning the Drivetrain to the Controller’s Joysticks

Screenshot of VEXcode IQ interface displaying programming blocks for VEX IQ robotics, illustrating coding options and features for educational robotics projects.

You can change the drive-mode of the robot using the Joysticks by selecting the buttons to cycle through the modes until the desired mode is shown. The four modes are: Left Arcade, Right Arcade, Split Arcade, Tank. 

Screenshot of VEXcode IQ development environment showing coding interface and programming blocks for VEX IQ robotics projects, illustrating tools for educators and students in robotics education.

Left Arcade - All movement is controlled by the left Joystick.

Screenshot of VEXcode IQ interface showing programming blocks and tools for VEX IQ Robotics platform, illustrating features for educational robotics projects and programming tutorials.

Right Arcade - All movement is controlled by the right Joystick.

Screenshot of VEXcode IQ interface showcasing programming blocks and features for the VEX IQ Robotics platform, aimed at educational use for beginners and robotics enthusiasts.

Split Arcade - Forward and backward movement is controlled by the left Joystick while turning is controlled by the right Joystick.

Screenshot of VEXcode IQ interface showing programming blocks for VEX IQ robotics, illustrating the layout and features available for users to create and manage robot programs.

Tank - The left motor is controlled by the left Joystick while the right motor is controlled by the right Joystick.

Note: For more options about configuring a Controller, click here.


Once the Controller has been Configured, the changes need to be saved.

Saving Changes

Screenshot of VEXcode IQ interface, showcasing programming blocks and tools for the VEX IQ Robotics platform, designed for educational use and beginner robotics enthusiasts.

Select “Done” to complete the configuration or the changes will not be saved.


Now that the Controller has been configured and the changes have been saved, the project can now be downloaded and run.

Download and Run a Project

Screenshot of VEXcode IQ interface showing programming blocks and options for VEX IQ robotics, illustrating tools and features available for beginners and educators in robotics education.

Select Download to download the project to the Brain’s selected slot.

Note: The Download, Run, and Stop icons will turn briefly gray until the download is complete.

Screenshot of VEXcode IQ software interface, showcasing programming blocks and features for VEX IQ Robotics platform, designed for educational purposes and beginner robotics enthusiasts.

Select Run to start the project while your robot is still connected to your computer.

Note: For more information about how to download and run a project, click here.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: