NEW Motor Controller coming

It hasn’t shown up on the “What’s New” page yet, probably because it’s not out (although you can pre-order it), but there’s a new Super-Duper Dual Motor Controller. It’s actually a new interface board piggybacked on top of the Dual High-Current Motor Driver, with some neat features like RC override. I’m dreaming up uses already.


Hello, Adam.

The TReX motor controller is something we’re very excited about. We put up a cursory page for the TReX to coincide with a magazine ad that came out at the beginning of the month; we’ll put up a “what’s new” item for it as soon as it’s ready for sale. A real web page and at least some of the documentatation should be out by the end of this week. We’ll also be releasing a Windows application that can interface with the TReX to configure its parameters, send it motor commands, display the channel inputs, and upgrade the firmware!

- Ben

That’s COOL!

It’s like a dual-and-a-half ESC with extra brains. I love that you can invert everything with a single input. Seriously nice feature. I also like that there’s TTL and RS-232 level serial input. That’s a nice feature that’ll make PC-based testing and micro integration loads nicer. I’ll be curious to see how selection is done between them. (Be cool if they could both be used and switch between them, but I’m guessing they go to the same UART?)




The TTL and RS-232 inputs go to the same UART, so it’s nothing special. What we’re really excited about is the simultaneous serial and RC or analog operation, which we hope will allow customers to easily add new levels of control to their robots. The simplest case can just give you a “dead man’s switch” in which an autonomous robot operates only when you allow it. However, you can also use the RC or analog control as inputs for the autonomous system; for instance, you could make a line follower on which you can set the speed by RC.

The ultimate application of the motor controller would be a fully autonomous robot that can also get completely controlled by RC. For instance, if you made a sumo-style robot with this controller, you could make your robot run in one of three modes: fully autonomous, autonomous with some parameters such as “aggressiveness” controlled remotely, or full remote control. And, the key thing is, since the mode is controlled by one of the RC channels, the transitions between modes are instant, while operating.

- Jan

Man, this is cool. I can’t wait to see what people do with this thing. I get the feeling it’s one of those where the projects people build with it are going to make me tilt my head to one side like the RCA Victor dog and go, “Huh! Never thought of that!”

What you said about the line follower with an RC input controlling speed is fascinating! I need to read the docs on this. I had the idea it was an either/or on the RC or UART input. Sounds like I’m wrong! Cool!


More info is up on the product page, and it’s looking more and more awesome! I just installed the Windows configuration application, and it looks great! Kudos to Pololu for reaching new heights in user-friendly-ness.

Two questions that will probably be answered anyway when the user’s guide is posted:

  1. Do you (Pololu guys) plan on publicizing the serial protocol for configuring the TReX without using the Configurator utility, for potential users of other operating systems than Windows?

  2. That looks like an AVR in the corner next to what I can only hope is a six-pin ISP header…right? Or are those just debugging pins for assembly-line testing?

The option to hack one later if I have a very specific embedded purpose for it would make it even more attractive than it already is. Now, since it’s firmware upgradeable over serial there must be some sort of bootloader I would be totally wiping out…

Actually I never noticed before, but it looks like the Mega168 on the Orangutan X2 has a dedicated six pin ISP header as well, not that I would ever want to mess with it.


The serial protocol will be available since it is used to connect the TReX to a microcontroller. The configuration utility was initially going to be an example of using various serial commands, but the Windows/GUI stuff has made the code more complicated and less beginner friendly. We do still intend to make the C# source code available (but it’s not pretty).

Yes, that’s an ISP header in the upper left, so you can feel free to completely void your warranty by erasing the chip. Actually, the bootloader will load a hex file created by AVR Studio, so if you don’t mind having the bootloader run every time, you can make your own custom motor controller that way and still have the option of reloading the original firmware.

On the Orangutan X2, the ISP connection is also the only access to the SPI lines (for both processors). For those who really want access to SPI lines, the !SS line on the mega168 can be used to put additional devices on the bus.

- Jan

Quick followup, half a year later. I’m once again trying to spec out some small custom mobile robots for work (we’ll see if I actually get to build anything this time) and I’m thinking that a TRex would be a great as both the muscle and the low-level brains, with a little custom software. So my questions are:

-I think this was mentioned already somewhere, but which AVR is that running the TRex control board?

-Would you guys be willing to post a schematic of the TRex control board? Not polished, just one you might have lying around to see what is connected to what through what.

-Yes, I would like to use the incluced bootloader to download programs, and have the option of reverting back to the stock Pololu software, but will it handle AVR studio hex files with unusual line lengths, or would I need to watch out for those?



Hi, Adam.

I can address your first and third questions:

  1. The TReX uses an ATmega168.

  2. The bootloader does not correctly handle hex files whose lines aren’t full, so you would need to reformat such files before sending them to the TReX.

I’ll let Jan get back to you about the schematic.

- Ben

I’ve attached a schematic of the top board; the bottom one is the dual VNH2 board that has the schematic on the web page. The schematic should be fairly accurate; one thing I see missing is that the transistors in the serial circuit don’t show the built-in resistors (base resistor and base-emitter resistor).

- Jan
dmc01a.pdf (220 KB)

Awesome, Thanks!

Now lets see if we actually get to go ahead with the project or not…


AWESOME! We’re actually doing it!

This is excellent in that we’ll be able to start out under RC control just to drive the platform around a little, with the potential to turn the TRex into the brains of a more autonomous robot later, or have it take commands from a secondary controller and retain the RC option.

Looking a little into the future, is there any reason I couldn’t do something similar with the TRex Jr? I know it doesn’t have the standard programming header, but for now we’re planning on sticking with the built-in bootloader. I wonder if you could post a schematic of the Jr as well?

Thanks a bunch!