I buy a 2 channel relay module for Arduino. I surprised that why this relay module is designed active low?
Circuit: enter image description here

i means that when we connect In1 to low V (GND) relay turn on. Is there any reason for using this way instead of turn on relay with high V?

sorry for bad English.


4 Answers 4


One reason is historic.

Early bipolar logic families such as TTL, DTL or RTL used only NPN bipolar transistors, they could easily drive an output signal to be pulled to within a few millivolts of ground but not easily drive a high signal. So many integrated circuits tended to use an active low signal output. That also allowed WIRED-OR functionality where a virtual gate could be created from open collector signals.

The use of active low-signals predates integrated circuit logic and is often used in cars where a switch may just ground a signal to assert it - for example the brake switch or dome light switch often just connects the signal to ground.

In systems where ground is available everywhere (the chassis of a car for example) it saves a wire as you just need one wire to the load rather than bringing power to the switch and also taking the signal away to the load.


Having the input active low makes it easy to drive the module with an open-collector NPN transistor, or other open-collector-like things such as the ULN2803.

There may be a historical reason, as the outputs of bipolar TTL logic chips could sink (pull down) much more current than they could source (pull up).

  • \$\begingroup\$ nearly precisely the answer i would offer. \$\endgroup\$ Commented Oct 19, 2015 at 21:45

I surprised that why this relay module is designed active low?

Well you could remove the "Jumper" and connect 5V directly to JDVcc, short In1 to ground and put your input into R1 via the Vcc labelled connection on the jumper: -

enter image description here

Now you have both options because this version is now active high.

I'm assuming that you have shown all the connections and that these three points are wirable independently of other channels.

  • 1
    \$\begingroup\$ If the grounds are connected, and/or the supplies are connected, then there is no galvanic isolation. Optocoupler becomes redundant. \$\endgroup\$ Commented Oct 19, 2015 at 20:27
  • 1
    \$\begingroup\$ @NickAlexeev It could still be used galvanically isolated but a seperate 5V supply would be needed. The original wasn't galvanically isolated either just for the record. \$\endgroup\$
    – Andy aka
    Commented Oct 19, 2015 at 20:42
  • 1
    \$\begingroup\$ @NickAlexeev Usually similar modules have more than one relay that all relays share VCC so you cannot control those. \$\endgroup\$ Commented Oct 23, 2015 at 15:38

This Module was built for Arduino microcontrollers.

Arduino microcontrollers start up with all pins as inputs that float high.

Any pins that are intended to be active high outputs will be 'active' until the program makes them outputs and resets them low. In other words if this board was active high, your relay would be energized when you start up, and would remain so until you reset your pins as outputs and take them low.

The manufacturer thinks you don't want that (you probably don't) so this board is set up the opposite of that (active low).

  • 2
    \$\begingroup\$ If the pin is configured as an input on reset (which is the case for most µC's), then the relay would not be initially on because the pin would be in a high impedance state and would be unable to drive the LED in the optocoupler. \$\endgroup\$
    – tcrosley
    Commented Oct 20, 2015 at 7:12

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.