Configuring a Controller in VEXcode IQ

When starting to program with VEXcode IQ, Controller blocks will not appear in the Toolbox until a Controller has been configured.

Note: If you have a Controller configured, you must have a Controller paired with your VEX IQ Brain for your project to run.


Adding a Controller

VEXcode IQ Toolbar with the Devices icon highlighted in between the Code Viewer and the Help icons.

To configure a Controller, select the Devices icon to open the Devices window.

VEXcode IQ Devices menu with the Add a device button highlighted.

Select “Add a device.”

VEXcode IQ Devices menu after the Add a device button has been selected. The Controller option is highlighted.

Select "Controller."

VEXcode IQ Devices menu after selecting the Controller option. Below, the Done button is highlighted.

If you want to program the Controller using VEXcode IQ, select “Done” to complete the configuration.

  • If you want to configure the Controller for use without coding, see the additional options below.

VEXcode IQ Devices menu with the previously added Controller highlighted. The Blocks Toolbox is also shown and two Controller-specific Event blocks are highlighted.

Once the Controller is added, you will see the Controller added to the Devices Window, and Controller blocks (like those highlighted in this image) will appear in the Toolbox.


Assigning the Drivetrain to the Controller’s Joysticks

Now that the Controller has been added to the robot configuration, you can assign the Drivetrain to the Controller’s joysticks in the Devices window. This allows you to assign the Drivetrain to the Controller’s joysticks without having to add additional code.

  • The following example uses the Clawbot (Drivetrain 2-Motor)- (2nd gen) Example project.

VEXcode IQ Toolbar with the Devices icon highlighted in between the Code Viewer and the Help icons.

Select the Devices icon to open the Devices window.

VEXcode IQ Devices menu with the previously added Controller highlighted.

Select "Controller."

VEXcode IQ Devices menu with the Controller options shown. There is a diagram of all of the buttons on the controller, and each button can be connected to Motor Groups or Drivetrains by selecting them in the diagram. The left joystick button is highlighted and an icon indicates that it is connected to Left Arcade on the Drivetrain.

Select a joystick icon to toggle through the options.

  • Selecting a joystick icon multiple times will cycle through all the options.
  • Stop once the desired drive mode is displayed.

The four drive modes that you can choose from are: Left Arcade, Right Arcade, Split Arcade, Tank.

 

VEXcode IQ Devices menu with the Controller options shown. An icon indicates that the left joystick is controlling the Drivetrain using the Left Arcade control scheme.

Left Arcade

All movement is controlled by the left joystick.

VEXcode IQ Devices menu with the Controller options shown. An icon indicates that the right joystick is controlling the Drivetrain using the Right Arcade control scheme.

Right Arcade

All movement is controlled by the right joystick.

VEXcode IQ Devices menu with the Controller options shown. An icon indicates that both joysticks are controlling the Drivetrain using the Split Arcade control scheme.

Split Arcade

Forward and backward movement is controlled by the left joystick while turning is controlled by the right joystick.

VEXcode IQ Devices menu with the Controller options shown. An icon indicates that both joysticks are controlling the Drivetrain using the Tank control scheme.

Tank

The left motor is controlled by the left joystick while the right motor is controlled by the right joystick.

 

VEXcode IQ Devices menu with the Controller options shown. Below, the Done button is highlighted.

Select “Done” to save your configuration.


Assigning Motors or Motor Groups to the Controller’s Buttons

Once the Controller has been added to the robot configuration, you can assign motors or motor groups to specific Controller buttons in the Devices window.  Assigning motors or motor groups in the Devices window allows you to control individual motors or motor groups without needing to add code. 

  • The following example has a motor and a motor group configured: ClawMotor and ArmMotorGroup.

VEXcode IQ Toolbar with the Devices icon highlighted in between the Code Viewer and the Help icons.

Select the Devices icon to open the Devices window.


VEXcode IQ Devices menu with the previously added Controller highlighted.

Select "Controller."

VEXcode IQ Devices menu with the Controller options shown. The buttons aside from the joysticks are highlighted, with the L and F axis buttons connected to an Arm Motor Group and a Claw Motor Group.

Configure a motor or motor group to a button by selecting the buttons on the Controller.

  • Selecting the same button multiple times will cycle through your configured motors and motor groups.
  • Stop once the desired motor or motor group is displayed.

The controller has four button groups (L, R, E, and F). Each group can have a single motor or motor group (that is not a part of the Drivetrain) configured to them.

Note: Once a motor or motor group has been configured, it will not display as an option for the other buttons.

VEXcode IQ Devices menu with the Controller options shown and buttons connected to the robot's Motor Groups. Below, the Done button is highlighted.

Select “Done” to save your configuration.


Deleting a Controller

VEXcode IQ Devices menu with the Controller options shown. Below, the Delete button is highlighted.

A Controller can be deleted by selecting the “Delete” option at the bottom of the screen.

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

Last Updated: