I am using Wemos D1 mini and trying to use ULN2083A Darlington Arrays to drive SRD-05VDC-SL-C relay. The relay does work properly when the circuit is connected as attached schematic.

The Darlington array (ULN2803A) would decrease the load voltage by about 1 volt across the internal transistor. If I have a 5V supply connect to the array and wish to use it to drive a 5v relay, the coil would end up receiving ~4 volt when it is activated. Is it acceptable? How would this affect on the relay? enter image description here

I also tried the same thing to drive SRD-12VDC-SL-C relay with the 12v supply. The voltage would drop to about 11v as well. The relay does work but I have the same question, is it acceptable?

enter image description here

If the both scenarios are acceptable, which setup is preferable? Also, the circuit seems too simple to me, am I missing anything to improve it?

Edit: adding the datasheet of the relays enter image description here

  • \$\begingroup\$ The usual question is... What does the relay datasheet say? It should specify a guaranteed operation voltage. If 4 V is out of specification, you could consider a MOSFET instead of the transistor based ULN2803. \$\endgroup\$
    – tomnexus
    Commented May 7, 2019 at 6:37
  • \$\begingroup\$ The datasheet specified nominal voltage. Does it mean it has to be at the nominal voltage? \$\endgroup\$
    – RoastDuck
    Commented May 7, 2019 at 6:46

1 Answer 1


The relay is guaranteed to operate at 75% of nominal voltage, which is 3.75V. 4V is greater than 3.75V, so the relay will operate under the specified conditions. However..

The reference conditions (which you did not copy) are that the ambient temperature is 20 degrees C.

Even if your ambient is a comfortable 20 degrees C and no more, the relay coil will heat significantly after it's been operating for a while. Copper has a tempco of about +0.4%/K, and relays are actually current-operated devices so it won't take much temperature rise before the relay is no longer guaranteed to operate at all.

The lifetime is specified with nominal voltage (and, incidentally, without the flyback diode). Both differences will tend to make the relay operate more sluggishly and may reduce the contact life.

The same is true of a higher voltage relay, but the current is lower so the Darlington will drop a bit less voltage typically, and 1V is much less percentage of 12V than of 5V.

There is a bit of a compensating effect for actual ambient (as opposed to self-heating) changes in that the Darlington will tend to drop a bit less voltage at higher temperatures.

Especially for the lower voltage relay, it's better to use a small SOT-23 MOSFET to do the switching and a discrete flyback diode or a diode in series with a Zener diode to speed up the contact opening. For example, an AO3400A. With your 3.3V drive voltage, that particular MOSFET has less than 0.05 ohm resistance compared to the 55 ohm resistance of the coil so it will have negligible voltage drop.

  • \$\begingroup\$ The ULN2803A should have a flyback diode in it, does that help with the lifetime? The reason I choose to use the Darlington Arrays is because that I can use one component to control 8 relays. Is there a similar IC for MOSFET? \$\endgroup\$
    – RoastDuck
    Commented May 7, 2019 at 8:01
  • \$\begingroup\$ The 2803 has diodes to protect the transistors. They are somewhat detrimental to relay life expectancy, but if you connect the common to a Zener rather than to +5/+12 that can be mitigated with minimal increase in complexity. There may be an equivalent with MOSFETS, check TI maybe. \$\endgroup\$ Commented May 7, 2019 at 10:11
  • \$\begingroup\$ Would TPIC6B595 be one of the candidate? \$\endgroup\$
    – RoastDuck
    Commented May 9, 2019 at 23:57
  • \$\begingroup\$ @RoastDuck It could be, obviously not a direct replacement. \$\endgroup\$ Commented May 9, 2019 at 23:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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