I'm trying to power a stepper motor with the 5V rail of an ATX PSU and control it using arduino. To keep the PSU running, I have shorted the PS_ON pin to ground. Also, I have connected PSU ground to arduino ground. The arduino is powered over USB.

The problem I'm having is that the PSU turns off automatically when I upload a new sketch to arduino. I can reproduce the problem with these steps:

  1. Turn on power (PSU is running fine)
  2. Set one motor pin (e.g. digital pin 9) to HIGH
  3. Upload a new sketch to arduino (doesn't matter which one, e.g. the Blink example)

-> PSU turns itself off.

Why does this this happen and what can I do to prevent it? The PSU seems to perform well otherwise.


simulate this circuit – Schematic created using CircuitLab

Edit: I just found these alternative steps to reproduce:

  1. Power on
  2. Set one motor pin to HIGH
  3. Disconnect 5V rail of PSU from motor driver

-> PSU turns off

Further tests:

  1. Disconnect motor from driver
  2. Power on
  3. Set one motor pin to HIGH
  4. Upload new sketch

-> PSU stays on!

  1. Connect motor to driver
  2. Power on
  3. Set one motor pin to HIGH
  4. Disconnect motor from driver

-> PSU turns off

It seems to me that the PSU doesn't like losing load on 5V after it has seen load once.

  • \$\begingroup\$ Welcome to EE.SE! Inrush current to said motor being higher than your power supply can supply without tripping OCP? \$\endgroup\$ – winny May 24 '20 at 11:40
  • \$\begingroup\$ Most modern ATX PSU's are 12V centric. Might require some dummy load on the 12V rail to keep it happy. \$\endgroup\$ – Unimportant May 24 '20 at 11:45
  • \$\begingroup\$ @winny Mhh, the stepper driver only draws 130mA with one pin HIGH. Multimeter doesn't show high current when uploading a sketch, but maybe too fast to measure? However, I just found new steps to reproduce when disconnecting the driver (see post), which seems to indicate against inrush current? \$\endgroup\$ – Alexander Schlüter May 24 '20 at 12:03
  • \$\begingroup\$ @Unimportant I might try that, although the PSU runs fine when no load is connected on power on. The problem only occurs when transitioning from load to no load. \$\endgroup\$ – Alexander Schlüter May 24 '20 at 12:05
  • 1
    \$\begingroup\$ @Reroute Not quite, during reset all IO ports go immediately to their default state which is floating - inputs with pull-up resistors disabled. \$\endgroup\$ – Tom Carpenter May 24 '20 at 12:38

As multiple comments have said, most ATX supplies require a minimum load on the 5V line for proper regulation, many tutorials use ~10 Ohm resistor or smaller on the 5V rail.

This is due to the type of SMPS topology, typically an LLC resonant converter, that requires a minimum load for tuning of the resonant circuit within a given frequency range.

Solution: Try putting a constant load on the 5V line, and your issue may go away.

  • \$\begingroup\$ Yep! Added a 10 Ohm 25W resistor on another 5V rail and now the PSU stays on. \$\endgroup\$ – Alexander Schlüter May 26 '20 at 11:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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