I'm trying to build a GSM based AC Power ON/OFF switch using Arduino. I've successfully completed the ON/OFF mechanism using SMS with the help of 240v 100amps relay to control the circuit. Apparently I don't want to disturb the regular on/off switch's operation. I want both of them to be operational. When I'm not at home arduino should be the switch control and the regular one should be preferred while at home. I'm actually a noob in this topic, and want your precious help to solve this issue.


This can be done (to a certain extent) using a SPDT (Single-Pole-Double-Throw) relay and an SPDT switch.

The basic principle is the same as when you have two light switches controlling the same light (such as on a staircase - one switch at the top and one at the bottom). The two switches alternate between one of two different paths for the current. When both switches are routed to the same path the light is on.

enter image description here

Both the Arduino and the switch can turn the light on and off at will. The only problem, though, is that the Arduino has no clue if the light is on or off. To know if the light is on you will need some kind of feedback mechanism. That might be a simple LDR that looks to see if it's light or dark, or some kind of current monitoring system (current transformer, hall effect current monitor, etc) which the Arduino can use to see if current is actually flowing through the lamp circuit or not.

  • You could hook the (or another) switch up to the Arduino, so you have total control over what effect the switch will have. So that switching it on/off twice , fast, will enable disco mode ;p (perhaps you can find a better use, but yeah.)
    – Paul
    May 22 '16 at 6:32

A safer approach is to optically link the Arduino to an IR remote control light switch. Such an approach is discussed in this thread. The technical specifications appear to be here for the Lutron light switch remote controls. From this document one could construct an Arduino IR transmitter to send out these code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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