- Clip this coupon to save 20% on this product when you buy from Amazon.com. Here's how (restrictions apply)
Save Big On Open-Box & Used Products: Buy "SainSmart 16-Channel Relay Module” from Amazon Open-Box & Used and save 34% off the $19.29 list price. Product is eligible for Amazon's 30-day returns policy and Prime or FREE Shipping. See all offers from Amazon Open-Box & Used.
Other Sellers on Amazon
+ Free Shipping
SainSmart 16-Channel Relay Module
This item at this price, sold by Amazon.com, is currently reserved exclusively for Prime members.Prime free trial and invitee customers: We will automatically apply an Amazon.com Gift Card to your Gift Card Balance in the amount equal to the Prime exclusive discount after you become a paid Prime member. If you cancel your paid Prime membership or return the qualifying smartphone within the first 3 months of your paid Prime membership, we may void your Gift Card or charge you in the amount of the Gift Card. Terms and Conditions apply.
- 12V 16-Channel Relay interface board, and each one needs 15-20mA Driver Current
- Equipped with high-current relay, AC250V 10A ; DC30V 12A
- Standard interface that can be controlled directly by microcontroller (Arduino , 8051, AVR, PIC, DSP, ARM, ARM, MSP433, TTL logic)
- Indication LED's for Relay output status
Frequently bought together
Customers who bought this item also bought
Special offers and product promotions
- Size (LWH): 8 inches, 5.7 inches, 1.19 inches
- Weight: 8.8 ounces
Overview. This is a 12V 16-Channel Relay interface board, Be able to control various appliances, and other equipments with large current. It can be controlled directly by Micro-controller (Arduino , 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logic).Features; 12V 16-Channel Relay interface board, and each one needs 15-20mA Driver Current; Equipped with high-current relay, AC250V 10A ; DC30V 10A; Standard interface that can be controlled directly by microcontroller (Arduino , 8051, AVR, PIC, DSP, ARM, ARM, MSP430, TTL logic); Indication LED's for Relay output status
Top Customer Reviews
So here are some specifications that we can all use:
1. The 12VDC input requires > 500mA.
2. The drive to each control input pin must "sink" 3mA when low (low = relay ON).
By the way, this is a great product - awesome bang for the buck!
Note the price has gone up (was $23.69) ... less "awesome" but still "Good" bang for the buck.
***** Input Power (12 VDC input)*****
- About 8 mA is required with all relays off.
- Each relay requires about 30 mA when on.
- So max supply current is 8 mA + (16 x 30 mA) = 488 mA (actual measured was 500 mA)
- Because one may use the board's +5 VDC output (2 pins) to power an Arduino/PIC circuit, use a 12V power supply that can provide MORE than 500mA (depending on your circuit's requirements).
- Note that the switching regulator on the Relay Board should somewhat efficiently (say 70%?) convert the board's 5V power usage to 12 V power input requirements. For example: 200mA at +5VDC (1 Watt) does NOT mean the +12V supply needs to supply an additional 200 mA also. This is because 1 W of power from the +12V supply only requires about 83 mA ( 12 V x 83 mA = 1 W ); however at say 70% efficiency of the 5 V regulator, this goes up to about 120 mA (83 mA / 0.7) but NOT the full 200 mA.
NOTE: The best way to discover what 12 V supply is needed (its max current rating) is to ACTUALLY MEASURE the 12 V input current while using a "test supply" that can more than handle worst case (with all relays ON) then buy the supply that meets your needs. Always use a modern "switching" supply (wall wart) because they are smaller, way more efficient, generate little heat, and normally use much less "vampire power".
- The baord's LM2576 (+5V) voltage regulator is rated at 3 Amps; however, one should not push it this hard. The circuits powered by the 5 V supply on the Relay Board appear to only be the LED side of the opto-isolators. Driving an input control line low turns on an opto-isolator LED ... turning on its relay. Each opto-isolator LED seems to require about 3 mA (for a total of 3 mA x 16 = 48 mA). This should leave you with at least many hundreds of mA available to power your circuits off of the relay board's 5V output pins (two of them on the connector).
***** Input control pins *****
- Grounding an input control pin (logic low) turns on the associated relay.
- The circuit driving the input control pin must be able to "sink" (drive logic low) about 3 mA of current (easy for most PIC/Arduino output pins).
*** CAUTION *** When a pin is NOT driven low, it "floats" to nearly the +5 V that drives the opto-isolators. This means that the driving circuit (Arduino/PIC) must either be also powered by +5V, or if powered by the now common 3.3V (or less!), its output pins must be "5 Volt Tolerant" (see your micro-controller pin specs). Another option is use of a "5V tolerant serial port expander" chip like an MCP23018 (I2C interface) or MCP23S18 (SPI interface) ... where just a few micro-controller pins give you 16 I/O pins. These can be powered by 3.3 V or 5 V. They are a bit complex, but a simple "software bit banged" I2C or SPI interface can be used to control them. Finally, one could use little signal transistors (2N3904) for this isolation from the 5 V (MCU pin -to- a say 2.7K resistor -to- transistor base, emitter to ground, collector to relay board input control pin).
1) The header pins on the bottom of the main picture get wired directly to the Arduino board. Connect one of the 5v pins to a 5v header on your Arduino and connect one of the Gnd pins to a ground header on the Arduino. Each one of the relays has a corrosponding header down there, too, which get connected to a digital output on your Arduino. You can run each wire individually or run over a ribbon cable to a project board and break it out from there. Either way, getting the header pins hooked up allows the logic to fire, and makes the lights work so you can at least diagnose/debug your program.
2) Next, the relay board needs a 12v dc input wired up to the blue terminals on the bottom. These are wired to the relays, which make the relays actually fire. The voltage magnetically pulls a piece of metal away from one pole to the other. This action makes a noticeable clicking noise, which is a little annoying, but also lets you know it's working.
3) Each relay has 3 terminals located along the sides. One side is normally opened, the other is normally closed. Use this to either make or break the circuit that you have wired up for your lights, motors, or whatever else is involved in your project that draws more than 5v or needs to be kept isolated from the Arduino board.
So yeah, keep in mind that you'll need a 12v power source to actually make the relays fire. All in all, it's a very well put together board, and would make a great control hub for something like say... a model train set or robot.
My configuration is that I use a 12v power supply to power the board (which powers the relay coils), and from that the board derives 5 volts to run its electronics. I am using this 5v to power the Raspberry Pi by connecting the 5v pin from the relay board's header to the 5v pin of the GPIO header on the Pi. I'm not using the standard Pi power connector. For each relay that I want to control, I'm using a 1K resistor between a GPIO pin on the Pi and one of the control pins on the relay board. When I turn the GPIO pin off, the board energizes the relay; turning the GPIO pin on releases the relay. (That seems a little backwards to me, but it works fine. I can control my load either way, because the relays have both NO and NC contacts.) I can control the GPIO, and thus the relays, from Python. I'm trying it control it from Java directly, but that's been hard for me to get working. The Python libraries have been easy for me to figure out. I'm hoping that eventually I'll figure out the Java as well.
The product design and build quality both seem to be first rate. The price is excellent -- you could scarcely buy the 16 bare relays for the cost of this board. But I have to knock off one star because of the complete lack of documentation.