Introduction: DTMF and GSM Based Home Automation

Automated Home is the buzz word for today. This instructable will help you build an automated system to control (Switch on and OFF ) the electrical appliances of your home. we will include a selection system similar to that of IVRS based call systems.

You will be calling your assigned number ( the sim number which you inserted in the GSM module), the system will answer you call 5sec after the call is connected. Now you can use your keypads to select your process to be done. First key will select the Relay to to actuated and the second key press will set the state of the relay ie ON or OFF.

for example; if you press 1 - 1 then first relay will be turned on.

key press details are explained in later steps

this is one of those few tutorials that make use of internal DTMF decoder with SIM800 module. Thus avoiding the need for an external decoder and there by making your project compact and power efficient.

Hardware List

· Arduino Uno R3 ( )
· SIM 800 Module ( )
· Two Channel Relay Module (
· 12V, 1A AC/DC adaptor ( )
· Jumper wires necessary ( )

Step 1: Setting Up Your Hardware

SIM 800 GSM Module is interfaced as follows

GSM RX ==> D11 of Arduino

GSM TX ==> D10 of Arduino

GSM GND ==> Arduino GND

GSM Power ==> appropriate ac/dc adaptor, a normal 12v AC/DC adaptor should work with most modules

Relay Module interfacing

Control Of Relay 1 ==> D8 of Arduino

Control Of Relay 2 ==> D9 of Arduino

Relay Board Power ==> appropriate ac/dc adaptor, a normal 12v AC/DC adaptor should work with most modules, there will be power tapping points with the GSM module enabling adapter sharing.

Circuit Diagram for connection is included

upload the sketch to your UNO

find code here ( )

Step 2: Finalizing the Setup and Setting the System Up

Insert SIM to the GSM module and power the entire setup. Check whether the module is registered with network - the NETWORK LED should blink; 64ms On/ 3000ms Off-

Call the sim u just inserted. The system will automatically answer your call 5 sec later the call is connected - this delay is included to give time for the user to disconnect the call is case of error while calling-

After attending the call first key press will select the relay to be actuated. Pressing 1 will select Relay 1 and 2 will select Relay 2.

Second key press will set the relay status. Pressing 1 will Turn ON the Relay (Digital Pin of Arduino goes HIGH) and 2 will Turn it OFF.

The call won't be automatically terminated. User have to terminate it himself. the actuation of relay happens only after disconnection of the call

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017