The OSOYOO Motor Shield is based on the L293DD (datasheet), which is a monolithic integrated high voltage,high current four channel driver designed to accept standard DTL or TTL logic levels and drive inductive loads (such as relays solenoides, DC and stepping motors) and switching power transistors.To prevent board damages, all driver lines are diode protected from back EMF. The maximum supply voltage supported by this board is 20V

It uses a L293DD chip which deliveries output current up to 1.2A each channel. it requires a 6V to 15V power supply to power the motor and also includes an on-board 5V voltage regulator for powering the driver chip. It lets you drive two DC motors with your Arduino board, controlling the speed and direction of each one independently.

You can use UNO R3 microcontroller and add external components to complete a variety of amazing experiments, such as smart robot DIY. When DIY your robot, it is necessary to use the motor driver board to drive the DC motors, however, sometimes need to connect the motor drive board to UNO using lots of jumper wires, pretty inconvenient.

The Motor shield can be powered directly from Arduino or from external power source. It is strongly encouraged to use external power supply to power the motor shield.

This board also provides direction LED indicators for both channels and this is very usefull during setup stage to verify the firmware behaviour; the led indicators work also without appling a real motor to the output.


The Driver IC and Heat sink may become very hot when working with current more than 1000mA.


Hardware Overview

    1. Power Switch:Control the external input power, press the switch to turn on the power, press again to turn off the power
    2. Motor PWR Jumper: Connect the jumper cap, the motor drive chip works normally, remove the jumper cap and stop working
    3. VOLTMETER Interface: Three-wire digital voltmeter interface, display external power supply voltage
    4. Digital pin out: Lead out digital signal interfaces
    5. L indicator: Connect with Arduino pin D13
    6. PWR indicator:
    7. Motor Config Jumpers: When the jumper is connected, the motor chip control pin is connected to the corresponding Arduino io port by default. If necessary, you can also take off the jumper cap and connect other Arduino io ports via Dupont cable to control the motor.
      • Motor IN1-Arduino D7
      • Motor IN2-Arduino D8
      • Motor IN3-Arduino D9
      • Motor IN4-Arduino D10
      • Motor ENA-Arduino D5
      • Motor ENB-Arduino D6
    8. Motor Interface:K1 and K2(K3 and K4) can connect Motor A(B) for DC Motor.
    9. L293DD Motor Driver Chip
    10. Motor rotation indicators
    11. External Power Socket(Blue power socket/XH2.54 power socket): External Power supply for Motor Shield, range 6-15V.
    12.  Reset button:  pressed to reset the shield and Arduino
    13. Analog pin out
    14. Sensor interfaces: In order to facilitate wiring, we designed corresponding interfaces for commonly used sensors and connected them to the signal pins of Arduino
    15. IR Interface: You can plug the IR receiver into this interface so that the board can receive IR signals, the signal port is connected to the Arduino’s D12 by default.
    16. Uart Interface: Connect to those pins that allow serial communication on Arduino.
    17. J13 Uart Selector:  J13 provides a convenient way to set up the Uart interface. You can use jump caps to connect TXD and RXD of Uart port to D4 and D11, that is, use soft serial port to communicate with the device connected to Uart port. You can also set it up as a hard serial port, just connect the jump caps to the D0/D1 side. The hard serial port is used by default. If you need to use other pins, you can remove the jumper caps and use jumpers to connect TXD & RXD to those pins that allow serial communication on Arduino.
    18. Fritzing Part File Download: https://osoyoo.com/picture/V2.0_Model_3_Robot/Motor-shield-V1.0.fzz.zip