Let's Make Robots!

Can i control a servo with a 555 timer?


I would like to sweep a servo back and forth, and theres no point on using the arduino for this, and thats all i have at the moment, so if i supply 0v to the yellow wire on the servo(signal) and then supply it with 5v, then 0, then 5v again.... would it sweep the servo? or does it have to be modulated?



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Take a look at this page for information on how to control a servo.

A servo requires a pulsed signal, about one pulse every 20ms or faster for smooth movement. The width of the pulse, typically between 1 and 2ms at most, determines the angle the servo will go to. To make a servo sweep you need to feed the servo a series of pulses that becomes shorter and longer; shorter pulses make the servo go one way and longer pulses make the servo go the other way.
Although I'm sure there's a way to sweep a servo using a single 555, it's probably easier to use 2 555s. Have one 555 produce the standard neutral position pulse (1.25ms every 20ms), and then have the other 555 generate a slower signal that biases the first 555, making its pulses lengthen or shorten. As you can probably tell, this solution is already starting to get a bit complicated compared to just using an Arduino, but if you're really determined to do it this way then take a good look at the 555 datasheet and check out some recommended circuits.

yes, very complicated :P

 i guess i can use an attiny, i just dont know how to program those, other option is 8 pin picaxe, i have never used any of these, and cant really spend much dough on this right now... i will try using the 555's, whoknos, maybe even by modifying the servo internally?

The picaxe(08M) would be pretty simple(cheap,small) and you could do quite a bit with it as well if you wanted to expand on just simply rotating back and fourth...

However, only the last (double 555) circuit on that page could be capable of sweeping the servo back and forth - the rest all hold the servo at a particular position.

Perhaps you could give us some more info on what it is that you're trying to acheive amando? Is this just a circuit for testing servos, or is it for an actual project?

Did you bother to read the circuit description? In the first circuit, the 100k pot adjusts the output pulse from 0.9 to 2.1 ms, sweeping the servo with a single 555.  The second circuit also adjusts the pulse using a single 555 and a 74121. 

Your tone is not necessary. I was under the impression that amando was looking for a circuit to sweep the servo by itself, without the need to constantly adjust a manual pot, which is why I went on to ask what the actual application of this circuit would be.

The second circuit might as well use 2 555 ICs, since the 74121 is just another type of multivibrator - a second 555, or a 556 in place of the 2 555s would also do the job.

His description suggested a manual switching of the wire to "pulse" a servo, adjusting a pot to sweep is hardly a stretch.


It is an assumption to state the amando was planning on manually switching the wire, just as I had assumed he wanted an automated solution from reading the post title, "Can i control a servo with a 555 timer?".

Sometimes you have to let them do it the hard way.  We all have our own way of learning, and that sometimes involves banging your head against the desk for awhile. Yes, using a picaxe or arduino would be easier, but this way a person would learn exactly the how and why servos work. Remember, this is supposed to be fun and educational.