The SparkFun Qwiic Quad Solid State Relay Kit takes one of our favorite solid state relays and lets you place up to four of them on a single PCB to control all of them via I2C from your desired microcontroller. Each relay is rated to 40A @ 28-380 VAC so with all four on board you can control some serious power all from the easy-to-use Qwiic Connect System. The kit requires no soldering but there is some minor assembly required to attach the relays to the board and to connect your AC load.
The ATTiny84 on the board comes pre-programmed to accept various commands to toggle all four relays. The I2C address of the ATTiny84 is software configurable so so if you had the desire and power, you could daisy chain over 100 Qwiic Quad Relays (but please be aware that toggling lots of relays on a 3.3V bus can cause voltage spikes so an external power supply will be required)! In addition, the address jumper can be opened to switch the I2C address from 0x08 (Default) to 0x09 (Alternate).
Messing with such high voltage is dangerous! This is a power accessory intended for users who are experienced around, and knowledgeable about, high AC voltage. If you're uncomfortable dealing with high AC voltage, that's okay! Check out the IoT Power Relay instead. The IoT Power Relay is fully enclosed, making it a lot safer. Also, for small loads (eg. 4-10A), air cooling should be sufficient but if you are sourcing more than that, a heat sink is highly recommended. Refer to the relay datasheet for recommended heat sink dimensions.
Note: The black standoffs and 4-40 screws used to secure them shown in some of the photos are NOT included with the kit. Check out the Hookup Accessories below if you would like to include some in your order.
The SparkFun Qwiic connect system is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.
Whether it's for assembling a kit, hacking an enclosure, or creating your own parts; the DIY skill is all about knowing how to use tools and the techniques associated with them.
Skill Level: Competent - You might need to break out the power tools. Nothing beyond a power drill or rotary tool should be required, but you might have a hard time with just a screwdriver and hammer. Cutting holes into plastic or metal might be required.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Experienced - You will need to consult a datasheet for calculations to determine a components output format, linearity, and do a little math to get what you need. You will be using a datasheet or schematic beyond basic pinouts.
See all skill levels
Based on 5 ratings:
0 of 1 found this helpful:
Just works. Zero problems.
After numerous tests on this, it seems to be very unstable. at times it stops responding completely. restarting the program does not fix the issue. The only way I have found to get it back is to power-cycle the device. This happens regardless of the number of items on the I2C bus. when this happens, the other items on the I2C bus continue to operate normally I can see the blue LEDs blink at the right times, but it is very brief and the setting does not stick. It is like something is not latching up properly on the board. It may work fine for 20 minutes, 30 minutes, an hour or more, but it eventually returns to this behavior.
UPDATE: I may have found this issue. I have corrected a semaphore processing routine that might have been causing this. I am testing, now.
UPDATE: It was not the semaphore issue. I am now testing with very simple code that simply toggles the relays every second.
UPDATE: Even with simple code and a simple design, this is very unstable.
UPDATE: Tried an external bench supply. Not any better.
I too appear to have an unstable relay, its as if it retains memory and there for doesn't switch off when its supposed to, is there code that can be applied to reset memory instead of disconnecting the Qwiic cable?
Tried 4 boards - all failed to detect the relay. Defective.
Once I figured out that the real I2C address of this board was 0x08, and not the default in the library Examples, it works wonderfully. One more case of RTFM for me!
Build quality is excellent. Assembly is easy with all needed parts and wires included. And the relays each have heavy plastic covers on them to make them one notch safer to handle. Nice built-in mini-LEDs show board is live and indicate which relays are switched on. The relays also have built-in red LEDs to show they’re closed/on. The included Qwiic plugs and cables are helpful getting started, too. You can test the board without putting AC voltage across the relay terminals, too. Easy to set up on the bench. Arduino library worked on my ESP8266 just fine, once I found the correct board address.
These are 40A relays which switch 110/240 VAC. My max load is 250 watts at 110 VAC, so the relays barely get warm.
Very pleased. I ran a simple I2C scanner Arduino sketch to find the actual I2C board address. The correct address is also in the doc and website product description. Pls update the library Examples Sparkfun. Exellent product. Thanks.
The addresses in the examples are for the named product; i.e. the quad relay example has the default address for the regular quad relay, not the solid-state version....the single relay has the default address for the single relay (0x18) - apologies for any confusion