This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

L293D overheating stepper motor

Other Parts Discussed in Thread: L293D, ULN2003A, ULN2004A, ENERGIA


I have a L293D that is powered by a LiPo battery/ power boost combination ( This combination outputs 5v, which is my system's Vcc. Ultimately, I am trying to power a small reduction stepper motor ( Here is my L293D pin out:

Pin 1 and Pin 9: Enabe set high to 5V

Pin 8 and Pin 16: Vcc set to 5V

Pin 4,5,12 and 13: set to ground

Pin 3 (output) connected to motor's yellow channel, Pin 6 (output) connected to motor's blue channel

Pin 11 (output) connected to motor's pink channel, Pin 14 (output) connected to motor's orange channel

Pins 2, 7,10, and 15 are controlled by an Arduino-based micro-controller that uses the stepper function.

The motor is working and it's responding to the commands that I am coding,however, the motor and the chip are overheating.

Please let me know if this is something common with the L293D and whether there is a solution.  Please keep in consideration the specs associated with the motor and power boost as I have provided their links ^^

Thank you,


  • Hi Mo,

    I am going to move this to the correct forum for support.
  • Michael sorry I didn't mean to post it somewhere wrong. I am new to forums.
  • Hello Mohamed,

    When you say overheating, is it causing the motor or the L293D to shutdown or stop working? Or are the device just getting warm/hot to the touch. Also, are you connecting the red wire of the motor?

    I have worked with these kinds of stepper motors before and i have found that they do get pretty hot when you run them for a long period of time.
    Based on the current that is running through the device, the L293D may also get hot. Typically the high level output is 1.4V below VCC and the low level output is 1.2V above ground, so the power consumption of the device would be 2.6V * current through the motor.
    Since the L293D is a PDIP device with large leads, I would not expect it to heat up too much however.

    L293D is a find solution for this application, but might I also suggest taking a look at the ULN2003A? This is a 7 channel low side switch array which is typically used exactly for this type of stepper motor and stepper motor application. This will help to reduce power consumption.

    We have a boosterpack which uses the ULN2003A and can drive a pair of stepper motors:
    This tool can be easily added to an MSP430 Launchpad to easily interface with two stepper motors:

    Also, here is an applications note on stepper motor driving and what those code examples are actually implementing:

  • Michael,

    Thank you for your response. I was initially using the Adafruit motor shield ( ), which had a release () function in the Arduino IDE. This was included in the library associated with that board. It basically allowed the coils to become deactivated and in this case the motor didn’t heat up. I’d like to be able to somehow allow the motor to go to “sleep” and not use energy at all. I have been unable to do so with L239D whether by Serial.Write() all L239D inputs low, or by even serial.Write() the L239D Enable pin low.

    Anyhow, I am making a PCB board for my project and I am deciding to move away from any shields in general. So I am mainly interested in to the ULN2004A, but I have several questions: I am mainly concerned with the motor overheating, so would this motor driver serve my purpose? Would I be able to still use the Stepper library in Arduino IDE to control the motor, or does it have a different step mode?

    Sorry if my questions are too primitive,


  • Hello Mohamed,

    The ULN2004A won't necessarily help directly with keeping the motor from getting warm, assuming you are running it all the time, but it will help to decrease overall power consumption because the voltage drop is less than it is for the L293D (and you mentioned the L293D was getting hot). 

    Just for your information, the ULN2003A would be recommended over the ULN2004A because the ULN2003A is meant for 3.3V or 5V input. The ULN2004A is meant for higher logic levels.

    The ULN2003A or ULN2004A works in the following way to drive the stepper motor. You have to connect the supply to the motor and the ULN2003 acts as a low side switch that drives each of the motor coils in succession by allowing a current to flow through each phase. If you wanted to stop the motor from spinning or turning on (going to sleep and not getting hot), you just need to make all 4 input pins low, so that the outputs are high impedance an no current flows through the stepper motor (therefore allowing it to cool down). Another way that you could keep the motor from getting hot would be to add a resistance in series with each phase, effectively limiting the current flow through each phase and therefore the motor will dissipate less power.

    As for the IDE, you could still use it for the ULN2003A. If you google it there are many examples using the ULN2003A to drive stepper motors.

    I would also like to point out to you that there is an IDE for TI MSP430 Launchpads that you could use called Energia that is very similar to the IDE that you are talking about. Just wanted to make you aware of all the tools and support that we have available because we are very happy to help! 

    There is also a forum for asking questions in regards to coding MSP430 and the community around MSP430 is really awesome, there are a lot of great resources available.

    Please let me know if you have additional questions or need support, and I would be happy to help.