I bought a heavy duty relay to control fluid pumps. I'll have a 12VDC power source to operate the pumps and I bought the following relay board to control them using an Arduino or other type of board.


The board with the relays on it would get 12VDC from a separate power supply that also runs the pumps. The only connection to the Arduino would be to connect from COM to IN1..IN4.

The board has connections on one side as follows:


DC+ to the 12V PS DC- to the 12V PS CH1..CH4 to Arduino COM to Arduino.

The Arduino would simply connect COM to CH1..CH4 based on the program it's running.

Q1. does the Arduino have to process 12VDC in order to do this?

Q2. would an Arduino be able to do this?

Q3. if I need the 5V version of this, would the Arduino be able to provide that 5VDC over extended periods of time, say 2 hours?

I just checked the current from COM to CH4 and it's 11 on the 20m scale, so that should be 11mA and 12VDC. That's the wire I'm asking the Arduino to switch on/off.

Would 12VDC 11mA damage an Arduino if it's asked to switch it on/off?

Note: the Arduino is NOT supplying power to the relay board and the power to the Arduino is a separate supply, it's only doing on/off switching of a wire that has 12VDC and 11mA on it.


2 Answers 2


Q1. The Arduino will go up in smoke if you put 12V onto one of it's port pins.

Q2. According to the link you provided, the board can accept a 'LOW' input of 5V. This would seem to be the suitable one.

The information is scant which makes it difficult to give a precise answer. Given that there is optocouplers on the board, the Arduino can easily drive these. There seems to be a COMmon pin which would connect to the Arduino 0V and the Arduino port pins would connect to the requisite CH1..4 input on the relay board.

Unfortunately there's a number of these relay boards and they're not all the same - I usually sketch out the schematic to understand how they work.


You can’t directly switch 12V with an Arduino, the I/O pins should never be driven above 5V. However, it’s not difficult to do what you want to achieve. You can get relays with 5V coils, or use a FET to switch the relay. If the Arduino can drive a 5V coil at all then it can drive it indefinitely. The rating is 40mA so you should be ok.

If you want to use a 12v relay then you may find that there’s a shield you can use, otherwise rig up an n-channel FET such as a 2N7002. Connect the gate to the IO pin, source to 0V and the drain to the relay coil. The other end of the relay coil goes to +12V. The relay will be energised when the IO output is high. You’ll also need a freewheel diode across the relay coil to protect the FET from inductive flyback.

  • 1
    \$\begingroup\$ I've seen 5V relay coils that need way more than 40 mA. Always check! \$\endgroup\$
    – Hearth
    Commented Dec 26, 2020 at 4:02

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.