Product Overview
The 2.5A Dual Motor Drive Module is a next-generation, enhanced motor driver designed as a superior alternative to the classic L298N. While maintaining the same easy-to-use control logic, this module replaces the inefficient bipolar transistors of the traditional L298N with low on-resistance MOS switches . This fundamental upgrade results in dramatically reduced heat generation, eliminating the need for bulky heatsinks and making it significantly more energy-efficient—an ideal characteristic for battery-powered applications .
This compact driver board serves as a powerful interface between your microcontroller (Arduino, STM32, ESP32, Raspberry Pi) and your motors. It provides two independent H-bridges capable of driving two DC motors or one bipolar stepper motor with full forward/reverse direction control and PWM speed regulation.
Whether you are building a smart car, a robotic arm, a conveyor system, or any battery-operated project, this enhanced driver delivers higher efficiency, built-in thermal protection, and a smaller footprint than traditional solutions, ensuring reliable operation and longer battery life .
Key Features
-
Enhanced H-Bridge Design: Utilizes advanced MOSFET switches with ultra-low conduction resistance . Unlike traditional L298N modules that use inefficient bipolar transistors and require large heatsinks, this design generates minimal heat, saving energy and space .
-
2.5A Peak Current Capacity: Each channel can deliver a continuous current suitable for a wide range of motors, with a robust peak current of 2.5A to handle demanding startup loads and stall conditions .
-
Built-in Thermal Protection: Features an integrated thermal protection circuit with hysteresis (TSD). If the motor stalls or the module is overloaded, the driver safely shuts down to prevent damage and automatically resumes operation once the temperature drops .
-
Wide Logic Compatibility: Signal input voltage range of 1.8V to 7V makes this module directly compatible with both 5V microcontrollers (like Arduino) and 3.3V systems (like ESP32, Raspberry Pi Pico) without requiring level shifters .
-
Low Voltage Operation: Supports motor supply voltages from 2V to 10V, making it perfect for battery-powered devices using 2-6 AA batteries or single-cell lithium batteries .
-
Fail-Safe Inputs: Built-in common-mode conduction circuit ensures the motor does not malfunction when the input pins are left floating .
-
Ultra-Low Standby Current: Consumes less than 0.1uA in standby mode, preserving battery life in portable applications and making it ideal for low-power designs .
-
Compact Form Factor: Small footprint allows for easy integration into space-constrained projects like mini robots, drones, and compact automation equipment .
-
Versatile Motor Control: Capable of independently controlling two DC motors with forward, reverse, brake, and PWM speed functions, or driving one 4-wire bipolar stepper motor .
Technical Specifications
Pinout & Interface Guide
Power Terminals
-
VM / + (Power Input): Main motor power supply terminal. Connect a 2V-10V DC power source (battery or regulated power supply) .
-
GND / – (Power Ground): Common ground for both power and logic circuits. Must be connected to the ground of your microcontroller.
Motor Outputs
-
Motor A Terminals (OUT1, OUT2): Connect your first DC motor here. Polarity determines initial rotation direction. For stepper motors, connect one coil here.
-
Motor B Terminals (OUT3, OUT4): Connect your second DC motor here. For stepper motors, connect the second coil here.
Control Signal Pins
-
IN1, IN2: Direction control inputs for Motor A.
-
IN3, IN4: Direction control inputs for Motor B.
*(Note: This enhanced module typically does not require separate Enable (ENA/ENB) pins for PWM speed control. Speed is regulated by applying PWM signals directly to the IN1/IN2 or IN3/IN4 pairs, simplifying the interface.)*
Usage Guide
Control Logic Table (DC Motor Operation)
(Same logic applies to Motor B using IN3 and IN4)
Important Operating Guidelines
-
Power Supply: Ensure your power supply voltage is within the 2V-10V range. Operating above 10V can permanently damage the module .
-
Polarity Protection: Power positive and negative reversed will certainly cause damage to the circuit. Always double-check connections before powering on .
-
Current Limits: While the module can handle 2.5A peaks, ensure continuous operation stays within the 1.5A rating per channel to avoid triggering thermal protection .
-
Short Circuit Protection: Output short circuits or motor stalls will activate thermal protection. However, operating near 10V with peak currents exceeding 2.5A can still cause permanent damage .
Typical Wiring Diagram (Arduino + 6V Battery-Powered Motors)
Basic Arduino Example Sketch
void setup() {
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}
void loop() {
analogWrite(5, 255);
digitalWrite(6, LOW);
digitalWrite(9, LOW);
analogWrite(10, 127);
delay(3000);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
delay(1000);
digitalWrite(5, LOW);
analogWrite(6, 127);
analogWrite(9, 255);
digitalWrite(10, LOW);
delay(3000);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
delay(1000);
}
Q: What makes this "Enhanced L298N" different from a regular L298N module?
The key difference is the underlying technology:
-
Traditional L298N: Uses bipolar transistors with significant voltage drop (approx. 2V), leading to high heat generation and requiring bulky heatsinks .
-
This Enhanced Module: Uses low on-resistance MOS switches, which generate minimal heat, require no heatsink, and are significantly more energy-efficient—ideal for battery operation
Q: What types of motors can I use with this driver?
This module can control:
-
Two brushed DC motors (independent speed and direction control)
-
One bipolar stepper motor (4-wire, 2-phase)
It is not suitable for brushless DC motors (BLDC) or servo motors.
Q: What is the maximum current this module can handle?
The module can provide 1.5A continuous current per channel and handle peak currents up to 2.5A for short durations (motor startup, stalls)
Q: Can I use this with a 3.3V microcontroller like an ESP32 or Raspberry Pi Pico?
Yes, absolutely. The signal input voltage range is 1.8V-7V, making it directly compatible with 3.3V logic without level shifters
Q: What voltage range can I use for motor power?
The motor supply voltage (VM) should be between 2V and 10V DC . This makes it ideal for 2-6 cell battery packs (AA, AAA, NiMH) or 1-2 cell lithium batteries
Q: My motors run weakly. What could be wrong?
Check these common issues:
-
Power Supply Voltage: Ensure your battery voltage matches your motor’s rated voltage and is within 2V-10V.
-
Power Supply Current: Verify your batteries can deliver sufficient current (at least 1.5A per motor).
-
Battery Condition: Weak or dying batteries can cause voltage sag under load.
-
Wiring Gauge: Use appropriate wire gauge for the current; thin wires cause voltage drop.
Q: The module gets warm. Is this normal?
While this enhanced module runs much cooler than traditional L298N, it may still become slightly warm under continuous 1.5A load. However, if it gets hot to the touch, you may be drawing too much current or have a short circuit. The thermal protection will shut it down if it overheats
Q: What happens if I reverse the power supply polarity?
Power positive and negative reversed will certainly cause damage to the circuit . Always double-check your connections before applying power.
Q: What happens if I exceed 10V on the motor supply?
Operating above 10V can cause permanent damage to the module . Always ensure your power supply is within specifications.
Q: The motor stopped working but the module seems fine. Did it break?
Probably not. Check if the thermal protection was triggered:
-
If a motor stalled or was overloaded, the internal temperature may have risen above the safe limit.
-
The module will automatically shut down the outputs to protect itself.
-
Once it cools down (temperature drops), it will automatically resume operation
Q: The motors don't move. What should I check?
Follow this checklist:
-
Check Power: Verify voltage at VM terminals is between 2V-10V.
-
Check Grounding: Confirm module GND is connected to microcontroller GND.
-
Check Input Signals: Ensure your code is setting IN pins correctly (PWM for speed, HIGH/LOW for direction).
-
Check Connections: Verify motor wires are securely connected to output terminals.
-
Check for Overheating: If the module is hot, allow it to cool down and check for stalls or overloads.
Q: The motor only runs in one direction.
Verify your code is correctly setting both IN pins to opposite states. For forward, you need (IN1=HIGH, IN2=LOW) or (IN1=LOW, IN2=HIGH) for reverse. If both pins are the same state, the motor will brake
Q: Can I control motor speed without using PWM?
While PWM is the recommended method for efficient speed control, you can achieve variable speed by varying the voltage on the IN pins. However, this is less efficient and not recommended. PWM is the standard approach
Q: The module has very low standby current. Do I need a power switch?
The module consumes less than 0.1uA when the motors are off but power is still connected . For most battery-powered projects, this is negligible, and you may not need a dedicated on/off switch unless storing the device for extended periods.
Q: Can I drive a stepper motor with this module?
Yes. This module can drive a 4-wire bipolar stepper motor using both H-bridges. You will need to connect one coil to OUT1/OUT2 and the other coil to OUT3/OUT4, then implement a stepping sequence in your code (e.g., 8-step sequence)
Q: Is this suitable for a battery-powered robot?
Yes, it’s ideal for battery-powered applications. The efficient MOSFET design and ultra-low standby current make it perfect for extending battery life in mobile robots, smart cars, and portable devices
Q: Can I use this with high-voltage motors (12V or 24V)?
No. This module is designed specifically for 2V-10V operation . For higher voltage motors, consider our high-voltage driver modules (e.g., traditional L298N for up to 35V).