Powering DC Motor using PWM signal from Micro Maestro

Hey guys,

Pretty new to all this stuff, I’m doing my first project of this type. For now, what I’m trying to accomplish is the control of DC motors using the Micro Maestro 6-Channel USB Servo Controller (Assembled). I currently have the maestro connected via usb to a Rasberry Pi and I’m trying to power my dc motors using the TB6612FNG Dual Motor Driver Carrier. Right now I supply the PWM out from the maestro to the pwm in of the driver and it correctly outputs the pulse to the motor. I’m seeing the output go high at the motor to the VMot level. The problem seems to be that the PWM has too short of a pulse, as the motor only seems to ever be idling, it never moves. Am I missing something here? What exactly do I need to do differently to get this motor to turn?


Hello. As you saw, the servo pulse outputs from the Micro Maestro are not suitable for controlling DC motors because the duty cycle can not go very high. However, if you are willing to give up speed control and just drive the motor at 0% or 100% all the time, you could get something working.

An alternative would be to get one of our motor controllers that has a USB interface and connect it directly to the Raspberry Pi. One of our Simple Motor Controllers would probably be a good choice.


Hey Thanks for the quick reply. The reason we were using the PWM controller was we have 5 motors and it’s 6 channel output was appealing. That’s why we bought the motor drivers, because we were under the impression they could be connected to the PWM controller to power our motors by regulating the PWM signal into a DC voltage. This doesn’t seem to be working though. So that’s the question we’re trying to answer, why aren’t we getting a solid output from our motor drivers when giving it the PWM input from the servo controller?

Unfortunately, the Maestro cannot really be described as a “PWM controller”. It is a servo controller, and servo signals are a specialized type of PWM signal that have a low duty cycle. For more information about the servo control interface, please read this blog post by our company president:
pololu.com/blog/17/servo-con … -in-detail

To drive DC motors with the TB6612FNG and get continuous speed control from 0% to 100%, you would need to have a PWM signal where you can control the duty cycle continuously from 0% to 100%. The Micro Maestro can’t get close to 100% because it was designed for controlling servos and it is difficult to generate overlapping pulses.

Our Mini Maestro servo controllers have one channel that is capable of true PWM output:


I have a Micro Maestro 6-Channel, can I have one real PWM output and control it esayly with C# program? or it is only on the 12 channels and more?
I want to realize a forcefeedback whell for gaming on pc


To get a real PWM output from a Maestro, you would need to use the 12-, 18-, or 24-channel Mini Maestro. And yes, you can control it from a C# program.