

Pololu is a company that designs and manufactures a wide range of electronic components, including motor controllers, sensors, and robotics products. These components are widely used in hobbyist, educational, and professional projects. Pololu products are known for their reliability, compact design, and ease of integration into various electronic systems.
Common applications of Pololu components include:








Pololu offers a variety of components, so the specifications vary depending on the product. Below is an example of a popular Pololu product: the Pololu DRV8835 Dual Motor Driver Carrier.
The Pololu DRV8835 Dual Motor Driver Carrier has the following pinout:
| Pin Name | Description |
|---|---|
| VIN | Motor power supply input (2.0 V to 11.0 V). |
| GND | Ground connection. |
| AIN1 | Control input for motor A (logic level). |
| AIN2 | Control input for motor A (logic level). |
| BIN1 | Control input for motor B (logic level). |
| BIN2 | Control input for motor B (logic level). |
| AO1 | Motor A output 1. |
| AO2 | Motor A output 2. |
| BO1 | Motor B output 1. |
| BO2 | Motor B output 2. |
| VCC | Logic voltage input (2.0 V to 7.0 V). |
| EN | Enable pin (active high, can be used to disable the driver). |
Below is an example code snippet to control two DC motors using the Pololu DRV8835 Dual Motor Driver Carrier:
// Define motor control pins
const int AIN1 = 3; // Motor A input 1
const int AIN2 = 5; // Motor A input 2
const int BIN1 = 6; // Motor B input 1
const int BIN2 = 9; // 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: Rotate Motor A forward and Motor B backward
analogWrite(AIN1, 255); // Full speed forward for Motor A
analogWrite(AIN2, 0); // Stop reverse for Motor A
analogWrite(BIN1, 0); // Stop forward for Motor B
analogWrite(BIN2, 255); // Full speed reverse for Motor B
delay(2000); // Run for 2 seconds
// Stop both motors
analogWrite(AIN1, 0);
analogWrite(AIN2, 0);
analogWrite(BIN1, 0);
analogWrite(BIN2, 0);
delay(2000); // Pause for 2 seconds
}
Motors Not Running:
Overheating:
Erratic Motor Behavior:
Q: Can I use this driver with a 3.3 V microcontroller?
A: Yes, the driver supports logic voltages as low as 2.0 V, making it compatible with 3.3 V systems.
Q: What happens if I reverse the motor power supply polarity?
A: Reversing the polarity can damage the driver. Always double-check your connections before powering the circuit.
Q: Can I control stepper motors with this driver?
A: No, the DRV8835 is designed for DC motors. For stepper motors, consider using a dedicated stepper motor driver like the Pololu A4988.
Q: How do I control motor speed?
A: Use PWM signals on the control pins (AIN1, AIN2, BIN1, BIN2) to adjust the motor speed. The duty cycle of the PWM signal determines the speed.