How to power servo without driver/arduino?

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?

sort by: active | newest | oldest
dmagryta124 (author) 1 year ago
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!
-max-1 year ago

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.



-max- -max-1 year ago


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.

271828-1 year ago

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.

rickharris1 year ago

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.

dmagryta124 (author)  rickharris1 year ago
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?

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