* Disclaimer: OveReview is reader-supported. We earn commissions from qualifying purchases
SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module

SainSmart 4-Channel Relay Module

SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module SainSmart 4-Channel Relay Module
$ 8.99

Score By Feature

Based on 454 ratings
Easy to use
8.69
Value for money
8.73
Quality of material
8.38

OveReview Final Score

How Our Score Is Calculated

Product Description

Each relay requires 15-20mA of driver current and is powered by a 5V 4-channel relay interface board.
AC250V 10A high-current relay; DC30V 10A high-current relay
Microcontrollers (Arduino, 8051, AVR, PIC, DSP, ARM, MSP431, TTL logic) can control the standard interface directly.
LEDs that indicate the status of the relay output

Questions & Answers

How big of a wire can the relays take? 14 gauge?

Although stranded wire has a slightly larger diameter for the same AWG, it can accept up to 12. Keep in mind that, while solid 14 is safe for up to 32 amps free-flowing, it is not safe for more than that. The relay contacts are rated at 10 amps and are enclosed in air/17 (stranded slightly higher, all values conservative).

What is the board's physical size?

Dimensions: 75 mm x 55 mm x 20 mm

Why is it necessary to use an external power supply (VCC) when the Arduino's I/O outputs 5V? Shouldn't they be able to turn the relays on and off by themselves?

Because the relays require more power than a single digital pin on an Arduino Uno can handle, this product includes optoisolator chips that operate at a lower Arduino manageable current. However, current is still required on the relay side of the optoisolator, so Vcc must be provided to the board.

Selected User Reviews For SainSmart 4-Channel Relay Module

Users of the Raspberry Pi 3 should be aware of the following important information
3/5

