Differential motor controller


i would like to make a RC controlled robot with two motors which will be driven to two wheels. These motors will do all the streering job (differential gear). I have two channel remote controller where one channel correspond forward and reverse speed, while the other is for steering. I just wondering if somebody has seen some controller which can do the translating job between the receiver and speed controllers? It is quite trivial task to make it yourself but I hate these prototyping boards. So anything factory made would be preferred.
Also I seen some serial-to-8-servos controllers on this website which are based on the PICmicros, but can’t find schematics to make sure if the PGC/PGD/MCLR pins are wired to outside for reflashing. Also the type of the PICmicro is unclear.

Any help is highly appreciated.


You could consider our TReX or TReX Jr motor controllers, depending on the current your motors will be drawing. The TReX can use RC servo pulses as one of its control interfaces, and it can even handle mixed inputs such as the kind your receiver outputs. The TReX can also accept serial motor commands, which would let you convert your RC robot into an autonomous robot at some point in the future. Furthermore, it can seemlessly transition between RC and serial control, giving you the ability to make a robot that you can toggle between RC and autonomous mode on the fly.

We sell PICs preprogrammed with our servo control firmware. You can find more information about them here:


- Ben

TREX is exactly what I’m looking for. However I need a bit more current. I think working currents will be about 10-20A continuous and up to 30-60A peak for each motor (operating voltage 12V). Maybe you can recommend some more powerfull H-bridges which can be interfaced with TREX?

Thank you,

We have some more powerful TReX controllers in the works that would meet your requirements, but they are probably still a month or two away from being ready for retail. How immediate is your need for a solution?

If your motors are on the low end of the ranges you mentioned, the TReX should suffice as it can handle around 13 A continuous per channel, 30 A peak. You can boost this performance some by adding your own heat sink and/or improving air flow around the motor drivers, but overcurrent protection might still be a problem if your motors have peak currents above 30 A.

Another option is for you to use one TReX for each motor. One feature of the TReX is that you can combine the two motor driver outputs to make a single, more powerful motor driver capable of 25 A continuous. As long as your motor’s stall current is under 60 A, you should be able to drive it by combining the outputs as described in the user’s guide. Unfortunately, this solution will not work if your transmitter is mixing the channels so that each channel affects both motors (as happens when you have one channel for “forward/back” and one channel for “left/right” on a differential-drive robot).

Lastly, one option for you to consider is purchasing a TReX and an extra dual VNH2SP30 carrier board. You could then custom-wire both VNH2SP20 carrier boards (the TReX uses this board as its motor driver, so by purchasing an extra one you will have two) so that each board drives one motor. This is just like using one TReX for each motor, except you would be able to handle channel mixing from your transmitter. The wiring might be a pain, but I think this might end up being the best solution if you need something right now. Please note that we will not be able to provide support for non-standard usage of this kind, so you should consult the VHN2SP30 datasheet before you decide to go this route.

- Ben

Does the wiring to add another dual VNH2SP30 carrier board to the T-Rex stack have to be a pain, or for that mater even consist of wires?

Correct me if I’m wrong (I have a VNH2SP30 carrier but not a T-Rex), the T-Rex controller board sits on top of a VNH2SP30 carrier, and connects to it through the 20-pin 2mm header, but the carrier’s single row of 0.1" spaced sockets is still free, right? You cold solder on some female headers facing down, solder male headers to the second VNH2SP30 carrier facing up, and add the second carrier board to the stack using another pair of slightly longer standoffs and screws (looks like a 4-40 thread, not sure though).

You wouldn’t want to connect all 15 pins through this way, you should probably only do the four enable pins, the two PWM pins, and the +5V in and the grounds for good measure. You can always yank individual pins out of the male headers before soldering them on where you don’t want to make a connection.

To get it all to fit you would probably need to put the big capacitors on the bottom of the second board. You would need to solder bits of big wires or such to respectively connect the A and B outputs of each motor and the big GND and VIN pins for the motor power, but I think it would come out looking quite nice, what do you think Ben?

Of course the best solution is probably to wait for the next version of the T-Rex if you can stand it.


Hmm, I was originally envisioning both chips on one board would be combined to control a single motor, but I don’t see why you couldn’t use one chip from one board paralleled with the corresponding chip from another to control a single motor. So yeah, I think your proposal could work, Adam, assuming the VNH2SP30s can handle being connected in parallel like this.

- Ben

I’ll follow your suggestion and will wait for more powerfull version, because I have time to finish robot mechanics first. Thank you again for your support.