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:
- MicroPython Basics: What is MicroPython?
- MicroPython Basics: How to Load MicroPython on a Board
- MicroPython Basics: Load Files & Run Code
- MicroPython Hardware: Analog I/O (see the PWM page specifically)
See all the MicroPython guides in the learning system for more information.
In addition check out these guides on servo motors: