I'm trying to connect 5v supply to a L298N motor driver at it's 12V-35V input pin but it's not working. If I'm connecting to 7.2V supply it's working. Is there any way to connect 5v supply? I want a constant 5v at output pins for motors.

  • You are either not telling us something or making someting up. Did you remember to supply 5V logic power to your L298N board? What do you have connected to "5V" terminal of L298N? – AnT May 19 '19 at 17:06
  • Without looking at the L298N dtatasheet, connecting 5V to an input labeled with 12V-35V seems not to be a good idea. – chrisl May 19 '19 at 19:14
  • Short answer: Don't. A 12V-35V input pin needs to be supplied with... wait for it... 12V to 35V. A 5V supply won't be enough. – Duncan C May 19 '19 at 22:52
  • 1
    @Duncan C: Not true. As far as the pure motor power is concerned, the VIN terminal (aka 12V-35V terminal) is just a passive switched terminal. It can be supplied with any voltage the motor requires (as long as it doesn't cross the upper limit). 5V is perfectly fine, if that's what the motor needs. The only case when the lower voltage limit applies on the VIN terminal is when one plans to use the board's built-in linear regulator to obtain 5V logic supply from it. In that case one has to consider the voltage drop (around 2V), meaning that VIN should be at least 7V. – AnT May 22 '19 at 1:20
  • In fact, I have no idea who and why came up with the bizarre idea to label that terminal as 12V-35V. In newer boards it is simply labelled VIN. 12V-35V label makes no sense whatsoever. Apparently someone simply assumed that no one will ever want to use a lower voltage motor. I see conflicting information on the logic supply voltage though. Some sources say 7V, others: 5V. In practice the boards I tried work perfectly fine with 5V logic supply. – AnT May 22 '19 at 1:32

Note: Since all vendors (checked Mouser, Octopart, and Sparkfun) link to the L298 datasheet when listing the L298N I will assume they are reasonably equivalent.

I will assume that the "12V-35V input pin" is the V_S pin, despite that label. There are only two supply pins on the L298 with the following electrical characteristics:

  • V_S, Supply Voltage, pin 4, Operative Condition V_IH + 2.546V (max.: 46V)
  • V_SS, Logic Supply Voltage, pin 9, typical 5V (min.: 4.5V, max.: 7V)


  • V_IH, Input High Voltage, ranging from 2.3V to V_SS

Which would explain that the circuit works at 7.2V under the assumption that the logic inputs (enable A and B as well as inputs 1 through 4) are at close to 5V high levels. And here's the trick that might make it work: as noted V_S (the supply voltage) needs to be at a level of V_IH + 2.546V while V_IH could be as low as 2.3V and 2.3V + 2.546V < 5V. So driving the L298's logic inputs with a lower voltage for logic 1, i.e. closer to 2.3V high levels, could help.

Why is this? (source):

[..] The actual restriction is that the motor supply be somewhat greater than the logic "1" input, but that need not match the logic supply. [..]

A warning though:

  • this circuit is now operating at the fringes, one might call it shady at best, intolerable at worst
  • saturation voltage is related to output current and other parameters, e.g. temperature, so this might work now under certain conditions and fails horribly another day

Therefore better bets are:

  • use a higher supply voltage
  • ditch the L298 and its high voltage drop Darlingtons and use a MOSFET H-bridge motor driver, such as the TB6612FNG, see also
  • ditch the L298 and use single bipolar transistors, depending on the output current

Other things to check:

Make sure V_SS is connected to the logic supply voltage (see AnT's comment). Make sure GND of the Arduino's power supply is connected to the L298's GND.

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