When I first started working on a control project that would make use of my Raspberry Pi, one of the components I discovered I needed were standard, electro-mechanical switches. mechanical relays to control a couple of 12VDC light banks (this isn't for Christmas lights, but for an animal habitat). I chose Sain Smart standard relays because I was already using their solid state relays. This is a standard relay, but I like how it comes as a module with the opto-coupler. The screw terminals and such, as well as the coupler. It's a small but functional module. What I found amusing is that it has a slightly larger footprint than solid state relays and a different screw hole pattern, but these are minor differences. br>The first thing I'd like to mention is the coil's current draw, which surprised me. It appears that this is the default setting for all manufacturers. A drive current of 20 milliamperes is required. In reality, if you look at my numbers, it's closer to 70-80%. 75mA! The current draw for one relay is shown in the first image (note the indicator LED), and the current draw for two relays is shown in the second image (not quite two times the current draw for one relay). This is a significant departure from the advertised product! Make sure your wiring is properly designed. br>The next question is, "Can I use a Raspberry Pi GPIO to control the relays directly?" "Well, sort of," says the answer. "A 2/4/8 Channel 5V Relay Module similar to this one can be found on the Sain Smart website. " They provide information that is in conflict with each other. "Works well with both 3," they say on the one hand. Raspberry Pi, Arduino, Teensy) use 3V and 5V logic. They do, however, include a "how to" drawing, which I've also attached because the URL won't likely post to a non-Google account. " The following is the Amazon address. Transistors are used as an intermediate "switch" in that diagram to connect the three elements. The RPi's world is 3VDC, and the relay module's world is 5VDC. I should also mention that, even though I don't have a picture of it, the GPIO on the RPi will SINK around 2mA when connected directly to the channel pin on the relay module when activating a relay (these relays activate LOW, so when the GPIO is set to GPIO. LOW, also known as GPIO, is a signal that can be used to control a device Current will flow from the 5VDC VCC (jumpered together with JD), through the relay control resistor R1 (see attached schematic), and through opto-mechanical devices. Through the indicator LED, IN1, down through the GPIO pin, and out through ground thanks to the Broadcom chip's magic. BTW, this is NOT the case with Sain Smart's solid state relays, which come with a protection transistor and a pull-up resistor to connect the three terminals. 3V GPIO to (a nice touch that I mistook for part of the module until I dug deeper). BUT HOLD ON! For days, I had the setup "cooking" on a table in my kitchen (the brightest room in the house), and the RPi never complained. I'm not sure how I managed to keep the Raspberry Pi from overheating. This is where things start to get interesting, and my mechanical engineering mind isn't sure what's going on. When relay pin IN1 is not connected to anything, but there is still 5V on JD-, it appears that this is the case. The voltage VCC is around 2 volts when compared to DC ground. 9VDC. When IN1 is connected to a HIGH GPIO pin, the voltage measured against DC ground is 3, as expected. 3VDC. I believe there is always a voltage drop across LED diodes, even when they are not in a complete circuit, and by chance, this particular setup is close enough to 3. The RPi is unconcerned about 3V. Plus, there's the 3. The IN1 indicator LED's cathode voltage isn't higher than the LED's breakdown voltage threshold, so the setup is fine. If you connect 5V logic to a GPIO on a Raspberry Pi, you'll get bad results. br>I hope this information is useful to others in the future. I'm hoping that what I'm saying is technically accurate. I also discovered that a 2channel board, which is very similar to this one from Sain Smart but came as part of a starter kit from another manufacturer, could respond using three channels. VCC is set to 3 volts, and the JD pin is set to 5 volts. This does not work on the Sain Smart module, and I believe it is due to the opto- The indicator LED would dimly light up, but the relay would not actuate, indicating that there was a problem with the coupler. In a nutshell, it appears that you can use the 5V from a RPI connected to VCC and JD to power this module and connect a GPIO directly to and channel pins. Your Pi will drain 2mA through the GPIO, but I've read that the RPI 3B can sink up to 16mA to ground per GPIO, so that shouldn't be a problem. I'd like to point out that the drive current is MUCH MUCH higher at 70mA than it is at 15mA (this was also true for the other two channel board I own). br>Have a good time and good luck with your construction.

Aryan Harrell
Aryan Harrell
| Jun 18, 2021
A germination chamber is made with this material
4/5

So far, this product has performed flawlessly in the creation of a germination chamber in which I use an Arduino and DHT-based fertilizer. 22 sensors to check the temperature and humidity of a volume on a regular basis, and then use the relay to turn on a heater or humidifier. br>br>However, I wish the documentation was more readily available. I was hesitant to use the arduino to power the module because I'm not sure how reliable the electric isolation is, and they all have the ability to power both the optically and solenoid-isolated portions (?). ) in which I am relaying mains power. After consulting the r/askelectronics and r/arduino subreddits, I learned that as long as a flyback diode is present to offset any voltage spikes caused by the switching, it should be fine. I went ahead and powered the entire module with the arduino because there is some documentation with the diagram that shows a flyback diode, and it has been working great for months at the farm where it's now being used.

Clarissa Davidson
Clarissa Davidson
| Jan 25, 2021
It functions flawlessly
5/5

Here's a sketch that you can use! The Relays will no longer toggle on reset with this sketch. From arduino serial monitor 0 to arduino serial monitor n 7 control the relays and print the status of the relays. Here it is, take a look at it, and have fun with it! br>br>//Using the Serial Monitor- 0=Relay 1 off, 1=Relay 1 on, 2=Relay 2 off, 3=Relay 2 on, 4=Relay 3 off, 5=Relay 3 on, 6=Relay 4 off, 7=Relay 4 onbr>br>void setup()br> Serial 0=Relay 1 off, 1=Relay 1 on, 2=Relay 2 on, 3=Relay 2 on, 4=Relay 3 off, 5=Relay 3 on, 6 (9600); start br>br> //Make sure all the pins are set to high so they don't toggle on Reset or Power on! digitalWrite(2, HIGH); digitalWrite(2, HIGH); digitalWrite(2, HIGH); digitalWrite(2, HIGH); digitalWrite digitalWrite(3, HIGH); digitalWrite(3, HIGH); digitalWrite(3, HIGH); digitalWrite(3, HIGH); digitalWrite digitalWrite(4, HIGH); digitalWrite(4, HIGH); digitalWrite(4, HIGH); digitalWrite(4, HIGH); digitalWrite digitalWrite(5, HIGH); digitalWrite(5, HIGH); digitalWrite(5, HIGH); digitalWrite(5, HIGH); digitalWrite pinMode(2, OUTPUT); br>br> //Set all the pins we need to output pinsbr> pinMode(2, OUTPUT); br>br> pinMode(3, OUTPUT); br> OUTPUT; OUTPUT; OUTPUT; OUTPUT; OUTP pinMode(4, OUTPUT); br> OUTPUT; OUTPUT; OUTPUT; OUTPUT; OUTP pinMode(5, OUTPUT); br> OUTPUT; OUTPUT; OUTPUT; OUTPUT; OUTP void loop ()br> if (Serial. br> void loop ()br> void loop ()br> void loop ()br> void loop ()br> void loop ()br> void loop () char ser = Serial; available()) char ser = Serial; available()) char ser = Serial; available()) available()) available()) available()) available()) available()) available()) available()) available()) available()) available()) available()) available()) available() read(); br>br> //NOTE: Because the serial is read as "char" rather than "int," the read value must be compared to character numbersbr> //hence the quotation marks around the numbers in the case statementbr> switch (ser) br> case '0': pin(2); int pin(2); int pin(2); int pin(2); int pin(2); int pin(2) digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digital Serial is a term used to describe a series of events that happen in a specific order. println(" Relay 1 OFF"); println(" Relay 2 OFF"); println(" Relay a new line; a new paragraph; a new sentence; a new paragraph; br> if '1' is true: pin(2); int pin(2); int pin(2); int pin(2); int pin(2); int pin(2) digitalWrite(pin, LOW); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrit Serial is a term used to describe a series of events that happen in a specific order. println(" Relay 1 ON "); println(" Relay 2 ON "); println(" Relay a new line; a new paragraph; a new sentence; a new paragraph; br> '2' case: pin(3) int int int int int int int int int int int int in digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digital Serial is a term used to describe a series of events that happen in a specific order. println(" Relay 2 OFF"); println(" Relay 2 ON"); println(" Relay 2 a new line; a new paragraph; a new sentence; a new paragraph; br> '3' case: pin(3) int int int int int int int int int int int int in digitalWrite(pin, LOW); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrit Serial is a term used to describe a series of events that happen in a specific order. println("Relay 2 ON"); println(" Relay 1 ON"); println(" Relay a new line; a new paragraph; a new sentence; a new paragraph; br> '4' case: pin(4); int pin(4); int pin(4); int pin(4); int pin(4); int pin(4) digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digital Serial is a term used to describe a series of events that happen in a specific order. println(" Relay 3 OFF"); println(" Relay 3 ON"); println(" Relay 3 a new line; a new paragraph; a new sentence; a new paragraph; br> '5' case: pin(4); int pin(4); int pin(4); int pin(4); int pin(4); int pin(4) digitalWrite(pin, LOW); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrit Serial is a term used to describe a series of events that happen in a specific order. println("Relay 3 ON"); println(" Relay 2 ON"); println(" Relay a new line; a new paragraph; a new sentence; a new paragraph; br> '6' case: pin(5); int pin(5); int pin(5); int pin(5); int pin(5); int pin(5) digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digital Serial is a term used to describe a series of events that happen in a specific order. println(" Relay 4 OFF"); println(" Relay 4 ON"); println(" Relay 4 a new line; a new paragraph; a new sentence; a new paragraph; br> 'case' 7: pin(5); int pin(5); int pin(5); int pin(5); int pin(5); int pin(5) digitalWrite(pin, LOW); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrite(pin, HIGH); digitalWrit Serial is a term used to describe a series of events that happen in a specific order. println(" Relay 4 ON"); println(" Relay 4 OFF"); println(" Re a new line; a new paragraph; a new sentence; a new paragraph; br>br> br> br> br> br> br> br> br> br> br> br> br>.

Iyla Ibarra
Iyla Ibarra
| Aug 20, 2021

Related Products For SainSmart 4-Channel Relay Module