August 17, 2012 AT 8:00 am

Servo motors are typically driven using the PWM outputs available on most embedded MCUs, but the Pi doesn’t have native HW support for PWM. It does have HW I2C available, though, which we can use to communicate with a PWM driver like the PCA9685, used on Adafruit’s 16-channel 12-bit PWM/Servo Driver!

Using this breakout, you can easily drive up to 16 servo motors on your Raspberry Pi using our painless Python library and this tutorial.

1 Comment

Actually, most people I know do not drive servos with PWM, they do it via other means that are easier to setup and extend to more servos. They usually involve the use of a single timer unless the frame rate gets too long, then multiple timers will be used.