Speed Controller and VEX microcontroller


I am currently working on a homebuilt robot that is mid-sized between VEX and FRC, but closer to FRC sized.
I am planning on using the VEX microcontroller to control the robot, but i want to use larger more powerful motors. I am wondering what kind of speed controller can i use that can be used to power a CIM motor without using an expensive Victor. I am looking for an affordable speed controller to do this.


I’ve successfully used the Sabertooth 2X5 and 2X10 controllers with Vex.
They are available from Lynxmotion and start at around $60 for a 2-channel controller.


  • Dean

Also, what kind of motors were you running?

Edit: Would this work for what I am trying to do? Since it is dual channel, can i send different signals to each motor, or will they both receive the same signal? Basically, can i control each channel individually?

Quazar you might be able to answer this question. VEXLabs has released what I’m assuming is a motor controller so that you can control the VEX Blue motors with the VEX Red controller. How big of a motor could you use with that motor controller?

look on robotshop.ca they have a wide selection of motors and controllers to go with it, so you can select ones that meet your needs

pretty much anything with PWM control will definitly work with Vex

You could use Banebots speed controllers.


How can I tell whether it has PWM input? Im not sure, but does http://www.robotshop.ca/home/products/robot-parts/motor-controllers/brushed-motor-controllers/all-brushed-motor-controllers/dimension-engineering-sabertooth-2x25.html <----this one, have PWM input?

no but it does seem to have analog control which i believe would work with vEx

I have used a couple of HB-25 controllers with the Vex signal splitter to drive a pair of wheelchair motors at 12v.

Yes, this does have PWM inputs that will work with the Vex controller. On the Sabertooth modules, they call it R/C instead of PWM. This controller is just a bigger version of the 2X5 and 2X10 modules I mentioned earlier, and I’m fairly sure it’ll work just fine with Vex.

You do have to be a bit careful regarding the meaning of PWM w.r.t. motor controllers.

When talking about radio control hobby servos (such as the Vex 3-wire motors and servos), the signal is a digital pulse train at about 50Hz with a pulse width of 1 to 2 ms. The motor/servo changes speed/position depending on the width of each pulse: 1ms is full CCW, 1.5ms is stopped/centered, and 2ms is full CW. At 50Hz, this means the duty cycle varies between 5% and 10%, and the signal is just a signal; it doesn’t power the motor. The PWM signal is the white wire in the Vex system; the actual power for the motor comes from the red and black wires.


When talking about DC motor controllers, PWM can also refer to the way power is switched through the 4 transistors that make up an “H-bridge”. Basically, they switch between forward and reverse quickly, and the motor averages the power. For instance, if the “forward” transistors are on 80% of the time, and the “reverse” transistors are on the other 20%, the resulting motor speed would be about 30% forward. In this model, 0% is full CCW, 50% is stopped, and 100% is full CW, so the duty cycle varies between 0% and 100%.


Sorry for the long reply, but I want to make sure you understand that PWM is thrown around as a generic term, but it needs to be interpreted in context. It can be particularly confusing since these two meanings both appear in discussions about DC motors and controllers.


  • Dean

I used the 2X5 module with these motors on a Lynxmotion Tri-Track base powered by a standard 7.2V battery pack.

I used the 2X10 module to drive a pair of these: Left, Right

Yes, each channel is individual. It is exactly like using two separate motor controllers. The only thing shared between the two channels is the battery.


  • Dean

Actually, it does have a PWM input which should work with Vex (On the Sabertooth line, they call it “R/C”, see my other long post for too many details).

Also, the Vex Microcontroller does not have an analog output, so it can’t directly drive the analog input of this controller.

The analog input option on these controllers is a handy feature because you can hook a potentiometer directly to the controller and just dial up a speed you like. Not important for a live robot, but great for prototyping and testing.


  • Dean

Very nice explanation of PWM Quazar.

Personally I would go with the HB-25 motor controller from parrallax starting at 49.95, which is pretty cheap because it can control pretty big motors.


Is the HB-25 more like a spike or a victor. I got the idea from the description that it only has 3 positions, forward - neutral - reverse
Is that correct?

It can be programmed to ramp up, full forward, half forward speed, backward (any speed), you name it. It is a great controller for robotics. I have 4 right now and they are perfect for almost any application. As far as I know, the HB-25 is very similar to the Victor.


Ok, Thanks everyone that helped.

Just in case any one wants to know, this is what i am planning on doing:
VEX Microcontroller with the HB-25 (2x) controlling 2 CIMs from a 12v SLA battery

Thanks Again!

Whats this robot going to do?

Well, for now I am just trying to get a driving base and i am planning on testing and using it to develop code. I really am planning on loading it with sensros, like gyros, geartooth sensors, light sensors, and i want to see how well i can make it almost completely autonomous and i was trying to break away from the vex motors and build something larger scale, faster and stronger.

Thanks, though after re-reading it, I noticed that I never mentioned PWM means “Pulse Width Modulation” - probably a good basic thing to mention :wink:

Guess I need to pick up a pair of HB-25’s too. I’ve got a bigger project coming up this summer, and I was going to use a 2X25, but a pair of HB-25’s is cheaper and seems to be very highly recommended.


  • Dean

I just bought: 1xHB-25 motor controller; 1x12V 18Ah SLA battery; 1xCIM 2.5" motor:
My question is, can i wire the battery directly to the motor controller, or do i need to use a Circuit breaker in between?