Components
Dual H-Bridge Motor Driver
Control two DC motors independently with precise PWM speed regulation. Each channel delivers up to 2A continuous current, and the board connects directly to Raspberry Pi GPIO or Arduino digital pins. Built for wheeled robots, conveyor systems, and any project that needs bidirectional motor control.
- Current per channel 2A continuous
- Channels 2 independent
- Speed control PWM
- Platform Pi & Arduino

Why this driver fits your project
Technical specifications
Electrical
- Continuous current per channel
- 2A
- Peak current per channel
- Typically 3–4A (depends on cooling)
- Motor supply voltage
- Commonly 4.8–36V (check datasheet)
- Logic supply voltage
- 3.3V or 5V
- Control signal
- PWM-compatible GPIO
Physical
- Channels
- 2 independent H-bridges
- Interface
- Pin headers for breadboard or direct wiring
- Mounting
- Through-hole or standoff (check board layout)
Compatibility
- Raspberry Pi
- All models with GPIO (Zero, 3, 4)
- Arduino
- Uno, Mega, Nano, and compatible boards
- Software libraries
- Python GPIO, Arduino motor libraries
How to connect it
Basic wiring takes four GPIO pins per motor—two for direction, one for PWM speed, and one for enable. Power comes from your battery or bench supply.
Common projects
Drive a two-wheel or four-wheel chassis by assigning one motor per side. Vary the PWM duty cycle to steer: full speed on both wheels moves straight, slower on one side turns the robot. Add encoders for closed-loop odometry.
Run a small conveyor belt at adjustable speed. One channel powers the belt motor; the second can drive a sorting gate or second belt. PWM lets you slow the belt for precise item positioning.
Mount a camera on a geared DC motor rig instead of servos when you need continuous rotation or higher torque. One motor pans horizontally, the other tilts vertically. Limit switches or encoders prevent over-rotation.
Common questions
Can I control stepper motors with this driver?
No, this is a dual H-bridge designed for brushed DC motors. Stepper motors need a dedicated stepper driver that sequences coil phases; a DC motor driver will not provide the correct commutation.
What happens if I exceed 2A per channel?
The driver's thermal protection will shut down the affected channel to prevent damage. If your motor regularly draws more than 2A under load, choose a higher-current driver or add a heatsink and active cooling.
Do I need a separate power supply for the motors?
Yes. Motors draw high peak current that can brownout your Pi or Arduino, corrupting the SD card or resetting the microcontroller. Always power motors from a dedicated battery or supply, sharing only the ground line.
Can I use this with a 3.3V Raspberry Pi and a 12V motor?
Yes. The logic inputs accept 3.3V signals, and the motor supply is independent—connect your 12V battery to the motor power terminals. Just ensure all grounds are common.
How do I reverse motor direction?
Either swap the motor wires on the output terminals, or invert the logic signals in your code. Swapping IN1 and IN2 states reverses the polarity applied to the motor.



