DC Dual Motor Controller Shield L298N 2A for Arduino UNO R3 Atmega328 Atmega168
DC Dual Motor Controller Shield L298N 2A for Arduino UNO R3 Atmega328 Atmega168
DC Dual Motor Controller Shield L298N 2A for Arduino UNO R3 Atmega328 Atmega168
DC Dual Motor Controller Shield L298N 2A for Arduino UNO R3 Atmega328 Atmega168
DC Dual Motor Controller Shield L298N 2A for Arduino UNO R3 Atmega328 Atmega168

DC Dual Motor Controller Shield L298N 2A for Arduino UNO R3 Atmega328 Atmega168

Regular price $9.99 Sale

Product Description

The UNO Motor controller Shield is based on L298N chipset, which is a high voltage (46V max), high current (2A per phrase) dual full-bridge driver, that can control two motors simultaneously.


Motor Driver L298N to work when there are two voltage: logic voltage and motor voltage, in which the logic voltage is 5V, usually less than the motor voltage (eg 7.2V, 9V or 12V). To be able to be connected to the motor terminal voltage VEX into use 5V logic voltage, the motor driver board provides a corresponding voltage conversion circuit. Voltage conversion circuit voltage is limited (less than 20V), so if, when the motor is greater than 20V, you can not use a voltage converter circuit. The role is to choose VLO switch is turned on (switch ON) or off (switch OFF) the logic conversion circuit board.


l  VLC(Voltage Logic Connected)


L298N motor drive voltage in addition to expanding the logic board described above can be provided after the voltage conversion circuit can also control the board with the UNO 5V logic voltage to provide a direct connection. VLC is the role of deciding whether to switch the motor-driven expansion of the board and the UNO 5V logic voltage 5V logic voltage control board connected: When the switch is in the ON position when the connection, when the switch is in the OFF position does not Connection.


l  VM(Voltage Motor)


VM is the role of the motor voltage selection. When the L298N motor drive expansion board with the UNO, after connecting, there are two ways to provide power for the motor: Vin pin through the UNO board (switch in the VIN) and extended through the motor drive board VEX terminal (switch in the VEX .)


In UNO, L298N motor-driven expansion boards that are hosted by current and voltage are relatively high, so the process used to pay special attention to the connection. Here are some typical circuit connection for your reference in use:


   Motor voltage is 6 ~ 12V


In general, UNO can 6V-12V external power transformer (UNO on the Vin pin), if you happened to motor voltage within this range, it just can use the external power supply to both the UNO And motor power. In this case VLO, VLC VM set as 


  VLO:OFF,Does not require motor-driven expansion of the voltage conversion circuit board

 VLC:ON,With the UNO's 5V pin connector for expansion boards to provide motor drive logic voltage

 VM:VIN,The Vin pin with the UNO connected to the motor drive to provide motor voltage expansion board



 Motor voltage less than 6V


This case can only be extended through the motor drive board GND and the VEX two terminals to supply to the motor, then motor drive expansion board 5V logic voltage converter circuit does not work (VEX voltage is too low), so we Only with the UNO board connected to 5V pin expansion boards available for the motor drive voltage of 5V logic. In this case the motor-driven expansion board is set to:


VLO:OFF,Does not require motor-driven expansion of the voltage conversion circuit board

VLC:ON,With the UNO's 5V pin connector for expansion boards to provide motor drive logic voltage

VM:VEX,Extended through the motor drive board VEX / GND terminal for the motor to provide drive voltage



  Motor voltage is 12V-16V


This case can only be extended through the motor drive board and the VEX GND terminals to the two power supply to the motor, motor-driven expansion of the board at this time 5V logic voltage converter circuit can work properly. In this case the motor-driven expansion board is set to:


 VLO:ON,Board need to motor drive circuit is extended

 VLC:OFF,Not with UNO's 5V pin connection, security isolation

 VM:VEX, Extended through the motor drive board VEX / GND terminal for the motor to provide drive voltage

These settings because VLC has not UNO's 5V pin expansion board with the motor connected 5V logic voltage, so we need any additional power supply for the UNO (via USB cable or external power supply), mainly for security isolation Consideration, especially in the VEX relatively high voltage on the case.


  Motor voltage is 16V-46V


This case can only be extended through the motor drive board GND and the VEX two terminals to supply to the motor, then motor drive expansion board 5V logic voltage converter circuit does not work (VEX voltage is too low.) In this case the motor-driven expansion board is set to:


 VLO: OFF, no motor-driven expansion of the voltage conversion circuit board

 VLC: ON, and the UNO's 5V pin connector for expansion boards provide the motor drive voltage of 5V logic

 VM: VEX, through the motor drive expansion board VEX / GND terminal for the motor to provide drive voltage


On this shield, we use pin 13 and pin 12 as direction of motor A (MA), and pin 10 as speed of MA. For motor B (MB), pin 11 and pin 8 as direction and pin 9 as speed. 


Here below is an example code
// motor A
int dir1PinA = 13;
int dir2PinA = 12;
int speedPinA = 10;
// motor B
// motor A
int dir1PinB = 11;
int dir2PinB = 8;
int speedPinB = 9;
unsigned long time;
int speed;
int dir;
void setup() {
pinMode(dir1PinA, OUTPUT);
pinMode(dir2PinA, OUTPUT);
pinMode(speedPinA, OUTPUT);
pinMode(dir1PinB, OUTPUT);
pinMode(dir2PinB, OUTPUT);
pinMode(speedPinB, OUTPUT);
time = millis();
speed = 0;
dir = 1;
void loop() {
analogWrite(speedPinA, speed);
analogWrite(speedPinB, 255 - speed);
// set direction
if (1 == dir) {
digitalWrite(dir1PinA, LOW);
digitalWrite(dir2PinA, HIGH);
digitalWrite(dir1PinB, HIGH);
digitalWrite(dir2PinB, LOW);
} else {
digitalWrite(dir1PinA, HIGH);
digitalWrite(dir2PinA, LOW);
digitalWrite(dir1PinB, LOW);
digitalWrite(dir2PinB, HIGH);
if (millis() - time > 5000) {
time = millis();
speed += 20;
if (speed > 255) {
speed = 0;
if (1 == dir) {
dir = 0;
} else {
dir =1;


 Have 4 LEDs on the shield to show the working direction of the motors, and the brightness show its speed.
There is a VA Switch  to set the logic level. We usually set it at V5V, that would get the logic voltage of UNO. 
If we set the VA jumper to VEX, it will get the logic voltage from the external power supply.