Note this guide has been updated to show how to use the PCA9685 with both MicroPython.org and Adafruit CircuitPython firmware. There are small differences between the two so be careful to read and follow the instructions that call out these differences.

Servo motors are one way to make projects come to life with exciting movements like steering robots, flipping switches, and more.  To control a servo you need to generate a special PWM, or pulse-width modulation, signal.  Most development boards can generate a few basic PWM signals, but what if you need to control a lot of servos or don't have a board with PWM support?  The PCA9685 PWM driver board comes to the rescue!  This driver board can generate up to 16-channels (or 8-channels in FeatherWing form) of PWM signals--perfect for driving many servos!

This guide explores how to use the PCA9685 PWM & Servo driver with MicroPython.  You'll learn how to connect the PCA9685 to a MicroPython board and use it to control LED brightness and move servos.  

To follow this guide you'll want to be familiar with MicroPython by reading these guides:

See all the MicroPython guides in the learning system for more information.

In addition check out these guides on servo motors:

Last updated on 2017-01-27 at 03.44.00 AM Published on 2016-10-25 at 08.42.54 PM