Testing Motors, Jags, Batteries

My team has some CIMS, Jags, and batteries from previous years that we had left over and we are wondering how to test them to see if they are working at 100%. Any suggestions on a quick benchmark test?

Any help is appreciated, Thanks!

There are battery testers available comercially to test the old robot batteries.

We were looking for something that we can do with what we already have.

Tell us what you already have.


Anything that an average FRC would/should already have

Well here is my attempt at suggesting something that can be done without specialized testing equipment. Please have someone who is knowledgeable in electrical safety look these suggestions over and help you implement the tests if you chose to do something similar to this. The ideas are not tested.

Do you have any motors, Jags, or batteries that are new, or that you trust enough to use for comparison? If so, you might get some idea of how good the unknown ones perform by doing a simple side by side comparison. Set up your old robot with only one CIM motor and one Jaguar on each side. The known good ones on one side, and the ones you want to test on the other. Then drive the robot straight forward and backwards several times. If the robot tracks reasonably straight each time, the Jags and CIMs are probably working correctly at least to a first level approximation.

If the robot will not track straight you will need to find out the real cause. It could be just mechanical binding or poor alignment. Look for excess friction and also try switching sides with the motors and controllers. Also swap the motors between the controllers so that you discover if the behavior is due to the Jag or the CIM. Doing enough side by side comparisons should eventually give you some amount of confidence that there is nothing seriously wrong with these components, or help to pinpoint the damaged ones.

Testing the battery without a real battery tester is not complicated, it just takes a while. Completely charge the batteries you want to test. Then select a load to use to drain the battery. Something like a car headlight might work. Connect a volt meter across the battery and add the load. Have a student monitor the voltage once every five minutes. You might want to take readings more often if you have a higher current load. When the voltage starts to dip below some voltage (say 10 volts) stop and plot the results. It might take quite a while to drain the battery with a low current load, but it should produce good results.

The area under the curve should be approximately proportional to battery capacity. This is not really true, because you were measuring voltage and not current, but it is close enough to get a comparison between batteries if you use the same load for each test. If you collect this information for a new battery, you will have something to compare against in the future. Not the fastest or most accurate way to test a battery, but it does not require a dedicated tester.

Define “average FRC”. There is such a wide variety of team resources in FRC that there is no such thing. Even in the “average” team range, you might have nothing or you might have high-end meters and similar things.

Here is something that may give you a better idea of what Ether was asking:
Do you have a voltmeter? Oscilloscope? Extra wire? Spare sensors?

The only thing you’ve told us that you have is motors, Jaguars, and batteries.


Well, we’re an average FRC team, and we have a battery tester.

Be careful when doing this… motors tend to have a forward bias. Since the motors in most FRC drive trains (there are exceptions) are placed such that one side runs forward and the other reverse in order to drive the robot forward, you end up with the two sides being slightly unbalanced. As a result, the robot will have a strong tendency to turn slightly when you try to drive it straight. The test as you described would run into this bias, and you’ll likely see the robot drift to one side, making you think the motors on that side were “bad”.

Here is a better test setup that any FRC team can do with items from the KoP:
Hook up a motor to a Jaguar, and into a gear box. On the other side, hook up the output shaft on something that will produce a moderate load on the motor (for example, have it lift a bucket of sand, or a concrete block) and a rotary encoder from the KoP. Control it all through the cRio. You need a moderate load on there to ensure the motor is actually working - without a load, it’s a lot easier for the motor to actually do its job, and a lot harder to tell if something isn’t right.

Your program should be pretty simple - spin the motor for x seconds, and record the revolutions from the encoder. Repeat a few times so you can have some consistent readings. Swap in a different motor, and do it all over again.

You’ll have to record the voltage during the test and recharge the battery often - you’ll see as it wears down that the characteristics of your output change, even if the motor/Jaguar stays the same.

If done right, this type of test can help provide your team with valuable insight into how all of these components work, and how they may deteriorate with time.

I’m really stoked to try this:



That’s sweet! I wonder if they are actually releasing this month or not?

Is there a technical paper somewhere discussing how it computes state of charge and overall health?



I’m unsure, but if Mike Copioli is online/when he gets online, he’ll surely chime in!



Consider using your cRio, a couple spikes, and perhaps some 100 watt lightbulbs to create your own battery tester. If you draw down the power quickly enough, the power consumption of the cRio and spikes will be fairly inconsequential.

That would be a very neat project to consider. Perhaps you could do it and release the source code etc. Remember, the voltage is already recorded and sent to the driver station, so the capability to measure voltage and map it is already there!

If you mean 120v household 100 watt bulbs, how many amps do you think a 100 watt bulb would draw if connected to a 12v battery?


Actually, I was thinking about a 12V 100 Watt bulb. P=VI, so it should draw around 8 amps, correct? They are fairly common and inexpensive online. For instance:

Yes, thanks for clarifying.


Not yet. We are working on a user manual, it should be available shortly. I do not want to get into too much detail but in a nut shell SOC is based on voltage scaled linearly between two points, the data was found empirically and from data sheets on both chemistries and adjusted for NIMH based on number of cells. Health is derived mainly from internal resistance and was also found empirically. Much of the data was obtained from testing the NP18-12B 12V 17.2 Ah batteries used in FRC, the NIMH batteries used in VEX and the 12v NIMH 3000 mAh batteries used in FTC. Other non-FRC/VEX batteries were tested to test for deviations among manufacturers.

Mike showed me the proto at IRI. If you want a battery tester that will give you a good idea of the relative health of your battery and something that you can stick in your pocket, this is the item for you. We have used something I call the “mini-sun”. It is a series of projector lamps that can be used for a battery load. Switch in as many as are needed for the load you want to test with.
For long term, repeatable battery testing with graphing and curve comparisons, you cannot beat the West Mountain CBAIII products. We test all batteries every year using a 7.5 amp discharge. The CBAIII connects to your computer through a USB port, connects a load to the battery, computes amp/hour capacity and displays a continuous discharge curve. This enables a user to see the relative capacity compared to previous years and other batteries while observing if one cell has less capacity than the others. They often will run holiday sales on their products. I have seen the $149 price-tag drop and may include free shipping. If you buy one please tell them you heard about their products from me and you are buying for a FIRST team. I am trying to get them involved with local teams. They are in Waukesha, WI.

I like this, though I think it would be a good idea to put the motor under load during the test, otherwise it doesn’t really mean much. Ideally there would be a load schedule, where load varies with time. Testing just the free speed of a motor is, IMHO, largely useless because the motor will be generating little power and drawing little current, this won’t exercise the system very well.

The load could be a water pump, fan, another CIM motor (used as a generator) connected to an extra 100W lightbulb, a metal disc spinning through a magnetic field (eddy current brake), etc.