I am new to Arduino. I'm making a line-following bot. I need to power my L293D module. I know that I can supply 9/12V directly with a battery but I am not sure whether I can supply 5V directly from the 5V pin of the Arduino or I have to use something like an IC 7805.

I am confused because I read that the L293D can cause currents up to 600 mA but the max current for an Arduino Uno pin is only 50mA. This question might seem too novice but it would be of great help if someone could explain me about this or the concept in general.

Thanks in advance.

  • 1
    You should probably not be using an L293 in a new design at all - it has high internal losses and has been obsolete for at least a decade. Whatever you use, the motor power must not be routed through the Arduino board at all. Do not use a small 9v battery for motors; likely you should use between 5 and 8 AA cells. Jun 17, 2017 at 14:10
  • Where do people get this 50mA number from?
    – Majenko
    Jun 17, 2017 at 15:52
  • "Do not use a small 9v battery for motors; likely you should use between 5 and 8 AA cells. " Can you please tell the reason behind this ??
    – User96
    Jun 17, 2017 at 16:53
  • @Majenko sorry it was a mistake that was for 3.3V pin.i confused it with 5V pin
    – User96
    Jun 17, 2017 at 16:55
  • 9V PP3 batteries have only about 150mAh. AA have nearer 2000mAh.
    – Majenko
    Jun 17, 2017 at 17:04

1 Answer 1


Check the L293x datasheet.

The L293D IC has two power supply pins. Pin 16, VCC1, is to power the IC itself, ei., its internal logic. Pin 8, VCC2, is to power the motors.

The maximum logic current (ICC1 MAX) drawn by the driver IC at pin 16 is 60mA. Thus, provided you do not have other things connected to the Arduino that can take the current draw above the limit, it is safe to connect VCC1 of the driver IC directly to the Arduino's 5V pin.

The maximum current you can draw from the 5V pin is around 400 mA, or 900 mA, when the Arduino is powered by an external power adapter.

The maximum current sourced or sinked by each driver input pin (xA) is 100 μA, and by enable pins (EN), it is 10μA, which is well within the limit of the Arduino digital pins, 40mA (not 50 mA!). So you can also safely connect Ax and EN directly to the Arduino.

Coming to the last point, the maximum power current supply by driver outputs (xY) is 600 mA. You cannot source or sink more than 600 mA from the 1Y, 2Y, 3Y and 4Y pins. All of this current will be drawn from pin 8 (VCC2), which is connected to the power supply for the motors, which can be a 9V battery. Note that ICC2 MAX is 1.2 mA. Thus, if the supply voltage of the motors is 5V, you must use another voltage source, like 7805 and not the 5V pin of the Arduino to provide VCC2.

To summarize,

  • You can connect pin 16 of L293D to Arduino's 5V pin.
  • You can connect pins 1, 2, 7, 9, 10, 15 of L293D to Arduino's digital pins.
  • You cannot connect pin 8 of L293D to Arduino's 5V pin.
  • You cannot connect pin 8 of L293D to Arduino's 5V pin. Why is that? If Arduino's 5V pin can provide 900mA with external source? The motor draws up to 600mA. Also, what exactly is ICC2max?
    – user33153
    Jun 17, 2017 at 9:35
  • Thankyou for your answer made a lot of doubts and misconceptions clear. Just to clear things out icc2 max is current from pin 8 of L293D and it's max value is 1.2A instead of 1.2mA right? Or am I making a mistake here ?
    – User96
    Jun 17, 2017 at 11:35
  • 900mA if you don't mind cooking the 5v regulator...
    – Majenko
    Jun 17, 2017 at 15:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.