Servo Timing Specs

Mar 04, 2004 5 Replies

I've been playing around with PIC, programmable integrated circuit chips. In a book by Mike Predko, he has some samples interfacing a PIC to a R/C servo. According to Mike the servo specs say a pulse of 1.0 ms sends the servo to the right stop, a pulse of 1.5 ms centers it and 2.0 ms sends it to the left stop. My tests are different. 1.115 ms is centered and 0.8 is right stop and 1.5 is left stop, with these pulses going out every 18 ms.



Are there any servo experts who can explain this apparent contradiction. I'm pretty sure of my timing accuracy.


You didn't mention what brand servo.

Several servo driver circuits available at

formatting link
Many appear to use 1.5 +/- .5 as a 'standard'.

Cheers, Fred McClellan The House Of Balsa Dust

formatting link

Are you measuring the pulses with an oscilloscope or by software? Not all servos will be exactly the same and some brands may use a slightly different setting.

The direction for left and right varies with the servo brand. Some are opposite of each other. Todays servos are a nominal 1.5 ms for center. The old Futaba

28's etc use 1.31 ms for center where todays Futaba use 1.51 ms. As an example, the old, old, Digitrio servos had a 1.0 ms center with the extremes at .5 an 1.5 ms.

If you are using junk box servos, you may not know what you have. Basically in todays environment the signal can range from .8 to 2.2 ms.

Are you sure the servo arm is on the servo center mechinically? Make sure you have a 1.5 ms pulse and remove the arm and try to place it at your center.

Dan Thompson (AMA 32873, EAA 60974, WB4GUK, GROL) remove POST in address for email

I'm using a Futaba FP-5148 servo but a S3004 acts the same way. I'm using software timing via delay functions in my PIC C compiler. This may be where the problem lies. I probably have to use an interrupt timing routine that should nail down the timing loops.

"Marlowe"

Those servos are good ones. I am very familiar with the 3004 as I have a bunch of them. I to use various PIC's and program in assembler or Power Basic Pro. I don't go back to assembler any more unless I need to compress code space. PBP allows very accurate timings with the PULSOUT command, of course based on the crystal or oscillator you are using. Just to drive a servo, you don't need to resort to interrupts.

Dan Thompson (AMA 32873, EAA 60974, WB4GUK, GROL) remove POST in address for email

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required