> Ah ha...i did not know that a servo motor only needs to be "updated" around 20ms. I thought it needed a continous pulse.. Isn't that an oxymoron? :) Actually, they aren't real critical on the frame rate, there just has to be a pause between pulses. I've tried various values from 2mS out to 200. at 10mS and below, the servo response is very smooth. At slow intervals, the motor gets "steppy", and if you ever want to stop a servo (say one converted to continuous rotation) just stop feeding it pulses. If you send a pulse, and target for a 20mS frame rate, you won't have much trouble if the frame rate varies. Even out to 40mS it's not a horrible problem. In my app, I use a timer to generate a 1mS opsys tick that controls the frame rate, and another timer to manage the servo output pulse widths. I use it like an alarm clock, in that the idle loop application looks at the frame delay, and if zero, it sets a servo output high, advances the servo counter (determines which servo is output) and sets the timer to interrupt at XXXuS. If we've just output the last servo, then I set the frame delay to start again, holding off further servo updates. The ISR then fires at the appropriate time, and all it does is output "off" to all servo outputs. This makes it very fast, since it dosen't have to decide anything.