Qwiic Single Relay locks up

I have three of these relay modules. They work fine with no load connected to relays. They lock up when load is applied.

I am running the Example1_Single_Relay_Basics program to test the relays. The program has been modified to allow the modules to be attached to the I2C Mux. I also modify the program to select a relay to test.

If I disconnect the load and run the program, I get the expected on-off-on-off and the program completes.

If I connect the load and run the program, I get the on but never an off and the program hangs somewhere.

If I reset the microprocessor, the test starts again and fails again.

If you have an inductive load (like a coil), make sure to apply a fly-back diode to control the spikes that happen during applying and removing the power.

This is a 16V AC application switching about an amp. Don’t think I can use a diode. What protects the microprocessor on the relay board from the relay? My logic analyzer shows strange transistions on the I2C bus when the relay turns on.

TVS diode or MOV (at the relay output), rated for you application, can be used to clamp spikes.

Also, you could need opto-isolation between uC and high-power relay; but I would start with the TVS/MOV first.