The Raspberry Pi is a great little computer, but it's not great at controlling servo motors. These motors need specific and repeated timing pulses to set their position. Instead of relying on the Pi's Linux kernel to send these signals, simply attach this handy bonnet! It lets you control 16 servos with perfect timing. It can also perform PWM up to 1.6 KHz with 12-bit precision, all running freely.
Designed for Raspberry Pi Model Zero, A+, B+, Pi 2, or Pi 3 (any Pi with a 2x20 header), this bonnet won't fit on an original Raspberry Pi with a 2x13 pin header.
The Adafruit 16-Channel 12-bit PWM/Servo Bonnet can drive up to 16 servos or PWM outputs via I2C using just 2 pins. The on-board PWM controller drives all 16 channels at once without extra Raspberry Pi processing. You can stack up to 62 of these bonnets to control up to 992 servos using the same 2 pins!
It works with any servo that can be powered by 5V and handle 3.3V logic level signals. You can adjust a solder jumper to change the output logic level to 5V.
Best of all, we offer a Python library for instant setup, bringing your robotic projects to life. The Adafruit PWM/Servo Bonnet is ideal for projects needing lots of servos or PWM outputs. Check out our detailed tutorial for more info, including diagrams, schematics, and installation instructions.
Each order includes a Servo Bonnet, a 2-pin terminal block, a 2.1mm DC jack, and four 3x4 headers. You'll need to do some simple through-hole soldering to attach the terminal block, jack, and headers to the bonnet circuit board, which is easy with basic soldering tools like a soldering iron and rosin core electronics solder. If you want to stack multiple bonnets on one Pi, you can get a 2x20 stacking header and a set of right-angle 3x4 headers for soldering.
Please note! This kit doesn't include a Raspberry Pi, servos, or the required 5V power supply. We recommend a 5 - 6V power supply on the tutorial page, and there are many servo options in the Adafruit shop. Any 3-pin classic DC hobby servo will work. The terminal block in your product may be blue or black.






Using this Adafruit bonnet with your Raspberry Pi is easy. First, make sure your Raspberry Pi is one of the compatible models (Model Zero, A+, B+, Pi 2, or Pi 3). Then, attach the bonnet to the 2x20 header on your Pi. You'll need to do a bit of soldering to attach the terminal block, jack, and headers to the bonnet. But don't worry, it's a simple process with basic soldering tools.
When it comes to servos, this bonnet works with any servo that can be powered by 5V and take 3.3V logic level signals. You can adjust the output logic level to 5V if needed using the solder jumper.
To start controlling your servos, use the provided Python library. It'll get you up and running quickly and bring your robotic project to life.
If you want to control more servos, you can stack up to 62 bonnets on one Pi using a 2x20 stacking header and right-angle 3x4 headers.
Remember, this kit doesn't come with a Raspberry Pi, servos, or the 5V power supply. Check the tutorial page for power supply recommendations and browse the Adafruit shop for servo options. The terminal block you receive may be blue or black.
For maintenance, keep the bonnet clean and dry. Avoid exposing it to extreme temperatures or humidity. If you encounter any issues, refer to the detailed tutorial for troubleshooting.