I have a tiny12 (5v) driving 2 outputs to control two smallish 12v relays. I use a dual-NPN digital transistor package (built-in resistors) from ROHM on two I/O pins to pull down the relay coils. Flyback diodes over each relay coil.
Driven independently with a pattern these relays react like they should for the on/off cycles even for some very brief hits of 70ms.. 100ms.. yes, there's mechanical lag time lag for contacts... but generally speaking they snap the way I'd like.
Things change when they're driven exactly in unison with that same pattern. One of the relays goes non-responsive to short release periods (say 70ms) and will stay stuck on (contacts remain closed). Yet the other one does release, tapping out the pattern I'm throwing at both relays. If I drive the non-responsive relay alone with the same pattern, it will tap out the pattern. Ditto for the other relay.
I went nuts for a while thinking this was a software bug, but no, it's electrical: got out the scope and checked voltages and found logic pins were correct and doing same thing in unison, strong 0 to 5v swings mirroring each other, both transistors kept doing their jobs, both coils on the low side showed going to ground (via its transistor) when the I/O on each pin was LOW... but one doesn't release. What magic is holding it shut?
There is some interaction between a perfectly timed release of two relays that are wired pretty close to each other drawing off the same supply. .. that keeps one of them closed.
What might cause this? These relays don't draw a lot of current, I have ample supply.