SMS Based Home Automation System Using 1SHEELD




About: I'm from India and love making projects on electronics, specially with arduino. Internet is the only guidance I have and I've been into these since I was 11.

Hey friends, this first Instructable of a 16 year old. In this instructable I will show how to make 5 channel SMS based Home Automation system using 1sheeld. Instead of using electromagnetic relays I've built my own cheap SSRs using triacs with an indication LED.

A great thanks goes to Amr Saleh and the whole team of 1sheeld.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: About 1SHEELD

If you know about the Arduino and its shields like GSM and WIFI, and also buying each of them for use is expensive. To replace them all with just one, the Egyptian inventors made a wonderful single shield which connects to your android smartphone via Bluetooth and uses all the sensors and connectivity of it. You can also use more than one shield at a time like GSM, WIFI, Accelerometer, Gyroscope etc.

1sheeld -

Now let us acquire the materials...

Step 2: Materials Required is an online platform for technicians, Makers, Enthusiasts, Kids to buy electronic components

You require -
1. 1sheeld
2. Arduino ( Mega or Uno but every arduino should work)
3. USB cable
4. USB power supply (optional)
5. A laptop or PC to program arduino
6. Installed Arduino IDE

7. A plastic box or you can make an acrylic case as I did

8. Relays ( I made my own SSR with the help of this instructable but, I designed my own circuit because extra Snubber circuit was of no use, you can download it from here which is Express PCB file)

9. A driver circuit if you are not using the ready-made relay module ( I've made my own)

10. And the most important thing is, lot of guts to cope up with my English :D

Step 3: Place Your 1sheeld Correctly

You need to place your 1sheeld correctly, confusion can arise while using with Arduino Mega.

Step 4: Download 1sheeld Library

You need to download and place 1sheeld library from here-

And then extract it to the location in libraries of arduino.

Step 5: The Code

Open arduino IDE then copy, paste this code and then upload.

In place of +1234567890 in the program add the phone number with country code from which the message will come to your phone

There are five pins- 13,12,11,10,9. and if you want to turn the pin 13 on and off, then you need to send the message "on13" for turning on and "off13" for off.

You can also send the message "on all" or "off all" to turn all the five pins on or off

And you may have noticed that programming 1sheeld is much easier than programming GSM shield for the same project.

You can also download the code from here.

I'm not a good programmer at all, and there my be lot of mistakes in the program and I will highly appreciate the suggestions for improvement.

<p>// Programmer: Tanishq Jaiswal<br>    // Email:
    // Age:        15
    // Library:    OneSheeld
    // Shield:     1sheeld ( <a href="" rel="nofollow"> <a href="" rel="nofollow">  </a> </a> )
    A simple Example which will turn the pins on and 
    off while recieving specific messages from specific 
    5 pins which are used here pin: 13,12,11,10 and 9.
    */</p><p>    /* Include 1Sheeld Library */
    #include </p><p>    
    int ledPin13 =13 ;        /* led on pin 13 for debuging */
    int ledPin12 =12;         /* led on pin 12 for debuging */
    int ledPin11 =11;         /* led on pin 11 for debuging */
    int ledPin10 =10;         /* led on pin 10 for debuging */
    int ledPin9 =9;           /* led on pin 9 for debuging */
    int ledpin =4;            /* led on pin 4 for debuging */</p><p>    void setup()
      /* Start communication */ 
      /* This function invokeds receiveSms once any new messages are 
         received */
    }</p><p>    /* Nothing to loop on */
    void loop()
    {}</p><p>    /* Receiving Function for new SMS's */ 
    void receiveSms(const char * number ,const char * text)
      if(!strcmp(number,"+1234567890"))               /* phone number from which you will send the sms "PUT YOURS IN PLACE OF +1234567890" */
        if(!strcmp(text,"on13"))                        /* Check if i need to open the light connected to (pin 13)*/
          digitalWrite(ledPin13,HIGH);                  /* turn on the light (pin 13) */ 
          digitalWrite(ledPin13,LOW);                   /* turn off the light(pin 13) */ 
        if(!strcmp(text,"on12"))                        /* Check if i need to open the light (pin 12) */
          digitalWrite(ledPin12,HIGH);                  /* turn on the light (pin 12) */ 
          digitalWrite(ledPin12,LOW);                   /* turn off the light(pin 12) */
        if(!strcmp(text,"on11"))                        /* Check if i need to open the light (pin 11) */
          digitalWrite(ledPin11,HIGH);                  /* turn on the light (pin 11) */ 
          digitalWrite(ledPin11,LOW);                   /* turn off the light(pin 11) */
        if(!strcmp(text,"on10"))                        /* Check if i need to open the light (pin 10) */
          digitalWrite(ledPin10,HIGH);                  /* turn on the light (pin 10) */ 
          digitalWrite(ledPin10,LOW);                   /* turn off the light(pin 10) */
        if(!strcmp(text,"on9"))                         /* Check if i need to open the light (pin 9) */
          digitalWrite(ledPin9,HIGH);                   /* turn on the light (pin 9) */ 
          digitalWrite(ledPin9,LOW);                    /* turn off the light(pin 9) */
        if(!strcmp(text,"on all"))
          digitalWrite(ledPin9,HIGH);          /* turn on the light(pin 9) */
          digitalWrite(ledPin10,HIGH);         /* turn on the light(pin 9) */
          digitalWrite(ledPin11,HIGH);         /* turn on the light(pin 9) */
          digitalWrite(ledPin12,HIGH);         /* turn on the light(pin 9) */
          digitalWrite(ledPin13,HIGH);         /* turn on the light(pin 9) */
        if(!strcmp(text,"off all"))
          digitalWrite(ledPin9,LOW);          /* turn off the light(pin 9) */
          digitalWrite(ledPin10,LOW);         /* turn off the light(pin 9) */
          digitalWrite(ledPin11,LOW);         /* turn off the light(pin 9) */
          digitalWrite(ledPin12,LOW);         /* turn off the light(pin 9) */
          digitalWrite(ledPin13,LOW);         /* turn off the light(pin 9) */
          digitalWrite(ledpin,LOW);                    /* put any unused pin here (pin 4) */ 

