Controlling servos with an arduino

arduinoservo

I have an Arduino Duemilanove that I have used for various tasks (including signaling servos). When I got Sparkfun's Wifly shield I was unable to get it working. I then got an Arduino Uno which (surprise) did work with the shield. This leads me to believe that somehow I have damaged my original Arduino. I suspect that it may have been due to controlling a servo.

I am aware of the Servo library and have successfully used it in the past. I am controlling a regular servo (steering servo) and a brushless motor (from a 35A ESC, which the servo plug is attached to) on this R/C car.

However I'm wondering if there is potential for damage to the hardware under certain situations. Of course I won't be powering any motors off of the Arduino itself, but do I have any guarantees that the signal pin of a servo won't draw too much power or do something else that may be a problem?

I could come up with a voltage follower circuit, which might be safer. I'd need to find some op-amps for that, though.

Best Answer

From what I have read, the signal line should only draw a few milliamps at most. However, as Arduino can safely sink or source up to 40mA on it's pins, if you want to limit the draw to say half that just use say a 270 ohm resistor in series with the signal pin to provide a current limit. On a 5V line no more than 18mA should be able to flow in or out per pin.