How to Disable Motor Overheat Protection

Thank you. This really isn’t a big problem, its just for the few matches when I’m really playing strong defense. Most drivetrains get hot after playing agressive defense, and I don’t want to change my gear ratio. It’s good to know there isn’t a way to do that though and I understand why there isn’t.

1 Like

Compressed air can only be used inbetween matches, this is more of a problem in specific matches where I play extreme levels of defense against the opposing alliance and heat up before the end. I would change my drivetrain, but the speed/power I get usually from 360 rpms and 6 motors is normally fine and transmissions are bulky and somewhat complex, which I’d like to avoid.

I don’t climb up with just my robot, but rather with 2 or even 3 goals. I find that if my motors have reached the threshold it just doesn’t have the power to drive up with goals, despite the six motor drive. One might say I don’t have enough torque but under normal conditions it’s fine. It’s only when I’m playing the rare match where I’m playing a lot of defense that I can’t climb. I also have 6 wheel 3.25" omni wheels so I get plenty of grip and no wheel spin

I think the suggestion was to prepare for matches in which you’d expect extreme defensive play. Cool the motors before the match, and toward the end they might be at more reasonable levels.


Yes. There are functions both for printing to the controller’s screen and for retrieving the temperature of specific motors. Check the API docs for the particular programming language you are using.


Compressed air definitely helps between matches, but you can also pre-chill the motors right before the match and get a bit more oomph out of them. I once had a code bug that caused a motor to stall until we restarted the program half way through a match, and pre-match compressed air was the difference between being able to tilt the tray or not.

Yes like @sazrocks said the functions for that are listed in the API. Additionally, the controllers have a rumble function which could alert you without taking your eyes off the game.


There is, however, It adds a delay of about 150 milliseconds to your program so I won’t have it constantly reprinting the data.

Most likely, your motors are already at 35 or 40 degrees at the start of the match. By cooling them down to 30 or 25 degrees, you can avoid some of this issues.


To be clear, it takes 50ms per write operation to the controller’s LCD. This means operations like writing text to a line or clearing a line all take 50ms to complete, meaning that it would take 150ms to write to all 3 lines of the controller’s LCD. Because of this, it’s not recommended to handle writing to the controller in the same thread as your driver control loop. Instead I would recommend having a second thread dedicated to handling writing to the controller, which would have little to no impact on the driver control loop.


Thank you, I’ll keep the pre-chill in mind for the future and look in the API for the functions.

1 Like

While chilling the motors is a possible solution, it’s more of a band-aid solution to the actual problem.

Motor heat is almost always correlated to current draw. The more current you draw, the more heat you create. If you want your motors to run longer, then you have to find a way of cooling the motor or reducing how quickly heat is building up. You can’t legally cool the motor during a match in VRC. This means you have two primary options:

1) Actively cooling the motor between matches by using something like freeze spray or compressed air.
I’ve done a lot of thermal testing on the Talon SRX, Victor SPX, and Falcon 500 - including how best to cool these items during a match and between matches. There are some problems with this solution…

The housing of the V5 motor is plastic, which is not a great thermal conductor. This works both ways. It’s harder to dissipate any heat build up during a match, and it’s harder to cool the motor. This means you’re going to have to dump a lot of freeze spray before you get the important bits cooled off. You could try and remove parts of the housing to get better access to the important bits, but this is going to slow you down. Do you really want to partially tear down all of your drive motors between matches? Probably not.

The other problem with this is you’re never really going to get below ambient temperature. If you do, it’s not going to last more than a few seconds. After you cool your motors like this there’s actually a short period of temperature rise as the motor reaches thermal entropy.

So if you’re starting a match at or close to ambient temperature, playing through defense, and reaching thermal limits by the end of the match; this solution is basically a waste of time and money (freeze spray and compressed air adds up). In general I’ve found that this type of cooling is only really useful between matches where you have a quick turn around and are trying to get your motors back to ambient temperature faster.

2) Reduce the amount of current your motors are drawing during the course of the match.
What are some ways you can reduce current draw?

First, you could add more motors. Accelerating and driving your robot requires some amount of power. Adding more motors spreads that power out over more motors, which reduces the amount of current drawn by each motor. The OP is already at 6 motors, so adding 2 more motors isn’t a reasonable solution, I won’t elaborate on this further.

Another option is to increase your gear reduction. By increasing your gear reduction you’re reducing the amount of torque the motor must produce while your accelerating. With DC motors torque and current have a proportional relationship. So if the motor is producing less torque, it’s not drawing as much current. If the motor is drawing less current, it’s producing less heat.

The downside to this is that you are limiting your top end speed. However, you’ll have more torque available, so you’ll accelerate faster. This is a concept that a lot of teams struggle with. While having a lot of top end speed is really enticing and looks good on paper, it’s useless if your rate of acceleration is so slow you’ll never reach your top speed during normal game play.

In many cases, a robot with less top end speed and more acceleration will be quicker than a robot with more top end speed and less acceleration. This is because the robot with more acceleration will reach its top end speed faster and spend more of the match driving at its top end speed.

When a robot is facing a lot of defense during a match, it is usually having to stop and start a lot. During most games where robots are fairly light and carrying light objects, this is easy for a V5 motor to handle. However, in this game robots are incentivized to carry multiple heavy objects. This added weight + the start and stops under defense is significantly harder on motors.

