#  Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/036/855/medium800/adafruit_products_3297_iso_ORIG.jpg?1477515307)

Spin two DC motors or step one bi-polar or uni-polar stepper with up to 1.2A per channel using the DRV8833. This motor driver chip is a nice alternative to the TB6612 driver. Like that chip, you get 2 full H-bridges, but this chip is better for low voltage uses (can run from 2.7V up to 10.8V motor power) and has built in current limiting capability. We set it up for 1A current limiting so you don't get more than 2A per chip, but you can also disable the current limiting, or change it to a different limit!

![](https://cdn-learn.adafruit.com/assets/assets/000/036/857/medium800/adafruit_products_3297_quarter_ORIG.jpg?1477515331)

We solder on DRV8833 onto a breakout board for you here, with a polarity protection FET on the motor voltage input. Each breakout chip contains two full H-bridges (four half H-bridges). That means you can drive two DC motors bi-directionally, or one stepper motor. Just make sure they're good for about 1.2 Amp or less of current, since that's the limit of this chip. They do handle a peak of 2A but that's just for a short amount of time, if you turn off the current limiting we set. What we like most about this particular driver is that it comes with built in kick-back diodes internally so you dont have to worry about the inductive kick damaging your project or driver! You also don't have to worry as much about burning out the chip with overdriving since there is current limiting.

![](https://cdn-learn.adafruit.com/assets/assets/000/036/862/medium800thumb/adafruit_products_P3297_gif.jpg?1477518070)

There's two digital inputs per H-bridge (one for each half of the bridge), you can PWM one of the inputs to control motor speed. Runs at 2.7V-10.8V logic/motor power.&nbsp;The motor voltage is the same as the logic voltage, but logic voltage from 2.7V or greater will work so no need to worry if you are powering the motors from 9V and using 3.3V logic. [For higher voltages, check out the TB6612.](https://www.adafruit.com/product/2448) For [_much_ higher voltages and currents check out the DRV8871!](https://www.adafruit.com/products/3190)

![](https://cdn-learn.adafruit.com/assets/assets/000/036/856/medium800/adafruit_products_3297_kit_ORIG.jpg?1477515314)

Comes as one assembled and tested breakout plus a small strip of header. You'll need to do some light soldering to attach the header onto the breakout PCB. Arduino, motors, and power supply not included.

#  Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

## Pinouts

![](https://cdn-learn.adafruit.com/assets/assets/000/036/858/medium800/adafruit_products_pinout.jpg?1477515428)

# Power Pins

- **Vmotor** - This is the voltage for the motors, not for the logic level. Keep this voltage between 2.7V and 10.8V. This power supply will get noisy so if you have a system with analog readings or RF other noise-sensitive parts, you may need to keep the power supplies seperate (or filtered!). The terminal block has a simple polarity protection on the + pin that feeds into VM. The VM pin is not protected, but VMotor is!
- **GND** - This is the shared logic and motor ground. All grounds are connected

# Signal in Pins

These are all '2.7V or higher logic level' inputs

- **AIN1, AIN2** - these are the two inputs to the Motor A H-bridges. If you want to use speed control, PWM the pin that is normally high. If you dont need PWM control, connect them to logic high/low.
- **BIN1, BIN2** - these are the two inputs to the Motor B H-bridges. If you want to use speed control, PWM the pin that is normally high. If you dont need PWM control, connect them to logic high/low.
- **FLT** -This is the **Fault** output, which will drive low if there's a thermal shutdown or overcurrent. Note it is open drain so connect a pullup resistor to your desired logic voltage!
- **SLP** &nbsp;- this is the sleep pin for quickly disabling the driver. **By default it is pulled low with an internal 500K resistor, so the chip is not active!** Connect to a logic high pin either directly or via a pullup resistor to enable the motor control!

# Current Limit Pins

The DRV8833 can perform current limiting for each motor H-bridge. Basically a resistor is connected between Asen and ground to set the Motor A limit (ditto for Bsen and Motor B)

The current limiting rule is: LimitCurrent (amps) = 0.2 V / RSENSE

By default, there are two 1206-sized 0.2Ω resistors on the board for both motors. That means you have a limit of 1 Amp per

If you'd like to raise the limit, you can put a 0.2Ω ohm from Asen to ground, which will then make the RSENSE equal to 0.1Ω (2 parallel 0.2Ω resistors) for a limit of 2A.

You can also totally _disable_ current limiting by soldering _closed_ the two jumpers on the back.

![](https://cdn-learn.adafruit.com/assets/assets/000/036/859/medium800/adafruit_products_jumpers.jpg?1477516292)

If you want a lower current limit, remove/destroy the 0.2Ω resistor on the board and add your own resistor value between Asen or Bsen and ground.

# Motor Out Pins

These are motor power outputs

- **Motor A** - these are the two outputs for motor A, controlled by AIN1 and AIN2
- **Motor B** - these are the two outputs for motor B, controlled by BIN1 and BIN2

#  Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

## Assembly

![](https://cdn-learn.adafruit.com/assets/assets/000/036/869/medium800/adafruit_products_3297_kit_ORIG.jpg?1477518728)

The assembly images below show the similar TB6612 instead of the DRV8833 breakout but the procedure is identical!

## Prepare the header strip:

Cut the strip to length if necessary. It will be easier to solder if you insert it into a breadboard - **long pins down**

![adafruit_products_headers.jpg](https://cdn-learn.adafruit.com/assets/assets/000/036/863/medium640/adafruit_products_headers.jpg?1477518675)

## Add the breakout board:

Place the breakout board over the pins so that the short pins poke through the breakout pads

![adafruit_products_place.jpg](https://cdn-learn.adafruit.com/assets/assets/000/036/864/medium640/adafruit_products_place.jpg?1477518685)

## And Solder!

Be sure to solder all pins for reliable electrical contact.  
  
_(For tips on soldering, be sure to check out our_ [_Guide to Excellent Soldering_](http://learn.adafruit.com/adafruit-guide-excellent-soldering)_)._

![adafruit_products_solder1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/036/865/medium640/adafruit_products_solder1.jpg?1477518701)

![adafruit_products_solder2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/036/866/medium640/adafruit_products_solder2.jpg?1477518706)

![adafruit_products_solder3.jpg](https://cdn-learn.adafruit.com/assets/assets/000/036/867/medium640/adafruit_products_solder3.jpg?1477518712)

![adafruit_products_solder5.jpg](https://cdn-learn.adafruit.com/assets/assets/000/036/868/medium640/adafruit_products_solder5.jpg?1477518716)

#  Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

## Arduino Stepper Motor

In this example we'll wire up and use a bi-polar stepper motor with recommended 9V motor voltage, and 200 steps per rotation.

![](https://cdn-learn.adafruit.com/assets/assets/000/036/860/medium800/adafruit_products_324-03.jpg?1477516399)

# Wiring

We'll wire it to a Metro, but you can use any microcontroller you like!

Connect:

- **Vmotor** to 9V (red wire)
- **GND** to ground
- **SLP** to \> 2.7V power pin
- **AIN1** to Digital 4
- **AIN2** to Digital 5
- **BIN2** to Digital 6
- **BIN1** to Digital 7

Then hook one stepper motor coil to **Motor A** (red and yellow) and the second coil to **Motor B** (green and gray/brown). If you have another motor, you'll need to experiment a little to figure out which wires are which coil. Check any documentation you have! You can use a multimeter to measure between wires, the ones with a small resistance between them are a pair to a coil, for example. If the motor is vibrating but not spinning, check all wires are connected and try flipping around a pair or rechecking the wire pairs.

If you have a unipolar motor, there will be a 5th or 6th wire that is the 'common' wire. Connect these wires to the GND pins in between the Motor A and B outputs on the breakout.

![](https://cdn-learn.adafruit.com/assets/assets/000/036/861/medium800/adafruit_products_drv8833demo.png?1477517856)

[drv8833 fritzing diagram](https://cdn-learn.adafruit.com/assets/assets/000/036/872/original/drv8833dmo.fzz?1477519618)
![](https://cdn-learn.adafruit.com/assets/assets/000/036/874/medium800/adafruit_products_3297-03.jpg?1477520204)

# Software

[We'll use the built-in Arduino Stepper library](http://arduino.cc/en/Reference/Stepper), but you can manually toggle the AIN1/AIN2/BIN1/BIN2 pins with your own favorite microcontroller setup

```auto
#include <Stepper.h>

// change this to the number of steps on your motor
#define STEPS 200

// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 4, 5, 6, 7);


void setup()
{
  Serial.begin(9600);
  Serial.println("Stepper test!");
  // set the speed of the motor to 30 RPMs
  stepper.setSpeed(60);
}

void loop()
{
  Serial.println("Forward");
  stepper.step(STEPS);
  Serial.println("Backward");
  stepper.step(-STEPS);
}
```

Basically after you make the **Stepper** object with the 4 control pins, you can set the rotational speed (in RPM) with **setSpeed(_rpm_)** and then step forward or backwards with **.step(_steps_)** where _steps_ is positive for 'forward' and negative for 'backward'

[For more details, check out the Stepper library](http://arduino.cc/en/Reference/Stepper)

![](https://cdn-learn.adafruit.com/assets/assets/000/036/873/medium800thumb/adafruit_products_P3297_gif.jpg?1477520190)

#  Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

## Arduino DC Motor

This example shows how to control both speed and direction of a DC motor using Arduino.

The DRV8833 can drive two DC motors even though this example only shows a single motor on the "A" set of pins. A second motor can be driven in the same way. Just use the "B" set of pins for both input and output. Code would be the same, updated for the specific pins connected to the "B" channel inputs.

![](https://cdn-learn.adafruit.com/assets/assets/000/135/912/medium800/adafruit_products_711-06.jpg?1742409906)

## Wiring

Here is the wiring diagram to use for these examples. We show a [Metro 328](https://www.adafruit.com/product/2488), but in general any microcontroller can be used. For speed control, PWM outputs are needed, two per DC motor.

![](https://cdn-learn.adafruit.com/assets/assets/000/135/911/medium800/adafruit_products_metro_drv8833_dc_motor_bb.png?1742409201)

The Metro connections are:

- **GND** to GND
- **AIN1** to Digital 5
- **AIN2** to Digital 6
- **SLP** to Digital 7

Motor connections are:

- **AOUT1** to DC motor
- **AOUT2** to DC motor

The wiring connection order for the DC motor generally does not matter and will only affect the resulting motor direction.

External power is used for the motor and is connected via the screw terminal blocks. This power supply must be enough to support whatever DC motor is being used, within the range capable of the DRV8833 (2.7V to 10.8V).

Info: The SLP pin can also be tied directly to 5V (or 3.3V for a 3V logic board) output pin on the Metro for the DRV8833 to be "always active".

## Basic ON/OFF Control

This example does not control speed but is useful for understanding basic motor control. For this, only two digital output pins are needed, which should be readily available on any microcontroller board. Control is done using the [digitalWrite()](https://docs.arduino.cc/language-reference/en/functions/digital-io/digitalwrite/) command.&nbsp;

The DRV8833 datasheet has a table which summarizes what the motor behavior is for the various combinations of the two digital pin ( **xIN1** and **xIN2** ) states:

![](https://cdn-learn.adafruit.com/assets/assets/000/135/920/medium800/adafruit_products_drv8833_hbridge_logic3.png?1742484414)

To keep things simple for this example, we only demonstrate **forward** and **reverse** operation. Here is the example sketch:

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Adafruit_DRV8833/arduino/drv8833_onoff/drv8833_onoff.ino

## PWM Speed Control

OK, now let's control speed using PWM. In Arduino, that's done using the [analogWrite()](https://docs.arduino.cc/language-reference/en/functions/analog-io/analogWrite/) command. The pins 5 and 6 on the Metro 328 were chosen since they support PWM output. The general idea is to set one pin LOW (or HIGH) and then PWM the other pin.

The DRV8833 has two PWM "modes" which it refers to as "fast decay" and "slow decay". The datasheet includes a table which summarizes pin state for each mode:

![](https://cdn-learn.adafruit.com/assets/assets/000/135/919/medium800/adafruit_products_drv8833_pwm_control2.png?1742484321)

To keep things simple for this example, we only show the "fast decay" method. Here is the example sketch:

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Adafruit_DRV8833/arduino/drv8833_pwm/drv8833_pwm.ino

#  Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

## Python & CircuitPython: Stepper Motors

It's easy to use the DRV8833 DC/Stepper Motor Driver or the TB6612 DC/Stepper Motor Driver breakouts with CircuitPython and Python using the [Adafruit CircuitPython Motor](https://github.com/adafruit/Adafruit_CircuitPython_Motor) library to control stepper motors. We'll show you how to wire them up and use the library to control a stepper motor. The code is the same for both breakouts, however the pinouts on each breakout are slightly different.

You can use this breakout with any CircuitPython microcontroller board or with a computer that has GPIO and Python [thanks to Adafruit\_Blinka, our CircuitPython-for-Python compatibility library](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

# CircuitPython Microcontroller Wiring

You can use any CircuitPython microcontroller board, but bear in mind that motors require external power to run. The Metro M0 and M4 have a convenient pin available for providing sufficient power, so this example will use the Metro M4.

Warning: 

We're using [this stepper motor](https://www.adafruit.com/product/324) with [this 9V power supply](https://www.adafruit.com/product/63). With the Metro board, the 9V power supply will power both the Metro and the stepper motor.

Connect a Metro M4, the DRV8833 breakout and a stepper motor as follows:

- **Board VM** to **Metro VIN**
- **Board GND** to **Metro GND**
- **Board SLP** to **Metro 5V**
- **Board AIN1** to **Metro D9**
- **Board AIN2** to **Metro D10**
- **Board BIN1** to **Metro D11**
- **Board BIN2** to **Metro D12**
- **Board AOUT (1 and 2)** to **stepper coil (red and yellow stepper wires)**
- **Board BOUT (1 and 2)** to **stepper coil (green and grey stepper wires)**
- **9V power supply** to **barrel jack on Metro**

![adafruit_products_DRV8833_Metro_stepper_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/094/465/medium640/adafruit_products_DRV8833_Metro_stepper_bb.jpg?1598649381)

For use with the TB6612, connect the Metro M4, breakout and stepper motor as follows:

- **Board VM** to **Metro VIN**
- **Board VCC** to **breadboard power rail**
- **Board GND** to **Metro GND**
- **Board PWMB** to **breadboard power rail**
- **Board BIN2** to **Metro D12**
- **Board BIN1** to **Metro D11**
- **Board AIN1** to **Metro D9**
- **Board AIN2** to **Metro D10**
- **Board PWMA** to **breadboard power rail**
- **Breadboard power rail** to **Metro 5V**
- **Board MOTORA (two pins)** to **stepper coil (red and yellow stepper wires)**
- **Board MOTORB (two pins)** to **stepper coil (green and grey stepper wires)**
- **9V power supply** to **barrel jack on Metro**

![adafruit_products_TB6612_Metro_stepper_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/094/485/medium640/adafruit_products_TB6612_Metro_stepper_bb.jpg?1598909609)

# Python Computer Wiring

Since there's _dozens_ of Linux computers/boards you can use we will show wiring for Raspberry Pi. For other platforms, [please visit the guide for CircuitPython on Linux to see whether your platform is supported](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).&nbsp;

Warning: 

We're using [this stepper motor](https://www.adafruit.com/product/324), and powering the driver board with [this 9V power supply](https://www.adafruit.com/product/63). With the Raspberry Pi, you'll need a separate 5V power supply for the Pi (on USB as normal).

Here's the Raspberry Pi, breakout and stepper motor wired up to the DRV8833:

- **Board VM** to **positive terminal on barrel jack**  
- **Board GND** to **negative terminal on barrel jack**  
- **Barrel jack** to **9V power supply**
- **Board GND** to **Pi GND**
- **Board SLP** to **Pi 3.3V**
- **Board AIN1** to **Pi D19**
- **Board AIN2** to **Pi D26**
- **Board BIN1** to **Pi D20**
- **Board BIN2** to **Pi D21**
- **Board AOUT (1 and 2)** to **stepper coil (red and yellow stepper wires)**
- **Board BOUT (1 and 2)** to **stepper coil (green and grey stepper wires)**

![adafruit_products_DRV8833_RasPi_stepper_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/094/466/medium640/adafruit_products_DRV8833_RasPi_stepper_bb.jpg?1598650062)

And, the Raspberry Pi, breakout and stepper motor wired up to the TB6612:

- **Board VM** to **positive terminal on barrel jack**  
- **Board GND** to **negative terminal on barrel jack**  
- **Barrel jack** to **9V power supply**
- **Board VCC** to **breadboard power rail**
- **Board GND** to **Pi GND**
- **Board PWMB** to **breadboard power rail**
- **Board BIN2** to **Pi D21**  
- **Board BIN1** to **Pi D20**  
- **Board AIN1** to **Pi D19**  
- **Board AIN2** to **Pi D26**  
- **Board PWMA** to **breadboard power rail**
- **Breadboard power rail** to **Pi 3.3V**  
- **Board MOTORA (two pins)** to **stepper coil (red and yellow stepper wires)**
- **Board MOTORB (two pins)** to **stepper coil (green and grey stepper wires)**

![adafruit_products_TB6612_RasPi_stepper_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/094/486/medium640/adafruit_products_TB6612_RasPi_stepper_bb.jpg?1598910142)

# CircuitPython Installation of Motor Library

Next you'll need to install the&nbsp;[Adafruit CircuitPython Motor](https://github.com/adafruit/Adafruit_CircuitPython_Motor)&nbsp;library on your CircuitPython board.&nbsp;&nbsp;

First make sure you are running the&nbsp;[latest version of Adafruit CircuitPython](https://circuitpython.org/downloads)&nbsp;for your board.

Next you'll need to install the necessary library to use the hardware--carefully follow the steps to find and install the library from [Adafruit's CircuitPython library bundle](https://circuitpython.org/libraries).&nbsp; Our introduction guide has&nbsp;[a great page on how to install modules from the library bundle](https://learn.adafruit.com/welcome-to-circuitpython/circuitpython-libraries).

You'll need to manually install the necessary library from the bundle:

- **adafruit\_motor**

Before continuing make sure your board's lib folder or root filesystem has the&nbsp; **adafruit\_motor** folder copied over.

![adafruit_products_DRV8833_lib_folder_CIRCUITPY.png](https://cdn-learn.adafruit.com/assets/assets/000/094/464/medium640/adafruit_products_DRV8833_lib_folder_CIRCUITPY.png?1598643220)

# Python Installation of Motor Library

You'll need to install the Adafruit\_Blinka library that provides the CircuitPython support in Python. This may also require enabling I2C on your platform and verifying you are running Python 3. [Since each platform is a little different, and Linux changes often, please visit the CircuitPython on Linux guide to get your computer ready](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux)!

Once that's done, from your command line run the following command:

- `pip3 install adafruit-circuitpython-motor`

If your default Python is version 3 you may need to run 'pip' instead. Just make sure you aren't trying to use CircuitPython on Python 2.x, it isn't supported!

# CircuitPython & Python Usage

To demonstrate the usage of the DRV8833 and the TB6612, we'll use a complete code example to control a stepper motor. Code is the same for both boards.

Save the following code to your **CIRCUITPY** drive as **code.py** :

https://github.com/adafruit/Adafruit_CircuitPython_Motor/blob/main/examples/motor_stepper_digitalio.py

Once saved, watch your stepper motor move!

Let's take a look at the code. First, import the necessary libraries. Set the `DELAY` in seconds for the time between each motor control statement, and the number of `STEPS` used in each control block.

Next, set up the pins used by the driver board. If you followed the diagrams above, these will already be correct. If you did not, change these to match the pins you used. If you're using CircuitPython on a microcontroller, no changes are necessary. If you're using a Raspberry Pi with Adafruit Blinka, then you need to comment out the microcontroller pins, and uncomment the Raspberry Pi pins.

Then, set all the pins to `OUTPUT`, and instantiate `motor` with each of the four coils.

Now you can begin controlling the motor using the many options available in the Adafruit CircuitPython Motor library. You can [check out the documentation](https://circuitpython.readthedocs.io/projects/motor/en/latest/api.html#adafruit-motor-stepper) for details.

That's all there is to controlling a stepper motor with a DRV8833 or the TB6612!

#  Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

## Python Docs

#  Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

## Python & CircuitPython: DC Motors

This example shows how to control both speed and direction of a DC motor using [CircuitPython](https://circuitpython.org/).&nbsp;

The DRV8833 can drive two DC motors even though this example only shows a single motor on the "A" set of pins. A second motor can be driven in the same way. Just use the "B" set of pins for both input and output. Code would be the same, updated for the specific pins connected to the "B" channel inputs.

## Wiring

Here is the wiring diagram to use for these examples. We show a [Metro M4 Express](https://www.adafruit.com/product/3382), but in general any microcontroller can be used. For speed control, PWM outputs are needed, two per DC motor.

![](https://cdn-learn.adafruit.com/assets/assets/000/135/921/medium800/adafruit_products_metro_m4_drv8833_dc_motor_bb.png?1742487229)

The Metro connections are:

- **GND** to GND
- **AIN1** to Digital 5
- **AIN2** to Digital 6
- **SLP** to Digital 7

Motor connections are:

- **AOUT1** to DC motor
- **AOUT2** to DC motor

The wiring connection order for the DC motor generally does not matter and will only affect the resulting motor direction.

External power is used for the motor and is connected via the screw terminal blocks. This power supply must be enough to support whatever DC motor is being used, within the range capable of the DRV8833 (2.7V to 10.8V).

Info: The SLP pin can also be tied directly to 3.3V output pin on the Metro for the DRV8833 to be "always active".

## Basic ON/OFF Control

This example does not control speed but is useful for understanding basic motor control. For this, only two digital output pins are needed, which should be readily available on any microcontroller board.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Adafruit_DRV8833/circuitpython/onoff/code.py

## PWM Speed Control

OK, now let's control speed using PWM. The pins 5 and 6 on the Metro M4 were chosen since they support PWM output. The general idea is to set one pin LOW (or HIGH) and then PWM the other pin.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Adafruit_DRV8833/circuitpython/pwm/code.py

#  Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

## Downloads

# Files

- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library)
- [EagleCAD PCB files](https://github.com/adafruit/Adafruit-DRV8833-Motor-Driver-Breakout-PCB)

This motor driver is a fairly simple breakout of the DRV8833 motor chip, so do check out the datasheet for the DRV8833 for any details you need about pin voltage limits, capacitance, etc!

[drv8833 datasheet](https://cdn-learn.adafruit.com/assets/assets/000/039/902/original/drv8833.pdf?1488941266)
# Schematic
![](https://cdn-learn.adafruit.com/assets/assets/000/036/870/medium800/adafruit_products_schem.png?1477519566)

# Fabrication print

Dimensions in inches

![](https://cdn-learn.adafruit.com/assets/assets/000/036/871/medium800/adafruit_products_fabprint.png?1477519593)


## Featured Products

### Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board

[Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board](https://www.adafruit.com/product/3297)
Spin two DC motors or step one bi-polar or uni-polar stepper with up to 1.2A per channel using the DRV8833. This motor driver chip is a nice alternative to the TB6612 driver. Like that chip, you get 2 full H-bridges, but this chip is better for low voltage uses (can run from 2.7V up to 10.8V...

In Stock
[Buy Now](https://www.adafruit.com/product/3297)
[Related Guides to the Product](https://learn.adafruit.com/products/3297/guides)
### Stepper motor - NEMA-17 size - 200 steps/rev, 12V 350mA

[Stepper motor - NEMA-17 size - 200 steps/rev, 12V 350mA](https://www.adafruit.com/product/324)
A stepper motor to satisfy all your robotics needs! This 4-wire bipolar stepper has 1.8° per step for smooth motion and a nice holding torque. The motor was specified to have a max current of 350mA so that it could be driven easily with an <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/324)
[Related Guides to the Product](https://learn.adafruit.com/products/324/guides)
### Small Reduction Stepper Motor - 5VDC 32-Step 1/16 Gearing

[Small Reduction Stepper Motor - 5VDC 32-Step 1/16 Gearing](https://www.adafruit.com/product/858)
This is a great first stepper motor, good for small projects and experimenting with steppers. This uni-polar motor has a built-in mounting plate with two mounting holes. There are only 32 steps (11.25 degree) per revolution, and inside is a 1/16&nbsp;reduction gear set. (Actually it's...

In Stock
[Buy Now](https://www.adafruit.com/product/858)
[Related Guides to the Product](https://learn.adafruit.com/products/858/guides)
### Small Reduction Stepper Motor - 12VDC 32-Step 1/16 Gearing

[Small Reduction Stepper Motor - 12VDC 32-Step 1/16 Gearing](https://www.adafruit.com/product/918)
This is a great first stepper motor, good for small projects and experimenting with steppers. This uni-polar motor has a built in mounting plate with two mounting holes. There are only 32 step (11.25 degree) per revolution, and inside is a 1/16&nbsp;reduction gear set. (Actually its 1/16.128...

Out of Stock
[Buy Now](https://www.adafruit.com/product/918)
[Related Guides to the Product](https://learn.adafruit.com/products/918/guides)
### DC Toy / Hobby Motor - 130 Size

[DC Toy / Hobby Motor - 130 Size](https://www.adafruit.com/product/711)
These are standard '130 size' DC hobby motors. They come with a wider operating range than most toy motors: from 4.5 to 9VDC instead of 1.5-4.5V. This range makes them perfect for controlling with an Adafruit Motor Shield, or with an Arduino where you are more likely to have 5 or 9V...

In Stock
[Buy Now](https://www.adafruit.com/product/711)
[Related Guides to the Product](https://learn.adafruit.com/products/711/guides)

## Related Guides

- [Transistors 101](https://learn.adafruit.com/transistors-101.md)
- [Improve Brushed DC Motor Performance](https://learn.adafruit.com/improve-brushed-dc-motor-performance.md)
- [Improve the Low Speed of Brushed DC Motors](https://learn.adafruit.com/improve-low-speed-performance-of-brushed-dc-motors.md)
- [Introducing Adafruit CLUE](https://learn.adafruit.com/adafruit-clue.md)
- [Adafruit MIDI FeatherWing](https://learn.adafruit.com/adafruit-midi-featherwing.md)
- [Adafruit I2C to 8 Channel Solenoid Driver](https://learn.adafruit.com/adafruit-i2c-to-8-channel-solenoid-driver.md)
- [Adafruit Proto Tripler PiCowbell](https://learn.adafruit.com/adafruit-proto-tripler-picowbell.md)
- [Adafruit 2.8" PiTFT - Capacitive Touch](https://learn.adafruit.com/adafruit-2-8-pitft-capacitive-touch.md)
- [Adafruit STEMMA Soil Sensor - I2C Capacitive Moisture Sensor](https://learn.adafruit.com/adafruit-stemma-soil-sensor-i2c-capacitive-moisture-sensor.md)
- [Adafruit Pixel Trinkey](https://learn.adafruit.com/adafruit-pixel-trinkey.md)
- [Adafruit Radio Bonnets with OLED Display - RFM69 or RFM9X](https://learn.adafruit.com/adafruit-radio-bonnets.md)
- [CNC Wooden Building Bricks](https://learn.adafruit.com/cnc-wooden-building-bricks.md)
- [Adafruit 2.8" and 3.2" Color TFT Touchscreen Breakout v2](https://learn.adafruit.com/adafruit-2-8-and-3-2-color-tft-touchscreen-breakout-v2.md)
- [Build an ML Rock Paper Scissors Game with Lobe](https://learn.adafruit.com/lobe-rock-paper-scissors.md)
- [Pi Hole Ad Blocker with Pi Zero W](https://learn.adafruit.com/pi-hole-ad-blocker-with-pi-zero-w.md)
