Qwiic Single Relay COM-15093 locking over time, i2cdetect shows all busses in use

Hi! I hope to get some help with my Qwiic Relay, which becomes ‘locked’ to ‘on’ over time.

The hardware I’m using:

Raspberry Pi 3 Model B+ Rev 1.3

SparkFun Qwiic HAT DEV-14459

SparkFun Qwiic Single Relay COM-15093

SparkFun Qwiic Cable 100mm

Software:

Raspbian with Python 3

fourstix SparkFun Circuit Python (https://github.com/fourstix/Sparkfun_Ci … QwiicRelay)

The problem:

I’m using the relay to trigger a grow-light for plants. Everything starts fine, but becomes stuck later.

To isolate the problem I’m running code to turn the Relay on, then off, every five minutes. I have found the problem occurs after a while (most recently, after an hour of operation), and needs a complete power-down to get un-stuck.

Attached is the output of i2cdetect, first during normal operation, then after the Relay becomes ‘locked’ to ‘on’.

I see a comment on the SparkFun product page, and so hope someone has already solved this issue.

Thanks very much for your help!

i2cdetect_output.png

This is an odd one. At first it sounds like the Relay board might be acting up. However, your picture of the I2C output and the fact that you’re using someone else’s library leads me to think it might be a software issue. If you placed your order within 30 days, as per our returns policy https://sparkfun.com/returns, then you might be elligible for a replacement. However, if it’s not a hardware issue then it could be software. I would suggest that you post this in a GitHub issue, https://github.com/fourstix/Sparkfun_Ci … lay/issues, so fourstix has visibility on the issue as well in case it is a software issue.

Hi Brandon,

Thanks for your swift reply, much appreciated.

I’ll post this up on the GitHub too (I’m sure many owners will use it), and, also try going directly to i2c in terminal - see if I can replicate the issue outside of the third party software. Thanks for the note about returns, but unfortunately I ordered the relay a few months back–and I wasn’t able to fully diagnose this then.

On the product page, I saw ‘David12’ experiencing something a little similar, do you know if there are any fixes or workarounds for similar issues, in case it is hardware related?

Thanks very much,

Christian

Posted here as suggested,

https://github.com/fourstix/Sparkfun_Ci … y/issues/2

Hi Brandon,

I believe I have solved this issue.

There was no problem with the fourstix library, the i2c bus corruption may have occurred because of a clash in i2c address with the popular Adafruit MCP9808 temperature sensor.

https://www.adafruit.com/product/1782

While the sensor was not connected during relay testing, a startup background process was still trying to communicate with the MCP9808, and so my assumption is this locked out all i2c.

Next step will be to reassign the relay from 0x18 to another address.