I'm usig RPI and Servoblaster to control servos. I've set the --step-size to 2 us, but I'd like to decrease it to 1us. I've tried to set the step-size to 1us, but the Servoblaster displays: Invalid step-size specified.

I've also tried to set the pulse width in micoseconds like echo 1=1140us > /dev/servolaster. It works, but it's unpredictabe (step size is set to 2us):

echo 1=1140us > /dev/servoblaster - motor starts spinnig
echo 1=1142us > /dev/servoblaster - motor **smoothly** speeds up
echo 1=1144us > /dev/servoblaster - motor's speed has not changed
echo 1=1146us > /dev/servoblaster - motor smoothly speeds up (OK, assume that it can be changed by +/- 4)
echo 1=1150us > /dev/servoblaster - motor's speed has not changed - why??
echo 1=1152us > /dev/servoblaster - motor speeds up, but **fastly**
echo 1=1156us > /dev/servoblaster - motor **smoothly** speeds up

Motor: Turnigy aerodrive 2830-11, ESC: Turnigy Multistar 30A

Any idea?

  • Can your ESC (I guess, doesn't sound like a servo) resolve down to 1 microsecond. How are you monitoring the speed change?
    – joan
    Commented Aug 25, 2014 at 11:17
  • @joan: I'll check the ESC specs. I hear how the motor speeds up or down.
    – Alex
    Commented Aug 25, 2014 at 14:16
  • abyz.co.uk/rpi/pigpio will let you send servo pulses with 1us resolution (simplest from command line is sudo pigpiod -s 1 then pigs s 4 1500 to set 1500us pulse on (Broadcom) gpio 4. It works in the same way as servoblaster.
    – joan
    Commented Aug 25, 2014 at 16:37


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.