using wavecom gsm modem with Arduino

Hi everyone. I am a newbie to the forum as well as Arduino (electronics too).

I am trying to communicate with wavecom using arduino for basic gsm functionality. I am sure this is not the first post on this but none helped me. I tried connecting modem directly to the computer and it worked using PUTTY application.

  1. rs232 / ttl converter

  2. rs232 male to male connector

3)wavecom gsm modem(its fmade by fargo telecom and is wavecom compatible)

4)arduino

Connections

Arduino and rs232/ttl converter

  • digital port 2 to tx of converter
  • port 3 to rx of converter
  • 5v n ground of converter left unconnected

Gsm modem led is blinking indicating connected to network.

Here's the arduino code

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2,3); // RX, TX

void setup()  
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  mySerial.println("ATD9620243969;");
}

void loop() // run over and over
{
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}

Gsm modem works with 9600 by default (or 115200 if set using AT command) .

What are you having trouble with? What output are you and aren't you getting?

Are you sure that the modem can be powered by 5v? That big inline fuse looks like the sort of thing one would see on a 12v automotive supply.

  • 5v n ground of converter left unconnected

You have to connect the grounds

@Quick5pnt0
I am trying to call a mobile phone using AT command ATD9620243969; .

@wizdum
Gsm modem I am using operates between 5v to 35v. I tried connecting directly to pc using rs232 to usb converter but arduino as power source just like above and it works.LED blinks when sim is inserted indicating connected to home network.

@Erni
I tried connecting to ground but no luck.

  1. The Wavcomm will want a 12V supply - it SAYS it runs from 5V upwards but you want 12V believe me

  2. The USB supply cannot possibly power the arduino and the Wavcomm together. You need seperate 12v supply for the Wavcomm and as others have said connect the grounds together.

You still haven't said what is/isnt working either

Noo no no no. Go back to hoofie's or quick5ptn0's question. What do you expect and what have you seen instead?

I recommend going even further back: connect the modem directly to a pc and use terminal program to send AT command. You don't need arduino and its added complexity to bog you down. Connect to PC and send that command. It should reply something, righ? Like OK?

Aim of the project is to do a webpage request using gsm module from arduino.To start with I am trying to call a mobile number using AT command.

I have tried connecting modem to pc directly usinf rs232 to usb converter and able to communicate with modem .I am able call and send sms to a phone number.

I tried connecting Wavecom to 12v. I am receiving continuous random characters on Serial monitor ( not sure whether incorrect baud rate or wire loose connection).I have ttl/rs232 converter between modem and arduino. Removing just the modem with converter connected still gives same output.

Hello

Your code does not have waits, does not have initializations, does not verify the condition of the network, does not verify the pin.

You need a protocol.

And, of course a null modem crossover cable.

A strong 12v. power supply (about 1A)

You need to take a look at wavecom manual and AT+ commands

http://www.sendsms.com.cn/download/Fastrack_M1306B_User_Guide_rev003.pdf

An Example to begin:

/*  Example 26.2  GSM shield making and ending a telephone call

http://tronixstuff.com/tutorials > chapter 26 */

#include <NewSoftSerial.h>

//Include the NewSoftSerial library to send serial commands to the cellular module.

NewSoftSerial cell(2,3);  //Create a 'fake' serial port. Pin 2 is the Rx pin, pin 3 is the Tx pin.

void setup()

{  //Initialize serial ports for communication.

cell.begin(9600);

delay(25000); // give the GSM module time to initialise, locate network etc.

// this delay time varies. Use example 26.1 sketch to measure the amount

// of time from board reset to SIND: 4, then add five seconds just in case

}

void loop()

{

cell.println("ATDxxxxxxxxx"); // dial the phone number xxxxxxxxx

// change xxxxxxx to your desired phone number (with area code)

delay(20000); // wait 20 seconds.

cell.println("ATH"); // end call

do // remove this loop at your peril

{    delay(1);  }

while (1>0);

}

nilaf_prince:
I am trying to communicate with wavecom using arduino for basic gsm functionality. I am sure this is not the first post on this but none helped me. I tried connecting modem directly to the computer and it worked using PUTTY application.

It seems to me that you have taken reasonable steps to confirm that the modem works OK from a direct RS232 connection to a PC, and that it is powered adequately from the Arduino. The sketch looks reasonable. It should send a command to the modem at startup and also forward anything you type into the serial monitor to the modem, and forward any responses from the modem back to the serial monitor. That seems like a reasonable setup.

I suspect the problem is that the Arduino has not got successful serial comms with the modem. You need to have the correct serial settings (speed, start bits, stop bits, parity) and the correct cable. There are two types of serial cable and you will need the right one. A straight cable connects all the pins at one end to the same pins on the other end. A crossover cable connects pin 2 to pin 3 and vice versa. You can achieve the same effect by swapping the Rx and Tx connections between the Arduino and TTL/RS232 converter. If you don't know which one you need, try both ways.

You did not confirm that you saw "Goodnight moon!" on the serial monitor. Did that display as expected?

@PeterH

Yes "Goodnight moon!" is printed on screen