If you have a relay that is active-low connected to a microcontroller (e.g. Arduino) and the Arduino itself is disconnected from power, isn't the output pin to the relay 0V, which means the relay (if it had power separately) would activate? Or is the input to the relay pin floating, and not absolutely at GND?


  • 1
    \$\begingroup\$ Maybe put a simple schematic of what you're talking about? \$\endgroup\$ – hekete Jun 13 '19 at 14:58

If the Arduino is disconnected from power then the voltage at the Arduino outputs is undefined...it could be anything. The output pins, even if they happen to be at 0V, will not be able to sink enough current to activate the relay.

This is in fact a dangerous situation for the Arduino. Applying a voltage to the pins of an unpowered microcontroller may damage the pins.

  • \$\begingroup\$ Just so I understand what you're saying (and if I described my scenario correctly): the relay board takes power and ground, and then has "input" pins to activate the relay (active low). If the relay board were to be powered separately from the Arduino, and the Arduino were to lose power, the voltage from the relay board would come back through the pin on the Arduino connected to the input pin on the relay board, and that would cause something bad to happen to the Arduino? \$\endgroup\$ – Danny Ackerman Jun 13 '19 at 14:53
  • \$\begingroup\$ Also, when you say that the pin on the Arduino, when it goes to GND to activate the relay, is sinking current, what is the source of that current? The relay board? How much current does it attempt to sink? And is that how the relay board "knows" to activate? \$\endgroup\$ – Danny Ackerman Jun 13 '19 at 14:54
  • \$\begingroup\$ @DannyAckerman when you activate the relay, by driving the GPIO on the Arduino low, the current it'll sink depends on the DC current rating of the relay coil. For example, if the relay coil is spec'd to draw 90mA at 5V, when you drive the line low, the Arduino will have to sink that much current, which could indeed damage it. The source of the current is the 5V source in this example. I don't know the specifics for I think Arduinos can source/sink 20mA per GPIO max. \$\endgroup\$ – Big6 Jun 13 '19 at 14:58
  • \$\begingroup\$ @Big6: I believe that most of the "relay boards" used with Arduinos have opto-couplers to drive the relays, so the Arduino will only see the opto-coupler input current, not the actual relay coil current. \$\endgroup\$ – Peter Bennett Jun 13 '19 at 15:20
  • \$\begingroup\$ @PeterBennett yes. definitely. in that case, how much current is the arduino pin sinking? \$\endgroup\$ – Danny Ackerman Jun 13 '19 at 15:27

Since uC's are all made from CMOS FET switches that need bias from supply to make low resistance "0" & "1" they cannot conduct current to the coil to a shared ground.

However when power is applied with an external coil pullup to a port, this causes the pin to exceed the supply voltage and induces the dreaded SCR effect of latchup faults of all CMOS.


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.