Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use DRV 8835 Motor Driver: Examples, Pinouts, and Specs

Image of DRV 8835 Motor Driver
Cirkit Designer LogoDesign with DRV 8835 Motor Driver in Cirkit Designer

Introduction

The DRV 8835 is a dual H-bridge motor driver manufactured by Pololu, designed for controlling DC motors and stepper motors. It supports motor supply voltages ranging from 0V to 11V and can deliver up to 1.2A continuous current per channel (or 1.5A peak). This compact and efficient motor driver is ideal for robotics, automation, and other motor control applications.

Explore Projects Built with DRV 8835 Motor Driver

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Motor Control System with Phototransistor and Potentiometer
Image of MotorDriver with PhotoRes: A project utilizing DRV 8835 Motor Driver in a practical application
This circuit controls a DC motor using an Adafruit DRV8833 motor driver, which is powered by a 12V battery. The motor speed is adjusted via a rotary potentiometer, and the circuit is activated by a toggle switch. A phototransistor is used to provide feedback or control signals to the motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Motor Control System with Adafruit DRV8833 and Toggle Switch
Image of MotorDriver1: A project utilizing DRV 8835 Motor Driver in a practical application
This circuit controls a hobby gearmotor using an Adafruit DRV8833 motor driver, powered by a 12V battery. A toggle switch is used to control the power to the motor driver, which in turn drives the motor based on the switch's position.
Cirkit Designer LogoOpen Project in Cirkit Designer
ATmega328P Microcontroller-Driven Stepper Motor with DRV8825
Image of Shutter for laser: A project utilizing DRV 8835 Motor Driver in a practical application
This circuit is designed to control a bipolar stepper motor using a DRV8825 stepper motor driver, which is interfaced with a Nano 3.0 ATmega328P microcontroller. The microcontroller sends step and direction signals to the DRV8825, which in turn drives the stepper motor's coils. Power is supplied to the system through a 5V adapter for the logic and a DC power source for the motor, with an electrolytic capacitor for voltage smoothing on the motor supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Stepper and DC Motor with Relay Switching
Image of Conveyor Belt & Capping Motor: A project utilizing DRV 8835 Motor Driver in a practical application
This circuit controls a Nema 17 stepper motor using a DRV8825 driver module, with an Arduino UNO microcontroller dictating the step and direction. Additionally, the circuit can switch a DC motor on and off using a relay module controlled by the Arduino. The power supply provides the necessary voltage for the relay and the motor driver, which in turn powers the stepper motor, while the Arduino's firmware defines the motor's stepping behavior and the relay's switching to control the DC motor.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with DRV 8835 Motor Driver

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of MotorDriver with PhotoRes: A project utilizing DRV 8835 Motor Driver in a practical application
Battery-Powered Motor Control System with Phototransistor and Potentiometer
This circuit controls a DC motor using an Adafruit DRV8833 motor driver, which is powered by a 12V battery. The motor speed is adjusted via a rotary potentiometer, and the circuit is activated by a toggle switch. A phototransistor is used to provide feedback or control signals to the motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of MotorDriver1: A project utilizing DRV 8835 Motor Driver in a practical application
Battery-Powered Motor Control System with Adafruit DRV8833 and Toggle Switch
This circuit controls a hobby gearmotor using an Adafruit DRV8833 motor driver, powered by a 12V battery. A toggle switch is used to control the power to the motor driver, which in turn drives the motor based on the switch's position.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Shutter for laser: A project utilizing DRV 8835 Motor Driver in a practical application
ATmega328P Microcontroller-Driven Stepper Motor with DRV8825
This circuit is designed to control a bipolar stepper motor using a DRV8825 stepper motor driver, which is interfaced with a Nano 3.0 ATmega328P microcontroller. The microcontroller sends step and direction signals to the DRV8825, which in turn drives the stepper motor's coils. Power is supplied to the system through a 5V adapter for the logic and a DC power source for the motor, with an electrolytic capacitor for voltage smoothing on the motor supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Conveyor Belt & Capping Motor: A project utilizing DRV 8835 Motor Driver in a practical application
Arduino-Controlled Stepper and DC Motor with Relay Switching
This circuit controls a Nema 17 stepper motor using a DRV8825 driver module, with an Arduino UNO microcontroller dictating the step and direction. Additionally, the circuit can switch a DC motor on and off using a relay module controlled by the Arduino. The power supply provides the necessary voltage for the relay and the motor driver, which in turn powers the stepper motor, while the Arduino's firmware defines the motor's stepping behavior and the relay's switching to control the DC motor.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Robotics: Driving wheels or actuators in small robots
  • Automation: Controlling conveyor belts or small mechanisms
  • DIY Projects: Building motorized toys or gadgets
  • Stepper Motor Control: Driving small stepper motors in CNC machines or 3D printers

Technical Specifications

The following table outlines the key technical details of the DRV 8835 motor driver:

