How to test if a Cortex is "bad"

It’s near the end of the school year and we are putting away our PLTW VEX materials. We have several teachers that use them and some of the cortex are labeled as “bad” because “they didn’t work” but can’t really say why.

Do you have a comprehensive way to test a cortex to see if it has failed? I have an idea to plug a bunch of motors, limit switches and line followers in to the appropriate ports and look at the debugger window in RobotC to see if values are returned on all ports. Is there a better way to do this?

What you describe is a helpful bit of testing. However, without knowing what “didn’t work” means, even your test regimen can lead you astray.

Probably the single biggest failure mode (after user error) is intermittent disconnection at the power connection. There are two main ways this happens, detailed below.

  1. If you look at the power connection and compare a few of them you might find some where one power socket or the other is pushed farther back into the housing. Cortex units with that problem sometimes won’t turn on at all, because you can’t make a full connection with the power supply. Sometimes you’ll be able to get them to run but a movement will cause a disconnect.
  2. Even when the power connection sockets aren’t being pushed backwards out of the connector, you can still have connection failures. After repeated plug and unplug cycles, the sockets expand a bit. Eventually, they will barely make contact with the barrel of the battery connector. Again, you might not be able to get the unit to come on at all, or it might come on but power down at some small movement.

A good solution in either of these cases is to use the Battery Extension Cable, referenced here:

Take steps to get the Cortex plugged in and working with the extension, and then leave it attached to the unit; don’t unplug it from the Cortex ever.

To make a good connection when the socket has pushed back into the Cortex connector, it’s easiest to open up the Cortex. Plug in the extension cable, hold it in place when you press one or both of the cortex sockets onto the barrels of the extension cable.

If the socket has become loose and won’t make a reliable connection (but isn’t pressed back into the connector) you can use either very fine and long needle nose pliers to close up the connector a bit, or you can use a pointy object to press it closed some from one side at a time. Alternately, you can use a fine blade to pry apart the barrel end of the battery extension cable, effectively making the barrel larger so that it will contact the larger socket. Worst case, you can open up the Cortex, pull the socket out of the connector (you might have to take the connector off the board by removing the hold-down screw) close down the socket a bit, and push the socket back into the connector. In that case, be sure to plug in the extension cable before you close up the Cortex.

Once you get reliable power, you’ll probably find most or all of the Cortex units work fine.

It’s also worthwhile to reset the cortex with a paperclip through the reset hole and reload the base firmware and then the RobotC firmware. This will take care of almost all the remaining issues.

After that, check that motor ports 1 and 10 will move a motor in both forward and reverse directions. If not, put a label on the Cortex specifying which port doesn’t work. The rest of the unit should be fine, and you rarely need all the ports at once.

If you have the cortex apart, I would consider replacing the pins in the cortex power connector. If you look up Tamiya connector, you can get sets of pins, sleeves and plastic bodies. These connectors are the same used on RC cars. If you are good with crimpers and a soldering iron, its a pretty simple process.

We are going to do some of these as well.