Weather Bot & Weather Station Using GSM Shield

Introduction: Weather Bot & Weather Station Using GSM Shield

About: I am a student ....I do all these things for learning nd fun


Make an inexpensive and automated DIY WeatherBot .Here we are using SIMCom SIM900A. It’s one of the cheapest Gsm/Gprsmodule available in market. A sensor measures temperature of your room and another temperature reading is taken from and post them on thingspeak.comand over LCD screen it displays both the temperature and type of weather on the top.

Step 1: Important Points

1. Why we use SIM900A:The 900 in name is use

to denote that module supports communication in 900Mhz band. In India where we are from, most of the network providers operate in 900Mhz band. If you are from another country, you have to check mobile network band in your area.

2. Power requirements of GSM module:

GSM modules are manufactured by different companies even for same GSM IC they can use different input power supply specs. You need to check those spec. and make sure to use the same for it. The module we are using takes 12V, 1A (2A preferable) input supply.

3. Use of internal reference for LM-35 (temperature sensor):

The LM35 is a common TO-92 temperature sensor. It is often used with the equation

temperature = (5.0 * analog-input) * 100.0) / 1024;

However, this does not yield high resolution. This can easily be avoided, however. TheLM35 only produces voltages from 0 to +1V. The ADC uses 5V as the highest possible value. This is wasting 80% of the possible range. If you change aRef to 1.1V, you will get almost the highest resolution possible.

Getting started with GSM

1) Insert the SIM card in module and lock it.

2) Connect the adopter and on the supply.

3) Wait for some time and see the blinking rate of ‘status LED’.

4) Once the connection is established successfully, the status LED will blink for every 3 seconds.

Step 2: All Needed Material

1) SIM900/900A GSM module (preferably from ATRIM electronics).

2) Arduino Uno

3) 16x2 LCD screen

4) Some connecting wires (M2M and M2F)

5) LM-35 temperature sensor

Step 3: Making Hardware Connections

1) Connecting GSM with Arduino

We are using SoftwareSerial library for serial communication with GSM. The connections are shown in above figure .

2) Connecting LCD with Arduino

The connections are shown in above figures

3) Connecting LM-35 with Arduino

The connections are shown in above figures

Step 4: The Code: TCP and HTTP Get

a) Interfacing code for GSM

List of functions created :

Get weather data from
Post2thingspeak (int
Posts data on

Some AT commands of which you need to change parameters according to you:

· Use your own Apikey for variable apikeyinitialized at the starting of program

\"","OK"): You will find it in openWeatherRequest function.

X1- Use APN for your Sim , for airtel it is

You will find it in openWeatherRequest

X2- Use id for your region e.g for Muradnagar, India it is 1262453

X3-Use your own Appid, which you can create by creating an account at

b) Interfacing code for LM35

List of functions created to be use:

(void): Return measured room temperature in float

c) Interfacing code for LCD

List of functions created to be use:

str): Prints on both hardserial and soft serial

Step 5: Uploading Code in Arduino

1.Code is available on this Github repository here.

2. Download the repository here in zip.

3. Unzip it and open the all_phone_operations folder.

4.Openall_phone_operations.ino in Arduino ide and upload it (as shown in figure).

Team member of project:--

1.Deva Harsha Bolisetty

2.Devvrat Arya

3.Agam Tyagi

Summer Fun Contest 2016

Participated in the
Summer Fun Contest 2016

Be the First to Share


    • Mason Jar Speed Challenge

      Mason Jar Speed Challenge
    • Bikes Challenge

      Bikes Challenge
    • Remix Contest

      Remix Contest



    Question 2 years ago on Step 5

    I am trying to fetch and extract the weather data i.e. wind speed, temp,etc. but it is not getting all the data when http request is send to get the api data. it shows only segment of data . any idea please help me.