0
\$\begingroup\$

I have a pre-built relay module and it apparently takes around 70 mA to activate the coil. However, the relay is a low-level-trigger which requires making a connection from "IN" to GND (or GPIO LOW) to activate the coil.

In my previous builds I have been using a ULN2003 Darlington array which worked perfectly as a buffer for normal relays to protect the GPIO pins on an Arduino(MEGA and Nano), but, as the relays are pre-built and require low level triggering, I wanted to know what current I could be draining from the relays' "IN" pin and whether it would be too much for an Arduino's GPIO pin directly? If this is even a concern in the first place? (They're meant to be safe, but I am having doubts).

Also, if the current drain is too high, what would be the best way to go about this? Could I just wing it and use VCC as the on/off mechanism instead (with the "IN" pin on the relay module permanently grounded)?

Additional info:

  • I've not had chance to test the mA being drained (the last relay I ordered was DOA).
  • There are four relays so far, and each could be on or off at any one time (0 mA - ~280 mA potential).
  • The Arduino GPIO pins can't sink much (~20 mA each I think, safely), and as the other pins are already being used at their recommended levels there's little room for much else without some kind of buffer.

Low-Level-Trigger Relay:

Low-Level-Trigger Relay

\$\endgroup\$
1
  • 1
    \$\begingroup\$ that has an opto onboard, so it shouldn't drain very much at all from the GPIO \$\endgroup\$
    – dandavis
    Oct 15, 2017 at 14:16

1 Answer 1

2
\$\begingroup\$

enter image description here

Figure 1. A similar board schematic. Source: ElecFreaks.

  • The relay is switche by a transistor.
  • The transistor is switched by an opto-coupler.
  • The opto-coupler is switched by your micro-controller.
  • There is a 1k resistor in series with the LED and opto-LED so current is limited to a few mA. (Your board doesn't seem to feature the LED.)

These are designed to be driven from micro-controller GPIO pins so you will be fine.

Note that you need to connect Vcc to your 5 V supply - not to the GPIO.

\$\endgroup\$
2
  • \$\begingroup\$ Thanks for the quick reply! After some more searching, in addition to your answer; the low-level-trigger relay "IN" pin apparently drains 2-5v @ 2mA; well below the GPIO rating on my Arduino's pins. This saves me using Darlington arrays! \$\endgroup\$
    – user146086
    Oct 15, 2017 at 14:16
  • \$\begingroup\$ Note that the Darlington arrays wouldn't drive the input of that relay board. They are open-collector transistors and can only pull down or "sink" current. The opto-isolator on this board requires the GPIO to "source" current. Thanks for accepting my answer. \$\endgroup\$
    – Transistor
    Oct 15, 2017 at 14:37

Your Answer

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