GSM SM5100B + Arduino UNO

HI!

I don't have any response from it.

I use Arduino UNO r3 with GSM sm5100B with D2 and D3.

And power supply is external switching power supply 5V 3A.

But it still didn't work. It show me some junk alphabets.

Now I just use IDE and it return

Starting SM5100B Communication...
ÿÿÿÿï÷ÿýuÿÏïóý=;óÿï÷ÿ»½ÿÿ?ßÿ=ÿûûé±ÿ½½ÿ»ÿ÷3ïsï½»¿7õëÿ÷ÿÿÿÿûûÿïû÷ÿÿÿo{Þç{ÿATÿÿ

with weird characters.

When I send command like AT+SBAND=7 or AT+SBAND? it not return anything accept weird characters.

In my country (Thailand) use 850, 900 and 2100Hz.

I still have no idea why my module not work.

In my country (Thailand) use 850, 900 and 2100Hz.

I still have no idea why my module not work.

I just want to know all possible problem that can happen with GSM SM5100B.

THIS IS MY CODE:
#include <SoftwareSerial.h> //Include the NewSoftSerial library to send serial commands to the cellular module.

#include <string.h> //Used for string manipulations

char incoming_char=0; //Will hold the incoming character from the Serial Port.

SoftwareSerial 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.
Serial.begin(9600);
cell.begin(9600);

//Let's get started!
Serial.println("Starting SM5100B Communication...");
}

void loop() {
//If a character comes in from the cellular module...
if(cell.available() >0)
{
incoming_char=cell.read(); //Get the character from the cellular serial port.
Serial.print(incoming_char); //Print the incoming character to the terminal.
//Serial.println("Starting SM5100B Communicationn...");
}
//If a character is coming from the terminal to the Arduino...
if( Serial.available( ) > 0)
{
incoming_char = Serial.read( ); // Get the character coming from the terminal
if(incoming_char == '~') // If it’s a tilde…

incoming_char = 0x0D; // ...convert to a carriage return

else if( incoming_char == '^') // If it’s an up caret…

incoming_char = 0x1A; // ...convert to ctrl-Z

cell.print( incoming_char ); // Send the character to the cellular module.
Serial.print( incoming_char ); // Echo it back to the terminal
}

}

Thank you for your answer

Please don't post the same thing in multiple places.
Duplicate post will be deleted.

Please Modify your post and code tags around your code - use the # button.

Sorry

I'm a new member of this forum.

Still wait for the solution :slight_smile:

Thanks

Just an obvious suggestion - you have got the baud rate in Serial Monitor set to 9600 haven't you?

I tried to use all but it didn't work.

still had the same result :cry:

Try this - it should just display a message on the Serial Monitor.

#include <SoftwareSerial.h> 

char incoming_char=0;      //Will hold the incoming character from the Serial Port.

SoftwareSerial cell(2,3);  //Create a software serial port. Pin 2 is the Rx pin, pin 3 is the Tx pin.

void setup()
{
  //Initialize serial ports for communication.
  Serial.begin(9600);
  cell.begin(9600);
 
  //Let's get started!
  Serial.println("Starting SM5100B Communication...");
}

void loop()
{
}

yep! the response is only "Starting SM5100B Communication..."

and random weird characters.

How can I set BR? or How can i know the SIM card is ok?

Thanks

If you are getting random characters when running that sketch then you have other problems I'm afraid. You aren't reading any characters from anywhere to display. You might want to check your USB cable?

What do you mean by BR?

Put the SIM card in 'phone to see if it works?