I have a relay module link with a built in opto-isolator circuit.

When there is no load connected to the relays, the relays switch as expected. But when an inductive load (240V 0.5 HP) motor is driven. It causes the Arduino to reset every time the relay is switched.

Please suggest ways to rectify the issue. I have gone through some of the articles and it suggests to have a snubber circuit at the relays. Would a snubber help in this circuit where the optoisolator is already present. If yes, please suggest the connections as well.


  • \$\begingroup\$ Hello, did you figure this out? I am having same problem with 5V DC motors being turned on using exactly same module as you \$\endgroup\$
    – Petr
    Commented Jul 8, 2022 at 21:22
  • \$\begingroup\$ Yeah, putting the Arduino a little far away in a Faraday cage worked for me. \$\endgroup\$ Commented Mar 19, 2023 at 10:16

1 Answer 1


Adding a snubber over the optoisolator won't help as the relay coil is not an issue here. There already is a diode snubber for the relay coil.

Also, the optoisolator does really nothing, as both sides of the optoisolator shares the same supplies and ground. It does not isolate.

The snubber needs to be over the relay contacts, as they arc and spark when the load is switched.

  • \$\begingroup\$ Oh, I see, snubber is for the load side. But most of the internet tutorial suggests having a snubber circuit in case the Arduino resets while operating the relays. I have separate supplies for Arduino and relays which are DC grounded together \$\endgroup\$ Commented Aug 15, 2020 at 18:37
  • \$\begingroup\$ Both the grounds are not the same. The Arduino, as well as the relays, are powered using DC power supplies. And on the load side, I am having AC voltages. Have I understood it wrong? \$\endgroup\$ Commented Aug 15, 2020 at 18:38
  • \$\begingroup\$ The load is isolated by the relay. The relay AC contacts need the snubber. There are already snubbers for the relay coil. You just seemed to think that because there is an optoisolator, it solves some problems, but in fact the optoisolator is quite useless, as it does not isolate your Arduino from the relay coils, because you have to share the Arduino and coil ground. \$\endgroup\$
    – Justme
    Commented Aug 15, 2020 at 18:48
  • \$\begingroup\$ I understand now. Thank you for the clarification, Can you suggest any better way to implement this? \$\endgroup\$ Commented Aug 15, 2020 at 18:54
  • \$\begingroup\$ No, not really. Any relay you are going to drive can arc and spark when switching the load, so in any case you might need a snubber, either over the relay switch contacts, or over the load. \$\endgroup\$
    – Justme
    Commented Aug 15, 2020 at 18:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.