Let's Make Robots!

Simple motor control for Mr. Basic

I have seen a few people asking questions about controlling Mr. basics motors. One problem is that they draw more current than an L293D can handle. A L298N will do the job but you will want at leat 6V. Below is a schematic of the simplest way I know of to control your motors. Using a 5V relay you can run from 3.6V to 6V. I suggest a 9V relay if you want to use 7.2V.

The relay is a DPDT (double pole double throw) with the motor connected to the common terminals. The forward/reverse signal turns the relay on or off via the BC548 transistor. The diode across the relay coil is wired reverse polarity and only conducts when the coil de-energises to protect the transistor.

You will see in the diagram that with the relay off and the motor connected to the NC (normally closed) contacts that one side is connected to the positive of the battery and the other to ground via another transistor (BD681). When the relay turns on then connections to the motor are reversed and so is the direction of the motor.


The BD681 is a darlington transistor (basically two transistors in one package) that allows a small signal from the processor to drive up to 4A. A heatsink should be used on this transistor! This is your on/off switch. A high to the base of the transistor turns your motor on. A low turns it off. If you are working at 3.6V or trying to drive more than 2A then the 1K resistor could be reduced to as little as 470 ohms.

Because the transistor is working as a highspeed switch you can drive it with your PWM outputs if you want speed control. The diode across the transistor is to protect it from any reverse polarity spikes that can occur when driving an inductive load.

It is documented in the manuals that on powerup or reset that the output pins may temporarily go tri-state (open circuit). To prevent your motor turning on unexpectedly when this happens the 27K resistor pulls the base to ground.

As mentioned below in a reply to Mintvelt. A FET could be used if you are using higher voltages or if you can find a FET designed for low voltage applications.

DAGU is now going to produce a dual version of this for opperating two motors.  

This is the new board that has been designed with this circuit.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Well, do you have a schemat for the macgyvered Monster 6wd controller? If so, can you post it please?

stupid question:

what are each of the pins for? I know gnd is ground and i am assuming vcc is for voltage but how are the others used? make them high to make left motor go back or farward and the other two handle the right motor?

PWM_R: Turns the right motor on. You can send a PWM signal or just on/off
F/R_R: Forward/Reverse for the right motor

F/R_L: Forward/Reverse for the left motor
PWM_L: Turns the left motor on. You can send a PWM signal or just on/off

what makes it go backward or forward? making f/r_r high or low?
With PWM high, and F/R is high the motor will turn in one direction. When PWM is high and FR is low the motor will turn in the other direction. When PWM is low, no power is applied to the motor. Reversing the connections to the motor will reverse the sense of the output.

Check out this page, I think it's working like that. Though I could easily be mistaken, not enough caffeine yet...

Well, that would depend on which way you hooked up your motors. ; j
Where can I find the manual for this board? I only recieved the components in the bag...no manual.

I did not know they had sent them out without instructions. I will fix that this weekend and post instructions here as well for those who have accidently recieved a kit without instructions.

Download the schematic with the component identification from here:http://letsmakerobots.com/node/10302
This will tell you which resistor is R1, R2 etc.

That is a good compromise, but not well explained in the original post.