Parameter Value
Motor Supply Voltage (VM) 0V to 11V
Logic Voltage (VCC) 1.8V to 7V
Continuous Current per H-Bridge 1.2A
Peak Current per H-Bridge 1.5A
Control Interface PWM or PHASE/ENABLE
Protection Features Overcurrent, Thermal Shutdown
Dimensions 0.6" × 0.8" × 0.1" (15mm × 20mm × 3mm)

Pin Configuration and Descriptions

The DRV 8835 motor driver has the following pinout:

Pin Name Description
1 VM Motor power supply (0V to 11V). Connect to the positive terminal of the motor.
2 GND Ground connection. Common ground for logic and motor power.
3 AIN1 Input 1 for motor A. Used for direction or PWM control.
4 AIN2 Input 2 for motor A. Used for direction or PWM control.
5 BIN1 Input 1 for motor B. Used for direction or PWM control.
6 BIN2 Input 2 for motor B. Used for direction or PWM control.
7 VCC Logic power supply (1.8V to 7V).
8 AOUT1 Output 1 for motor A. Connect to one terminal of motor A.
9 AOUT2 Output 2 for motor A. Connect to the other terminal of motor A.
10 BOUT1 Output 1 for motor B. Connect to one terminal of motor B.
11 BOUT2 Output 2 for motor B. Connect to the other terminal of motor B.

Usage Instructions

How to Use the DRV 8835 in a Circuit

  1. Power Connections:

    • Connect the motor power supply (VM) to the VM pin. Ensure the voltage is within the 0V to 11V range.
    • Connect the logic power supply (VCC) to the VCC pin. Ensure the voltage is within the 1.8V to 7V range.
    • Connect the GND pin to the ground of your power supply.
  2. Motor Connections:

    • For motor A, connect its terminals to AOUT1 and AOUT2.
    • For motor B, connect its terminals to BOUT1 and BOUT2.
  3. Control Signals:

    • Use the AIN1 and AIN2 pins to control motor A.
    • Use the BIN1 and BIN2 pins to control motor B.
    • Apply PWM signals to these pins for speed control, or use them in a PHASE/ENABLE configuration for direction and speed control.
  4. Enable the Driver:

    • Ensure the control signals are within the logic voltage range (1.8V to 7V).
    • Use a microcontroller (e.g., Arduino UNO) to generate the control signals.

Important Considerations and Best Practices

  • Current Limiting: Ensure the motor's current draw does not exceed the driver's maximum continuous current rating (1.2A per channel).
  • Heat Dissipation: If operating near the maximum current, consider adding a heatsink or improving ventilation to prevent thermal shutdown.
  • Decoupling Capacitors: Place a capacitor (e.g., 100µF) across the VM and GND pins to stabilize the motor power supply.
  • Avoid Reverse Polarity: Ensure correct polarity for both the motor and logic power supplies to prevent damage.

Example Code for Arduino UNO

Below is an example of how to control two DC motors using the DRV 8835 with an Arduino UNO:

// Define motor control pins
const int AIN1 = 3;  // Motor A input 1 (PWM)
const int AIN2 = 4;  // Motor A input 2
const int BIN1 = 5;  // Motor B input 1 (PWM)
const int BIN2 = 6;  // Motor B input 2

void setup() {
  // Set motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(BIN1, OUTPUT);
  pinMode(BIN2, OUTPUT);
}

void loop() {
  // Example: Drive motor A forward at 50% speed
  analogWrite(AIN1, 128);  // PWM signal (0-255)
  digitalWrite(AIN2, LOW); // Set direction

  // Example: Drive motor B backward at 75% speed
  digitalWrite(BIN1, LOW); // Set direction
  analogWrite(BIN2, 192);  // PWM signal (0-255)

  delay(2000); // Run motors for 2 seconds

  // Stop both motors
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  digitalWrite(BIN1, LOW);
  digitalWrite(BIN2, LOW);

  delay(2000); // Wait for 2 seconds
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motors Not Running:

    • Verify that the motor power supply (VM) and logic power supply (VCC) are connected and within the specified voltage ranges.
    • Check the control signals (AIN1, AIN2, BIN1, BIN2) to ensure they are being correctly generated by the microcontroller.
  2. Driver Overheating:

    • Ensure the motor's current draw does not exceed 1.2A per channel.
    • Improve ventilation or add a heatsink to the driver.
  3. Erratic Motor Behavior:

    • Add a decoupling capacitor (e.g., 100µF) across the VM and GND pins to stabilize the power supply.
    • Check for loose or incorrect wiring connections.
  4. Arduino Code Not Working:

    • Verify that the correct pins are defined in the code and connected to the driver.
    • Ensure the Arduino is powered and properly uploading the code.

FAQs

Q: Can the DRV 8835 drive stepper motors?
A: Yes, the DRV 8835 can drive small stepper motors by controlling both H-bridges. You will need to generate the appropriate step and direction signals.

Q: What happens if the motor draws more than 1.2A?
A: The driver includes overcurrent protection and will shut down temporarily to prevent damage. Reduce the motor load or use a motor with lower current requirements.

Q: Can I use the DRV 8835 with a 3.3V microcontroller?
A: Yes, the DRV 8835 supports logic voltages as low as 1.8V, making it compatible with 3.3V systems.