From Curuxa


Motor controller module. It can power two independent DC motors in both directions up to 600mA each.

This is the simplified version of MC2A, which can support 1A per motor and an external higher-voltage power supply.

Electronic circuit

Bill of materials:

  • 1x L293D
    • You shouldn't use L293B, L293N or any other model, they might burn out because they don't have internal discharge diodes
  • Perforated board of at least 8x9 holes. Individual pads, not copper strips
  • 1x 16 PDIP socket
  • 12x Straight male headers (usually sold as 40-pin strips)
  • 20 Straight female headers (usually sold as 40-pin strips)
  • Some thin wire
  • Some heat shrink tubing
Layout: top view
Layout: bottom view


This module has multiple inputs and outputs:
  • A -> Connect it to Motor 1
  • B -> Motor 1 digital bits
  • C -> Power supply. Pin 1 can be 4.5-36V. Pin 2 is Ground
  • D -> Connect it to Motor 2
  • E -> Motor 2 digital bits

How it works

This module can control two DC motors up to 36V, 600mA each. Each motor is controlled from the microcontroller using 3 digital pins.

Motor 1/2 digital bits are the data lines used to control both motors from the microcontroller:

  • Pin 1 -> Enable bit. When the enable bit is "1" the motor will receive power. In the other case, the motor will spin freely.
  • Pin 2, 3 -> Input bits. When Pin 1 is enabled the motor will turn in one or the other direction depending on Pin 2 and 3 values. If both pins are set at the same digital value the motor will be braked electrically

Remember that if you use an external power supply instead of connecting MC2B PWR to your Main Board, then you need to short-circuit the ground from MC2B and your Main Board, or it won't be able to receive the data properly.

More information can be found in the L293D datasheet.




You can test this module using the same source code as for MC2A, they are electrically compatible.

Retrieved from ""