I received a SparkFun COM-15093 Qwiic single relay board today, and hooked it onto my I2C bus to start testing out an application. Compared to my other Qwiic sensors/boards, this one was displaying some odd behaviors from the start. Notably:
I thought Qwiic connectors on boards/sensors didn’t care which connector you plugged into. If I plug into the top connector on this board, the red power LED comes on, but “i2cdetect” doesn’t show the relay as present on 0x18. If I plug into the bottom connector on this board, the red power LED does NOT come on, but i2cdetect shows the relay as present on 0x18.
With the connector in the bottom Qwiic port, if I make a software call to set_relay_on() and set_relay_off(), the blue “STAT” LED turns on and off, but there’s no characteristic “click” from the relay, which this type normally exhibits. So I’m not actually sure the relay is working…
If I have the board connected to my bus on the top port, with the red pwr LED on, I will get random/intermittent bus errors when running my software, that don’t occur when the board is not connected to the bus.
I thought that maybe this was an issue with the pull-up resistors, as I do have other I2C devices on this bus, so I cut the traces on the I2C jumper pads, but this doesn’t seem to have had any impact on behavior. The same symptoms as above are occurring with the traces cut.
Any thoughts/ideas?? I don’t have an (easy) way to hook the 120V side of the relay up to a load just now, but generally not having a load on the HV side of a relay doesn’t impact operations on the LV side…
It sounds like it might be defective - Was it purchased from us? If so head over to www.sparkfun.com/returns (contact vendor if purchased elsewhere) and we’ll get ya squared away
Looking at the schematic (https://cdn.sparkfun.com/assets/0/7/b/1 … _Relay.pdf), the two QWIIC connectors are in parallel, so there should be no difference between them. It sounds like there may be soldering issues on the connectors. My guess is that 3.3v isn’t connected on the bottom connector (the reason for no power LED and no clicking) and maybe one of the i2c lines on the top connector. Can you try plugging in to the bottom connector and jumpering over 3.3v from your processor card to one of the 3.3v points on the relay board?
You are right; you should be able to hear the relay click without anything connected to the contact (screw terminal) side.
BTW, the processor on the relay board may be responding even if there is no 3.3v connected by being powered up through the i2c pullups and ESD protection diodes on the processor. Enough current for it to respond but not enough for the relay or LED…
Thanks for the info! I will give that a try… I filed a return request already, but it’s possible this board was damaged in transit. FedEx lost track of the package for 24h, and when it turned up on my doorstep, the little red box was pretty mashed. There was no visible damage in terms of bent or broken components, but with a magnifying glass, I found a few traces in the bottom-right that looked like they may have been cracked. Just as an experiment, I scraped the lacquer off the traces and put a bead of solder on them to reinforce them where the hairline crack was, but the behavior was exactly the same before and after…
I’ll play around with it a bit more, but am just working on the presumption that the board was damaged.
Just following up to close this issue in case anybody else encounters a similar problem. There was definitely board damage, either from FedEx’s gentle handling, or prior from manufacturing. The 3.3V power trace leading to the open test pads on the edge of the board was definitely cracked. I scraped the lacquer off of that, right about around the area where “SDA” is printed on the board, and put a bead of solder on it to reconnect it. That resulted in BOTH I2C ports now “working” – in the sense that I get a PWR LED light-up regardless of which port I plug into, and when I switch the relay on/off in software, I get the expected “click” from the relay!
So that’s the good news… The bad news is that with this board connected, my overall device still fails intermittently with I2C I/O errors, that are not present when the board is disconnected. So I’m considering this board unreliable and dead for all practical purposes. But it was a broken 3.3V trace that caused the originally-observed behavior.