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.
Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.
Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !
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.