V5 Brain "bad port" question

Newbie here, with what might be a couple of simple questions, but not simple to us…

TO START: I have a V5 brain that can’t seem to make up it’s mind whether or not the smart port is dead or not. We’re a young, inexperienced middle school crew that has build the current “Hero” robot published by VEX, which is supposed to run on the pre-installed clawbot code.

As built, there is an arm-lift motor that connects to port #3 on the brain. When we finished the build, we tested everything, with the following results:

  1. Everything worked, but the lift arm motor would not stop when the control buttons (the two in front of the left joystick) were released. We had to turn the brain off to get the motor to stop pulling. This happened both when raising and lowering the arm. This happened every time we tried to test that motor.

  2. After three or four repetitions of this, the arm lift stopped working. When I checked the motor, the LED in the port was blinking very slowly - one quick flash about every second or so. I looked that up online, and it seems that this is the signal that the motor is getting power, but no commands from the brain - general consensus seems to be that this means that the port has burned out.

  3. Later that evening, I decided to test everything else (and to just play around with the robot), and lo and behold, it was working again - albeit with the same “sticking” problem. I decided to swap the ports between the arm and the accumulator (claw, on the clawbot) to try to figure out if the problem was in the controller, the brain, or possibly the motor - and suddenly everything worked exactly as it was supposed to, just on different control buttons. No more “sticking”, everything worked - for about five minutes, then that port #3 went out again. There have been a couple more times where it has worked, very briefly, then started that slow blink again.


  1. WHAT is going on with that port on that brain, and what should I do about it?

  2. HOW do I re-configure things so that I can just plug that motor into port #4, and have the buttons on the controller talk to 4 instead of 3? I’m sure that there has to be a quick, easy way to do this, but I can’t seen to find anything online to tell me how to do it.


Floyd Stegall
Osceola STEM Academy
Osceola, AR

1 Like

Hard to say if the port is dead or not, check for any damaged pins in the port and perhaps try another cable.

Default drive program has buttons mapped to specific motor ports, here are your choices.
(note, vexos 1.0.12 and earlier will incorrectly show motors 6 and 7 swapped as compared to this screen shot which comes from 1.0.13, below is correct mapping).
and if you are using a second controller


Damaged pins in the port - hadn’t thought of that, I’ll check when I get back on campus next week. We had already tried swapping out the cable, made no difference at all.

I take it then that, with the pre-installed drive program, there is no way to re-assign the controllers and the ports. Is there possibly somewhere a copy of that code (preferably in V5 Blocks - we’re raw beginners in writing code, this is only my second year teaching this stuff, and my PLTW training was in RobotC - which I struggled with horribly) that I could download and tweak for myself? I have seen RobotC clawbot code for the Cortex clawbot posted in several places online, but as of yet cannot find V5 Clawbot code, either in blocks or text. I suppose we COULD write entirely new code if necessary, but as I teach my pre-engineering students - one of the first precepts of engineering is “don’t reinvent the wheel if you don’t have to”.

The saving grace for me is that funding was recently approved to upgrade my PLTW Automation and Robotics class equipment to go with the new V5-based curriculum coming out next year, so I’ve got 24 V5 System Bundles on the way, should have them in the middle of January, so I’ll eventually just swap this brain out for a brand new one - but I DO need to figure out how to deal with this in my current situation, because I might find myself facing a similar situation in a competition setting.



The internal drive program is not available, it was written before the VEXcode API was developed and uses a lower level programming API than we make public. It also controls many more motors than you need, as well as implementing limit switches and things like that. There are templates and examples for the clawbot included with VEXcode, you can probably modify one of those. It has been on my todo list to perhaps provide some more comprehensive basic drive code, but we are trying to get the students to write this themselves and not just copy/paste something an adult created so I have to be careful how complete it would be.