Can't change IQ controller drivetrain velocity

Using VEX IQ, I can’t seem to change the drivetrain velocity or turn velocity when using the controller. It appears to remain at the default. I have tried using “SET DRIVE VELOCITY TO ___%” and “SET TURN VELOCITY TO __%” in VEXCODE but nothing seams to change the velocity.

Hi and welcome to the forum. Could you post the code that you are using?


Check out the Vex Code Blocks Primer video and 2 drivetrain lessons here (I need to get back to making more of these)

While you can set velocity to a % discretely in code, every time you touch the stick you are overriding that value with the signal from the % of the input your stick is providing.

If you are trying to go slower, you can build a derate % in to your stick calculations by multiplying by a decimal less than 1. For example, multiplying your stick inputs by .75 will make the robot travel at a 75% of full speed velocity when you push the sticks all the way up.

If you are trying to go faster, it is likely that you are mechanically maxed out and need to investigate a faster gear ratio in your build.

Hope this helps.


I am having the same concern. Where is this Primer Video and drivetrain lessons? Does “here” mean in the forum? can you add a link? also how do I “build a derate % in to the stick calculations”.
Here is my code:
Screen Shot 2022-04-22 at 4.20.43 PM

So, the thing about your code is that it’s effectively being overridden by the default controller operation, because you don’t have any code to programmatically determine speed.

Look at the VexCode examples for left stick arcade or tank mode controller, and these will give you the good starting point for when you’re trying to move beyond the basics.

1 Like