A4990 Dual Motor Driver Carrier
This compact breakout board makes it easy to use Allegro’s A4990 dual motor driver, which can control two bidirectional DC motors over a wide operating voltage range of 6 to 32 V. It is capable of delivering a continuous 0.7 A to each motor channel, and onboard sense resistors enable the A4990 to limit the peak motor current to about 0.9 A per channel. The driver also features protection against reverse-voltage, under-voltage, over-voltage, over-current, and over-temperature.
![]() |
| A4990 dual motor driver carrier, bottom view with dimensions. |
|---|
Allegro’s A4990 is a dual H-bridge motor driver IC that can be used for bidirectional control of two brushed DC motors at 6 to 32 V. It can supply up to 0.7 A continuously to each motor channel, and the current control feature of the A4990 limits the peak motor current to about 0.9 A per channel with the onboard sense resistors, making this a good choice for small, low-current motors that run on relatively high voltages. Since this board is a carrier for the A4990, we recommend careful reading of the A4990 datasheet (301k pdf). The board ships populated with all of its SMD components, including the A4990 and an additional FET for reverse battery protection.
For a single-channel driver with a DIR/PWM interface and a similar operating voltage range, please consider our DRV8801 carrier. For lower-voltage alternatives to the A4990, consider our DRV8833 and DRV8835 dual motor driver carriers.
1 The overvoltage protection typically kicks in at 34 V, but it can trigger at voltages as low as 32 V.
2 While the A4990 can tolerate input voltages as high as 50 V, the reverse-voltage protection MOSFET is only rated for 40 V.
![]() |
| Minimal wiring diagram for connecting a microcontroller to an A4990 dual motor driver carrier. |
|---|
In a typical application, power connections are made on one side of the board and control connections are made on the other. The INH (inhibit) pin is pulled low internally, disabling the A4990 by default, and must be driven high (2.0–5.5 V) in order to enable the driver.
The OUT1 and OUT2 pins form one motor channel while the OUT3 and OUT4 pins form the other. The state of each output is controlled by a corresponding input (IN1 through IN4); note that IN2 and IN4 are inverted inputs. All four INx pins are pulled to their inactive states by default. See the truth tables in the A4990 datasheet for more information on how the inputs affect the driver outputs.
The EF1 and EF2 pins are open-drain outputs that are driven low by the chip to indicate active faults (the datasheet describes what each combination of EF1 and EF2 means). Otherwise, these pins remain in a floating state, so you will need to connect external pull-up resistors (or use microcontroller inputs with their built-in pull-ups enabled) if you want to monitor fault conditions on the driver.
![]() |
| PIN | Default State | Description |
|---|---|---|
| VIN | 6–32 V motor power supply connection. | |
| VBB | This pin gives access to the motor power supply after the reverse-voltage protection MOSFET (see the board schematic below). It can be used to supply reverse-protected power to other components in the system. It is generally intended as an output, but it can also be used to supply board power. | |
| GND | Ground connection points for the motor and logic power supplies. The control source and the motor driver must share a common ground. | |
| OUT1 | Motor A output +. | |
| OUT2 | Motor A output â?’. | |
| OUT3 | Motor B output +. | |
| OUT4 | Motor B output â?’. | |
| IN1 | LOW | Control input for OUT1. PWM can be applied to this pin. |
| IN2 | HIGH | Inverted control input for OUT2. PWM can be applied to this pin. |
| IN3 | LOW | Control input for OUT3. PWM can be applied to this pin. |
| IN4 | HIGH | Inverted control input for OUT4. PWM can be applied to this pin. |
| INH | LOW | Logic input that puts the A4990 into a low-power sleep mode when low. |
| EF1 | floating | Error flag output 1: driven low to indicate active fault status; floating otherwise. |
| EF2 | floating | Error flag output 2: driven low to indicate active fault status; floating otherwise. |
The A4990 can actively limit the current through the motors by using a fixed-frequency PWM current regulation (current chopping). This carrier board connects 0.075 Ω resistors to the current sense pins, which sets the current limit to a nominal 1 A per channel. In our tests, the board actually limited the motor current to slightly above 0.9 A.
Even though the driver limits the motor current to about 0.9 A per channel, the chip by itself will overheat at lower currents. For example, in our tests at room temperature with no forced air flow, the chip was able to deliver 0.9 A per channel for approximately 20 s before the chip’s thermal protection kicked in. A continuous current of 0.7 A per channel was sustainable for many minutes without triggering a thermal shutdown. The actual current you can deliver will depend on how well you can keep the motor driver cool. The carrier’s printed circuit board is designed to draw heat out of the motor driver chip, but performance can be improved by adding a heat sink. Our tests were conducted at 100% duty cycle; PWMing the inputs will introduce additional heating proportional to the frequency (unless the A4990 is already PWMing the outputs to limit the current).
This product can get hot enough to burn you long before the chip overheats. Take care when handling this product and other components connected to it.
|
|
Two 1A—8-pin breakaway 0.1" male headers are included with the A4990 motor driver carrier, which can be soldered in to use the driver with perfboards, breadboards, or 0.1" female connectors. (The headers might ship as a single 1A—16 piece that can be broken in half.) When used with these header pins, the board can be oriented with the parts visible, as shown in the right picture above, or with the silkscreen visible, by soldering the headers in from the opposite side. You can also solder your motor leads and other connections directly to the board.
![]() |
| A4990 Dual Motor Driver Carrier schematic diagram. |
|---|
This schematic is also available as a downloadable pdf (166k pdf).
Data sheet
Manufacturer BTC Korporacja sp. z o. o. Lwowska 5 05-120 Legionowo Poland sprzedaz@kamami.pl 22 767 36 20
Responsible person BTC Korporacja sp. z o. o. Lwowska 5 05-120 Legionowo Poland sprzedaz@kamami.pl 22 767 36 20
Dual-channel electric motors controller (H-bridge) Arduino Motor Shield Rev3 with L298 for controlling two DC motors or one stepper motor with the possibility of using an electronic brake.
No product available!
A compact ESC module designed for BLDC motors, ideal for drones and mobile devices. Equipped with the STSPIN32F0A chip and ultra-low RDS(on) transistors, it provides efficient operation and currents up to 20A. It supports 2S–6S LiPo batteries and offers precise sensorless control thanks to BEMF detection. STMicroelectronics STEVAL-ESC002V1
The expansion module is designed to work with micro:bit. It allows you to control 4 DC motors or two stepper motors and 8 servos. It communicates via the I2C interface. DFRobot DFR0548
Brushless DC motor driver (BLDC) with speed regulation by potentiometer or PWM signal. It can operate motors powered with the voltage from 6 to 60 V with a current consumption of up to 16 A
No product available!
A compact stepper motor controller with a TMC2225 system with an operating voltage from 4.75 to 36 V. It offers smooth, quiet operation, high efficiency, various operating modes and easy configuration. It is controlled via the STEP/DIR interface and is an ideal solution for 3D printers and similar applications. BIGTREETECH TMC2225 V1.0
This Kit with fully-dedicated PWM driver chip handles all the motor and speed controls over I2C. Only two data pins (SDA & SCL in addition to the power pins GND & 5V) are required to drive the multiple motors; you can also connect any other I2C devices or shields to the same pins. This makes it drop-in compatible with any Arduino, such as the Uno, Due, Leonardo and Mega R3. Adafruit 1438
Pololu Simple High-Power Motor Controller 24v12 (Fully Assembled)
A single-channel DC motor controller with a UART TTL interface. It is powered from 1.8 V to 22 V and can deliver up to 1.8 A of current. Board with connectors for assembly. Pololu 5077
Pololu - 2511
Two-channel DC motor driver communicating via UART, SPI or I2C interface. It can control the movement of 3 to 11V motors with a maximum continuous current of 1.2A per channel. SparkFun ROB-13911
No product available!
Pololu G2 18v15 High Power is a miniature DC motor controller. Power supply for the controller: 6.5 ... 30 V. Current efficiency of the module: 15 A. The module has protection against back voltage and overvoltages. Pololu 1362
No product available!
DC motor driver with an operating voltage from 6 to 60 V and a maximum continuous current of 300 A. It can communicate via USB, UART, RC or analog signal and allows for the implementation of a feedback loop. Pololu 3584
No product available!
DC motor driver that allows you to control the movement of three drives using the I2C interface. Board with soldered connectors. Pololu 5033
DC motor driver that allows you to control the movement of two drives using the I2C interface. Board with connectors for self-assembly. Pololu 5046
No product available!
An H-bridge capable of controlling one DC motor in both directions or two unidirectional motors at voltages from 4.5 to 44 V and continuous currents up to 1.3 A. The module offers three operating modes (PH/EN, IN/IN, half-bridge), built-in current limiting and measurement, and protection against overheating, overload, undervoltage, and reverse polarity. Its compact design, flexible logic power supply (1.8–5.5 V), and simple control make it ideal for robotics, automation, and hobby projects. Pololu 4971
Module with DC motor driver DRV8256E. It can work with motors supplied with the voltage from 4.5 to 48 V and the current consumption up to 1.9 A. Pololu 4038
A4990 Dual Motor Driver Carrier