SparkFun Quad Relay Board (Qwiic) – Sparkfun COM-16566
The SparkFun Qwiic Quad Relay is a unique power accessory board that has been designed for switching not one but four high powered devices from your Arduino or another low powered microcontroller using I2C. Taking a look at the board, the Quad Relay has four individual relays rated up to 5 Amps per channel at 250VAC or 30VDC. Each channel also has its own uniquely colored LED, silk for easy identification, and screw terminals for optional connection. Utilizing our handy Qwiic system, no soldering is required to connect it to the rest of your system!
At the heart of the SparkFun Qwiic Quad Relay is an ATtiny84 that takes various commands to toggle the four relays. The I2C address of the ATtiny84A is software configurable so if you had the desire and power, you could daisy chain over 100 Qwiic Quad Relays. There is also a header that breaks out the four I2C lines if you’re not taking advantage of the Qwiic connectors. And last up, the barrel jack is rated for wall adapters in the range 7-12V but we have equipped this relay board with a jumper on the underside of the board if you want to use wall adapters at 5V.
Messing with such high voltage is dangerous! We’ve included many safety precautions onto the PCB including, wide traces designed for high amperage, ground isolation between the relay and other circuitry, and a milled out area around the common pin of the relay. However, with all the safety precautions included with the SparkFun Qwiic Quad Relay, this is still a power accessory for users who are experienced around, and knowledgeable about high AC voltage.
Quad Relay Board Features:
- Four JZC-11F Relays
- 5A at 250VAC, 30VDC
- Each relay has its own colored LED and silk labels for easy identification.
- Safety Features
- Ground pour isolated from relays
- Air gap around the common pin on the relays (for creepage and clearance)
- Large trace width on relay pins far exceeding the peak 5A current
- I2C commands for toggling individual relays or all the relays at once
- I2C commands for turning all relays off or on
- Two I2C addresses
- 0x6D (Default)
- I2C address is software configurable
- All commands are listed in the example code
- Screw Terminals
- 26-14 Gauge AWG wire
- Max Current Draw ~250mA
- Vin via Barrel Jack
- 7V to 12V
- Vin via Barrel Jack w/ Bypass Jumper Closed
Quad Relay Board Dimensions:
- Board Length: 82.5mm (3.25″)
- Board Width: 47mm (1.85″)
Quad Relay Board Schematic:
Connecting to the Quad Relay Board:
Please be sure that when connecting your wires to the wall outlet that they are secured and also rated to handle the current! Also before connecting or disconnecting any wires, you disconnect the board from the mains.
Sparkfun has provided an Arduino library to make it even easier to get started with the Qwiic Quad Relay. The library will give you the full functionality of the Qwiic Quad Relay without the hub bub of the I²C data transactions. You can click the link below to download the file or by navigating through the Arduino Library Manager.
Arduino Library Functions:
The list below outlines all of the functions of the Qwiic Relay Arduino Library designed to work with the Qwiic Quad Relay along with short descriptions of what they do. The examples cover nearly all of the functions so take a look at those for demonstrations on how to integrate them into your own code.
bool begin(TwoWire &wirePort = Wire);– Initialize the Qwiic Relay on the I2C bus
float singleRelayVersion();– Returns the version number of the relay
void turnRelayOn(uint8_t relay);– Turn the given relay on. Valid inputs for
relayare 1 through 4. For example,
turnRelayOn(1);will toggle the first relay.
void turnRelayOff(uint8_t relay);– Turn the selected relay off. Similar to the above function, select values between 1 and 4 to turn the chosen relay off.
void toggleRelay(uint8_relay)– Toggles the selected relay to the opposite state. The function first checks the status of the relay and is toggled to either
offdepending on what the status check returns.
void turnAllRelaysOn();– Turns all relays on the board on.
void turnAllRelaysOff();– Turns all relays on the board off.
void toggleAllRelays();– Toggles all relays on the board to the opposite state of the relay status check.
uint8_t getState(uint8_t relay);– Returns the status of the selected relay. Returns
1if on or
0if off. Just like with previous functions, valid inputs for
relayare 1 through 4.
bool changeAddress(uint8_t newAddress);– Changes the I2C address of the Qwiic Relay. The new address is written to the memory location in EEPROM that determines the address. Valid
newAddressvalues can be between 0x07 and 0x78.