Arduino Projects

DTMF Home Automation Using Arduino And GSM

home automation


Home automation has gained significant popularity due to its ability to enhance convenience and control over household appliances. In this project report, we present a home automation system based on Arduino Uno, four push buttons, a 5V 4-channel relay module, and a SIM800L GSM module. The system allows users to remotely control their home appliances using Dual-Tone Multi-Frequency (DTMF) signals through SMS, providing a seamless and user-friendly interface for home automation.

Components Needed

  • Arduino Uno
  • 4xPush Button
  • 4xRelay Module
  • SIM800L GSM Module
  • LM2596 step down conveter
  • Zero PCB
  • Antenna

Arduino Uno

Arduino Uno is a popular microcontroller board that is part of the Arduino family. It is widely used in various electronic projects and prototyping due to its simplicity and versatility. Here’s an explanation of the Arduino Uno

Arduino UNO
Arduino UNO
  • The Arduino Uno is built around the Atmega328P microcontroller. This microcontroller has 32KB of flash memory, 2KB of SRAM, and 1KB of EEPROM. It operates at a clock speed of 16 MHz, providing enough processing power for most projects.
  • The Arduino Uno features a total of 14 digital input/output pins, marked as D0 to D13. These pins can be configured as either inputs or outputs, allowing you to connect various sensors, actuators, and other digital devices. Additionally, 6 of these pins (D3, D5, D6, D9, D10, and D11) also support Pulse Width Modulation (PWM), enabling you to generate analogue-like outputs.
  • The board also includes 6 analog input pins (A0 to A5), which can measure voltage levels ranging from 0 to 5 volts. These pins are useful for interfacing with analog sensors or reading variable inputs.

4xPush Button

A push button is a simple electronic component that functions as a momentary switch. When pressed, it completes an electrical circuit, allowing current to flow temporarily.

Push Button

  • A push button is designed to provide a tactile input for users to trigger actions or control electronic devices. It allows users to manually activate or deactivate a specific function by pressing and releasing the button.
  • Push buttons can be either normally open (NO) or normally closed (NC). In the normally open configuration, the electrical contacts are not connected when the button is at rest, and they only make contact when the button is pressed. In the normally closed configuration, the contacts are connected when the button is at rest and open when the button is pressed.
  • o use a push button in a circuit, one pin is connected to a voltage source (e.g., VCC) and the other pin is connected to an input pin of a microcontroller or other electronic device. When the button is pressed, it completes the circuit, and the microcontroller can detect the change in input state.

4 Channel Relay Module

A 4-channel relay module is a device that allows you to control multiple electrical circuits using low-power signals from a microcontroller or other control systems. Each channel on the relay module is independent and can switch on or off a separate electrical circuit.

Relay Module

  • A relay is an electrically operated switch that uses an electromagnet to mechanically toggle the position of its contacts. It allows a low-power control signal to control a higher-power circuit, such as turning on or off a household appliance, motor, or lighting system.
  • A 4-channel relay module consists of four individual relays integrated onto a single board. Each relay has a common (COM) terminal, a normally open (NO) terminal, and a normally closed (NC) terminal. The COM terminal is connected to the circuit you want to control, while the NO and NC terminals are the two possible positions of the relay contacts.
  • The 4-channel relay module typically has two sets of pins: input control pins and output pins.
  • Input Control Pins: These pins connect to the microcontroller or control system. Each relay channel has an input pin, usually labelled IN1, IN2, IN3, and IN4. To control a specific relay channel, you need to send a signal to its corresponding input pin.

Relay e1686635570179

  • Output Pins: These pins connect to the circuit or device you want to control. Each relay channel has three output pins: NO, NC, and COM. The COM pin is common for all channels, while the NO and NC pins are specific to each relay channel.
  • The input control pins of the relay module are usually compatible with TTL (Transistor-Transistor Logic) or CMOS (Complementary Metal-Oxide-Semiconductor) logic levels, commonly used by microcontrollers. Depending on the relay module, the input pins may be active HIGH or active LOW. Check the datasheet or documentation of your specific relay module to determine the logic level required to trigger the relays.

SIM800L GSM Module

GSM SIM800L is a popular module that enables communication over GSM (Global System for Mobile Communications) networks. It provides functionalities for making calls, sending and receiving SMS messages, and connecting to the internet.

GSM Sim800l
  • The GSM SIM800L module is designed to work with GSM networks, allowing devices to establish communication through cellular networks. It operates on various frequencies and supports 2G,3G connectivity, making it compatible with most GSM networks worldwide.
  • The module requires a power supply of around 3.7 to 4.2 volts. It can be powered using an external power source, such as a battery or a regulated power supply. It is important to ensure a stable power supply to ensure reliable operation.
Sim800l gsm Module
Sim800l gsm Module
  • The module communicates with other devices, such as microcontrollers or computers, using serial communication. It typically utilizes UART (Universal Asynchronous Receiver-Transmitter) protocol, enabling devices to send and receive commands and data through serial communication.

Circuit Diagram

circuit diagram 9

Source Code

  • Connect the VCC and GND pins of the Arduino Uno to the respective VCC and GND pins of the relay module.
  • Establish a serial communication connection between the Arduino Uno and the GSM module.
  • Connect each push button to a separate digital input pin on the Arduino Uno.
  • Connect each relay module input pin to a digital output pin on the Arduino Uno.
  • Connect the relay module output pins to the desired electrical appliances.



With the help of Arduino Uno, a push button, a relay module, and a SIM800L GSM module, we can easily create a home automation system that allows remote control of appliances and provides status updates through SMS. This system enhances convenience, offers energy efficiency by remotely managing appliance usage, and improves security by notifying homeowners about the status of their home appliances. Experimenting and expanding upon this basic setup can lead to more advanced and personalized home automation solutions.

More Arduino Tutorial


Hi, Prateek Here I’m interested in Electronics That's why I Make Soo Many Projects, I’m currently Pursuing M Tech.. if you Relay Like To My Blog Plz Comment Below...Thanks To All Electronics Lover...❤️

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button

Adblock Detected

Please consider supporting us by disabling your ad blocker