Step 6: Upload the Code

Now all you need to do is upload the code to your arduino and once its done uploading jump to next step.

Step 7: Download 1sheeld App

Download it from Playstore, open it and then turn the Bluetooth on, connect to the 1sheeld and then select the SMS Shield.

Step 8: Ready Your Driver Circuit and Relays.

I've made a driver circuit using the 2n2222 NPN transistors.

For relays I will suggest to use the homemade one and the circuit is being made in Express PCB and the link is here. And also you need to tin the PCB and I used to tin by my own new method using soldering Iron.


Step 9: Put Everything Togeather

Just fix everything and make every connection.

I know that there may be a lot of suggestions for improvement of this project jumping in your mind, so please use the comment section and let me and others know.

As I told you this is my first Instructable, so sorry for all the mistakes that I made( I have no guidance other than internet) and I hope that you liked it.

Thank You :)

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    37 Discussions

    mikef14Tanishq Jaiswal

    Reply 2 years ago

    good day sir.. can i have the schematic diagram of the the triac and copler.. also the whole wiring diagram of this project.. its interesting to build 1 to because its cheaper. thanks

    Do you mean I can connect this to my lights at home and then use the accelerometer to make the lights blink wildly? That's a good enough reason to build one!

    2 replies

    4 years ago on Introduction

    There is a company in Hyderabad that sells ready made unit with 4 controlled outputs for around Rs. 2000/-. All you need is to insert a GSM sim card.

    3 replies

    Reply 4 years ago on Introduction

    If you are more fond of buying something than home-brewing, instructables is not the place for you.

    i usually use the Altium to do the design, but there are always some problems when generate gerber file. sometimes, the file is not complete. can you give me some advise?

    by the way, after comparing some manufacturers, i found the china manufacturer's price is competitive, a worthy large production country. jaja. i had brought from pcbpool for one time, very good quality, but the price is expensive. my friend recommend to use:, a manufacturer from china, it's good, low price with good quality, i was amazing. and use this url, can get a $5 usd coupons, jaja, so good. hope it can help you.

    2 replies

    your link is not correct. it is . They are good, but it pays to compare. If you need small pcb's in quantity of less than 5, OSHPark is cheaper, especially as the shipping is free. Larger surfaces, or if you need more than 3, at a certain moment it is cheaper to use

    Hi dear, thank you, there is something wrong with the link, this is the correct link: , it should be without ",". now it's ok, with this link, you can get 5 coupons. jaja.