Kimat Mobot Shield

Revision: v1.2 / 26 March 2018/CDM


The Kimat – Mobile Robot Shield is a compact, Arduino – Compatible, motor driver shield with pin headers for IR sensors, Ultrasonic sensors and a Servo motor. The motor driver has 2 individual channels and can accommodate a 2 or 4 wheel robot. Each channel can deliver a continuous current of 1.2A (surge up to ~3A).

This shield was designed with ease of use in mind: all the essential parts of a mobile robot have been assigned a connector onboard the shield. This greatly simplifies wiring, reduced the number of boards used and the need for soldering is eliminated. The Kimat Mobile Robot (Mobot) Shield is designed and made by Layad Circuits Electronics Engineering.


  • Integrated motor driver and connectors for a maximum of 5 IR sensors and maximum of 3 Ultrasonic Sensors and 1 Servo motor.
  • Motor Driver: TB6612FNG
  • Number of Channels: 2
  • Max. Motor Voltage = 15V
  • Max. Continuous Current per Channel =1.2A
  • Max. Surge Current per Channel = 3.6A
  • Removable Core Driver Board
  • Arduino Compatible


Kimat Mobot Shield PinAssigned to Arduino Pin
TB6612FNG  – PWMA3
TB6612FNG  – AIN12
TB6612FNG  – AIN24
TB6612FNG  – PWMB6
TB6612FNG  – BIN17
TB6612FNG  – BIN25
TB6612FNG  – STBY8
SERVO – S (via resistor)9
IR4 / T3 (Shared)A1
IR5 / E3 (Shared)A2


IRx – are connectors meant for IR line tracing or IR distance sensors

Tx and Ex – are ultrasonic meant for ultrasonic sensors. T refers to the Trigger pin and E refers to the Echo pin.

The Arduino pins 2-8 are connected to the TB6612FNG chip and are not available for other use. All other pins are free. However, the shield has onboard connectors for a maximum of 5 IR sensors and a maximum of 3 ultrasonic sensors. The last ultrasonic sensor with pins labeled as T3 and R3, are shared with IR4 and IR5 respectively. Thus, if all 5 IR sensor pins are used, a maximum of only 2 ultrasonic sensors may be connected. If only 3 IR sensor pins are used, a maximum of 3 ultrasonic sensors may be installed. There is also one pin with a current limiting resistor meant for use with a servo motor.


There are 3 terminal blocks at the top of the shield.

Terminal Block Label (Bottom of PCB)Purpose
MOTOR POWERThis is the power source of the motors. If the single source jumper is installed, the motor power is derived from the VIN pin of the Arduino/Shield
MOTOR AConnector for DC Motor A
MOTOR BConnector for DC Motor B

If using 4 wheels, connect the 2 left motors on one connector and the other 2 right motors on the other connector. Therefore, the software for a 2-wheeled and 4-wheeled robot is essentially the same.


The Mobile Robot Shield has a pin header labeled SINGLE SOURCE with a microjumper provided. If the microcjumper is installed, The Arduino VIN pin and the Motor Power Supply is connected. This simplifies wiring since the user only needs to apply power at the Arduino DC Jack. The same power is then transferred to the shield via the VIN pin. If the microjumper is not installed, apply power to the motors via the terminal blocks labeled VM / MOTOR POWER.

When using the single power source option, please take note of the following

  • When micro jumper is installed, DO NOT connect anything in the VM terminals!
  • If external power source is desired, REMOVE the micro jumper first!
  • Motor voltage must match Arduino Voltage (6-12V)
  • There is a 1A power diode between the DC jack and VIN pin of the Arduino. This can take in larger surge current but make sure your motors and Arduino do not exceed 1A continuous current. This is not a problem if using the Saleng Uno. The Saleng Uno uses a 5A diode instead of 1A and hence is able to handle small and large motors and other circuits.


If for some reason you need to include a capacitor at the motor power source line, there is a slot ready made for this close to the Motor Power terminal block.

If using larger capacitors that do not fit the slot, you may simply install it at the VM terminal block. One reason you may need a capacitor is if your motor power source is unable to provide large currents at very short time intervals. Exercise caution when selecting the capacitor voltage rating: because we should not expect voltages above 15V at the VM terminals, you may use 16V capacitors. However, if your motor voltage is close to 15V, higher voltage ratings, such as 25V,35V or 50V, is required to account for transients.

When the shield is installed on top of the Arduino, the TB6612’s control pins are effectively connected to the Arduino pins 2-8 as in the figure below. Do note that the figure does not show the sensor headers.

  • Arduino pins 2-8 shall be used as outputs.
  • Set pin 8 (STBY) as HIGH to enable the motor driver. A LOW disables the driver.
  • Pins 3 (PWMA) and 6(PWMB) are the pins used to control the speed of the motors. Applying PWM signals via analogWrite() on pins 3 and 6 controls the speed of the motors. If speed control is not needed, simply set pins 3 and 6 HIGH using digitalWrite() to keep the motors at full speed.
  • Pins 2 and 4 control the direction of motor(s) 1 while pins 5 and 7 control the direction of motor(s) 2. Follow the table below:
xIN1xIN2Motor Reaction
LOWHIGHMove in One Direction
HIGHLOWMove in Opposite Direction
LOWLOWMotor Stops
HIGHHIGHShort Break, Motor stops