AI agents & screen readers: for a machine-readable, text-only catalogue, start at /llms.txt. Products are available as Markdown (/products.md, /products/{handle}.md) and JSON (/products.json, /products/{handle}.json).
Store

Adafruit

$35.15 |
In stock at supplier
No reviews yet

The Adafruit 16-Channel PWM/Servo HAT adds precision servo and PWM control to your Raspberry Pi. Using the PCA9685 I2C PWM controller, it drives up to 16 ser...

Stock availability

Available with leadtime
74 available
Estimated Delivery
Arrives
Disclaimer
View Markdown
Secure checkout

The Adafruit 16-Channel PWM/Servo HAT adds precision servo and PWM control to your Raspberry Pi. Using the PCA9685 I2C PWM controller, it drives up to 16 servos or PWM outputs simultaneously with 12-bit resolution — completely free-running with no Pi processing overhead.

Up to 62 HATs can be stacked on a single I2C bus for control of up to 992 servos. The board works with any servo that accepts 5V power and 3.3V logic signals. This is a mini kit — headers are included and require soldering.

Key Features

  • 16 PWM Channels – 12-bit resolution (4,096 steps) per output
  • PCA9685 Driver – Free-running I2C-controlled PWM with built-in clock
  • Stackable – Up to 62 HATs on one I2C bus (992 total outputs)
  • Adjustable Frequency – PWM up to ~1.6 kHz
  • Servo Connectors – 3-pin headers in groups of 4 for up to 16 servos
  • Python Library – Ready-to-use library for quick setup

Also Available

Compatibility

  • Raspberry Pi Zero / Zero W
  • Raspberry Pi A+ / B+
  • Raspberry Pi 2 / 3 / 3B+ / 4
  • Any Pi with 2×20 GPIO header

Package Contents

  • 1× Adafruit 16-Channel PWM/Servo HAT
  • 1× 2-pin terminal block
  • 4× 3×4 male headers
  • 1× 2×20 socket header
Important: Raspberry Pi, servos, and 5V power supply not included. A separate 5–6V power supply is required for the servos. Soldering required to attach headers. Terminal block colour may vary.

Specifications

  • Driver Chip – PCA9685
  • Channels – 16
  • PWM Resolution – 12-bit (4,096 steps)
  • Max PWM Frequency – ~1.6 kHz
  • Interface – I2C
  • Form Factor – Raspberry Pi HAT (2×20 header)

Jargon buster

Plain-language definitions for the technical terms used above.

12-bit resolution
12-bit resolution means a value is represented with 12 binary digits, giving 4096 possible levels. For a sensor, analogue-to-digital converter or similar device, higher resolution divides the measured range into finer steps so smaller changes can be distinguished, provided the device's range and noise allow it.
breakout
A breakout board carries a small or fine-pitched component and brings its connections out to standard, breadboard- and header-friendly pins. Describing a part as a breakout means it can be wired into a project without soldering directly to the component's tiny contacts.
GPIO
General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
Headers
Rows of connector contacts on a fixed pitch (commonly 2.54 mm) used to link a board to a breadboard, jumper wires, or another board. They come as male pin headers and female socket headers; when a module ships with pre-soldered headers it can be used straight away, whereas bare pads require soldering the pins yourself.
I2C
I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
PWM
Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
servo
A servo is a motor with built-in position control, usually told to move to a specific angle by a control signal. It matters when you need repeatable movement, such as steering, arms, flaps, or linkages, rather than continuous spinning.
Terminal block
A terminal block is a connector that joins wires together in a neat, removable, or serviceable way, usually clamping each wire under a screw or spring instead of soldering. It makes it easier to connect, change, or service wiring without permanent joints.
Stella
Stella Expert

Ask me anything about this product

Maddy, co-founder of Little Bird

Need help? We're here for you!

Hi, I'm Maddy. My team and I are ready to help with your order or any questions.