Adafruit
Adafruit DC Stepper Motor Bonnet for Raspberry Pi
The Adafruit DC & Stepper Motor Bonnet drives up to 4 DC motors or 2 stepper motors from your Raspberry Pi, with full PWM speed control. It uses a dedicated ...
The Adafruit DC & Stepper Motor Bonnet drives up to 4 DC motors or 2 stepper motors from your Raspberry Pi, with full PWM speed control. It uses a dedicated PWM driver chip over I2C, so only two pins (SDA/SCL) are needed — leaving the rest free for other I2C devices or HATs.
The TB6612 MOSFET motor drivers provide 1.2A per channel (3A peak for ~20ms), a significant improvement over older L293D-based drivers. Built-in flyback diodes and a polarity-protection FET keep your Pi and Bonnet safe from wiring mistakes.
Key Features
- 4× H-Bridge Motor Drivers – TB6612 chipset, 1.2A per bridge with thermal shutdown and kickback protection
- Up to 4 DC Motors – Bi-directional with individual 8-bit PWM speed control
- Up to 2 Stepper Motors – Unipolar or bipolar, single/double coil, interleaved, or micro-stepping
- 4.5–13.5V Motor Power – Polarity-protected 2-pin terminal block with jumper
- I2C Control – Dedicated PWM chip, sharable bus with other I2C devices
- Stackable – Up to 32 Bonnets for controlling up to 128 DC motors or 64 steppers
- Fully Assembled – Terminal blocks and 2×20 header pre-soldered, plug and play
Programming
- Python (pip-installable library with examples)
Compatibility
- Any Raspberry Pi with 2×20 GPIO header (Pi Zero, A+, B+, Pi 2, Pi 3, Pi 4, Pi 5)
Ideal For
- Robotics projects with DC motors or stepper motors
- Automated camera rigs and pan/tilt systems
- CNC and 3D printer motion control
Package Contents
- 1× Adafruit DC & Stepper Motor Bonnet (fully assembled with terminal blocks and header)
Jargon buster
Plain-language definitions for the technical terms used above.
- 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.
- 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.
- SDA/SCL
- SDA and SCL are the two signal lines used by an I2C bus: data and clock. Seeing these names helps you identify the correct connections when wiring I2C devices, even though Qwiic cables usually hide that wiring for you.
- Terminal block
- A connector used to join wires together in a neat, removable, or serviceable way. For this product, it helps split one power input into several outputs without soldering.
Find this product in
Brands
Raspberry Pi