Author Options:

How to power servo without driver/arduino? Answered

I'm trying to make a servo motor spin without using a driver or micro controller, I just want to power it directly.
It doesn't need to move a specific distance, or be precise.
How would I wire this up?

The idea is to power it on by using a HC-05 Bluetooth module, either directly, or by optocoupler.
It would have to trigger the servo on whenever a Bluetooth device that has already been paired connects to the HC-05 module (in wireless range), and then off when a Bluetooth device disconnects (out of range).

My idea is to use an app that automatically plays an audio file through the HC-06 when it connects (this app already exists), and that audio file happens to be the correct frequency to act as a PWM signal.

Is this even possible?

7 Replies

dmagryta124 (author)2015-12-10

I found it easier to just remove the little board from inside the servo and sever the wires to the potentiometer, and just power the motor directly as a geared motor that has a limited range of movement. That is ok because my project includes a spring that pushes the servo arm back when it is not powered.

Thanks for the tips!

Select as Best AnswerUndo Best Answer

-max- (author)2015-12-15

You need to apply a 5V or 6V voltage to the correct wires, and a PWM signal to the signal wire. The PWM need to generate a HIGH pulse that lasts between 1 and 2 milliseconds, then go LOW. The length of that pulse will move the servo to a specific angle. However it will need to be continuously be pulsed to have be held there. how fast you can 'pulse' a servo will depend on the specific servo, but most cheap analog ones can be refreshed over 50 times per second.

If you want to avoid using a microcontroller. A "discrete IC" solution might be made up of DAC, which converts a digital serial signal into a voltage or current level. Then that voltage, along with a ramp wave or triangle wave oscillator would be fed into the inputs of a comparator, which will "compare" the voltages on the 2 inputs, and the output will be either HIGH or LOW depending on which input has higher voltage. The output will be a PWM wave. I actually did EXACTLY THIS using a 555 timer and a opamp while I was interning at NASA, with XBEE radios which rely on UART communication, and trying to control a servo motor at a distance. It was fun! but a very fiddly analog solution.



Select as Best AnswerUndo Best Answer

-max- (author)-max-2015-12-15


That is more-or-less what I ended up making for the sawtooth circuit. Execpt I extracted the signal from pin 6 on the 555, and amplified it using a opamp as a differential amp.

Select as Best AnswerUndo Best Answer

271828- (author)2015-12-14

The HC-05/06 Bluetooth devices are for transmitting serial data, I do not believe they can transmit an audio signal directly. You could talk to a microcontroller using the HC-05 and have that move the servo.

Select as Best AnswerUndo Best Answer

rickharris (author)2015-12-10

1. Modify the servo for continuous rotation (plenty of instructable if you search

2. Apply 5 volts PWM signal to the signal lead (usually white) and a ground to the ground usually black.

The servo will rotate trying to seek a balance to the input square wave but modifying it removes that signal so it rotates all the time.

Select as Best AnswerUndo Best Answer

dmagryta124 (author)rickharris2015-12-10

Thanks for the info Rick! I'll use Audacity audio editor to generate a square wave file for use as the PWM signal. But what frequency (in hertz) do I use? I found a video tutorial for the continuous rotation mod on Flite Test's YouTube channel.

What would the servo do if I just plugged in a constant 4v to the signal wire?

Select as Best AnswerUndo Best Answer

steveastrouk (author)dmagryta1242015-12-10

Rick is pointing out you don't need to apply a frequency. Just ground the PWM or connect it to 5V - it goes one way or the other

Select as Best AnswerUndo Best Answer