I suspect if you played with your gearing you might find a good balance of speed + playing through defense + climbing on the platform + not reaching thermal limits before the end of the match.


3.5 cubic feet should fit a legally folded 18x18x18 bot. Doubles as robot carry case! Or you can chill your drinks…


There are ways to help reduce burnout. For example, you may choose to have an advantage in speed as compared to torque. So when you are in a bind you can speed your way out of the situation. Otherwise, it may be beneficial with greater torque or possibly greater power by having a transmission that is able to internally shift where power is delivered for your robot directly to the drivetrain. There’s multiple solutions, but if you don’t want to deal with that issue then just get into the habit of using your opponents pushing you as a slingshot to get you to point A to B instead. Basically, don’t fight a push battle and instead manipulate the situation you are in for your own advantage during a match.

A better option to this is quick swap, which is where you remove the motors screws that hold the motor front plate on, like you would if you were switching gear cartridges. You leave the front plate attached to the robot, but instead of putting the rest of the motor in with the screws, you use zip ties (or rubber bands if you’re crazy) so you can pull the warm motor off and switch it for a cooler one in between matches.
See this thread for more information.


I agree with @Connor here. It sounds like you already made up your mind to use 5:3 with 600RPM motors. That’s at the limit of 2 minute torque this year considering that you are also planning to carry extra 7-10 lbs (2-3 MOGOs). Don’t fight the push is the best advice here (other than freeze your motors before every match lol). Also, when you program your drive make sure all drive motors are set to COAST not HOLD, as HOLD drains tremendous amounts of current which in turn convert to heat inside the motor coils. Don’t forget that inside that cool looking smart motor is a very modest toy DC motor, everything else in the case is gears and electronics. A lot of teams who live on the edge of pushing the limits of those tiny motors use a hot swap system where they take the screws of the cover and use zip ties to hold the 2 shells of the motor together. So in between matches they cut the zip ties, mount new cold motors, zip tie them back and are ready for another 2 minutes of fight. And last one from me - practice driving and don’t mash the sticks like you mix sugar with a spoon, feather those sticks and think about this: when you push the joystick in one direction then immediately the other (whether you had to stop or reverse), the brain sends an opposite voltage to the motor causing a lot of stress on it and a lot of heat - energy has to go somewhere and excess turns into heat, the idea is to drive without the need to cause that excess. If you ever flew any remote controlled toy, you know that big jerks on the sticks are bad. Same here, control it and it will last the 2 minutes. Good luck!

EDIT: VexTeamZ beat me on the quick swap.


I agree with the advice the others here have given to reduce the heat generated by the motors, but if you can’t or won’t solve the overheating through those methods, you can still squeeze a bit more power out of the motors than even with freeze spray.
If you really want the maximum performance, you could use quick-swap motors, and store the spares in a small freezer (or a cooler with dry ice.) That way the cold can fully penetrate to the core of the motor and you can achieve sub-ambient temperatures (technically the ambient heat can fully escape.) It won’t magically double your performance, but you might get another 30 seconds of runtime. Keep in mind you run the danger of causing condensation to form inside the motor, which could cause permanent damage. I would not recommend this strategy in a very humid environment.


@Bob132: Oh man, picture you walk into the event, go to your pit, put a cool looking briefcase on the table, open it with a cool click and a hiss, cold steam comes out, inside: nicely lined up perfectly chilled V5 smart motors. Doing it…


Welcome to the world of engineering, which ultimately is solving the problem within the constraints that you have to work with. The overheat protection is there for a reason. Sometimes compromises have to be made. You might need to either not play such heavy defense to protect your motors or give up trying to climb on the platform with 2 or 3 mobile goals or change your robot in a way that will allow you to do what you want, possibly sacrificing some speed in the process. Good Luck with your choices and your season.


You can also do some programming changes to reduce your robot’s chances of overheating in a match

  1. Switch joystick commands to control motor voltage instead of motor velocity
  2. If you already use motor voltage, then limit the max voltage to 85-95 pct.

The motor velocity commands will use a pid controller to try and get to the exact velocity commanded by the joysticks, which causes extra changes in voltage even at constant speeds. By just commanding a certain voltage to the motors, the voltage will not fluctuate randomly, which saves quite a bit of heat. Limiting the max voltage will definitely cause your motors to not overheat, however, the robot’s max speed and torque will decrease by ten percent or so. There should still be enough torque to drive the robot on the platform. Test by changing the velocity commands to voltage first (if you have not done so already) and then see how high you can keep the voltage while keeping the motors from overheating.


Another option is to limit max current to the motors.

Use vex::motor::setMaxTorque(value,units) to set it in percentage, current, or torque units.
Or in PROS use pros::Motor::set_current_limit(std::int32_t limit).

Then it should limit the current, thus reduce the amount of heating.

And driver can have a turbo override button to increase the limit to 100% when the button is pressed, then go back to 75-80% when it is released.

With proper training drivers can be very skillful to utilize turbo button only when it is really necessary.


[quote=“Jon_Jack, post:16, topic:94498, full:true”]

2) Reduce the amount of current your motors are drawing during the course of the match.

… With DC motors torque and current have a proportional relationship. …[/quote]

Important to note that heat losses are proportional to the current squared. So, 2x current = 4x heat.