Making a differential robot with the L298N Dual Motor Controller

Make a simple differential robot with Arduino & the L298N Dual Motor Controller !


Brief Overview


This motor controller uses the L298N H-bridge IC, which is able to control the speed and direction of two DC motors (with a voltage range of 5 – 35V DC) easily. Besides that, there is also a 5V regulator within the module, where it is able to output 5V from the module. Below are more specifications for this motor controller:

  • Logical voltage: 5V
  • Logical current: 0mA-36mA
  • Drive current: 2A (MAX single bridge)
  • Max power: 25W
  • Weight: 30g
  • Size: 43 x 43 x 27mm



Let’s take a look at the Motor Controller layout before we proceed on to how this controller works. The table below explains the function of the parts more in depth:


A – D Outputs voltage to motors A (Left) & B (Right) respectively.
E Voltage supply for the motor. One can supply 5 -to 35V DC into here, but if you are supplying higher than 12V, please remove the jumper at Part N.
F Ground. Make sure that the ground of the micro-controller is connected here too (if it is used to control the controller) so as to have a “common ground”.
G Outputs 5V if 12V jumper intact.
H DC motor speed control for Motor A (Left). (Remove jumper for speed control with PWM)
I – L Inputs to control motors A & B
M DC motor speed control for Motor B (Right). (Remove jumper for speed control with PWM)
N 12V Jumper. 5V Regulator is active when jumper is there.


Differential Drive Robot

With this motor controller, we can create a differential drive robot using an Arduino and 2 motors.


Here are the parts required to build the robot:

  • Arduino Uno
  • L298N Motor Controler
  • Motors X 2
  • 4 X AA Battery Holder




Here is the schematic of the robot. A 6V supply will be used to power both the motor controller and the arduino. (NOTE: The jumpers of the respective PWM control pin should be remove as to be able to be connected to the Arduino.


[Coming soon…]





You may also like...