I am building a robotic insect leg that would be actuated by 2 DC motors for pan and tilt motions. Total weight of the leg is about 1.5kg and 1m long (moment arm ~0.5m). Magnetic encoder would be used to determine position.

This could be a very basic question but I have been searching for information regarding the wiring, control and suitable motor drivers to control the DC motors using Arduino to no avail. So any help would be greatly appreciated!

The two motors that I am using are Servocity's DC gearmotors that come with magnetic encoders:

1) https://www.servocity.com/23-rpm-hd-premium-planetary-gear-motor-w-encoder

  • Will be used for tilt motion

2) https://www.servocity.com/84-rpm-hd-premium-planetary-gear-motor-w-encoder

  • Will be used for pan motion

The commonly used motor driver L298N supports peak currents up to 2A but both these motors have stall current of 20A. The torque/ speed curve is provided but no additional information about the torque/ current curve is available so not able to straightforwardly determine the max current required when running at lower torque requirements.

  • What would be a suitable motor drivers/ H-bridge that can be used with these two motors? Have already read up the few motor driver posts but doesn't seem to have that talks about max current of 20A.

  • Are there wiring diagrams available for these type of gearmotors? The most relevant topic found is this, but I have trouble completely understanding it: Need super-basic help with motor encoder



1 Answer 1


You would need something like the RoboClaw 2x30 motor controller. This should work.

20 amps is a lot of current, which would cause a simple chip like the L298N to get too hot and then fry. Please do not even try this.

For your second question, if you Google "motor encoder tutorial" you should be able to find a lot of information. You should read the RoboClaw user manual, because I think that it will take care of the encoders for you.

These are also called rotary encoders. The basics is that these are A/B encoders which means that there are two output signals, A and B. These signals are the same, but offset by some amount.

Imagine that A and B are square waves with B pushed forward. So you get states like this: A,B = LOW; A = HIGH, B = LOW; A,B = HIGH; A = LOW, B=HIGH; then the table repeats itself. By using interrupts you can detect each time one of the signals change and then figure out the angle traveled. From there you can calculate the distance traveled by the robot, theoretically.

One of the many tutorials will explain this better than I can right now. It really is a lot simpler than I have described it, but that's how I think of it.

  • $\begingroup$ Great! RoboClaw 2x30 looks reaaaalllly good but it is is also pretty expensive. Would this work? It supposedly is able to withstand 30A: 3V-36V Dual Motor Driver Board Module H-bridge DC MOSFET IRF3205 Peak 30A TE589 ebay.co.uk/itm/… And thanks for the quick explanation for rotary encoders. Would find out more! $\endgroup$
    – Citrusying
    Jul 8, 2018 at 9:49
  • $\begingroup$ Stall current is what kills controllers and motors unless you use controllers and wires and connectors that are properly sized. Too many people forget about the wires. If you use something that handles less than the stall current, you'll need to make sure that your motors cannot stall. Otherwise the controller could get too hot and burn out. The cost is appropriate for the quality and the features. $\endgroup$
    – NomadMaker
    Jul 8, 2018 at 11:19
  • $\begingroup$ I'm not sure that the item you're linked to is good enough. It has a 10 amp normal limit and is able to deal with 30 amp for a very short amount of time. And I don't believe it says if those amp limits are per channel or total. If they are total, then it is definitely underpowered. If it is per channel, then it is probably underpowered. $\endgroup$
    – NomadMaker
    Jul 8, 2018 at 20:48
  • $\begingroup$ Yea, I looked through the specifications again and it looks more and more dubious. Decided to spend more to get more reputable ones instead. Won't want to be penny wise and pound foolish! Currently looking at these three options, any comments for these? 1) Pololu Dual G2 High-Power Motor Driver 18v22 Shield for Arduino pololu.com/product/2517 2) Sabertooth dual 32A motor driver dimensionengineering.com/products/sabertooth2x32 3) Your original recommendation RoboClaw 2x30 $\endgroup$
    – Citrusying
    Jul 9, 2018 at 11:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.