ICOMSat Sim900 / Mega2560

Hello

I have run into countless problems in trying to use the Sim900 shield from Itead Studio, version 1.1. I've been talking to one of the engineers at Itead studio in trying to figure my problem out, but to no avail.

I was wondering if there are any UNO users that are using this shield, because I am considering just buying an UNO if it is going to be less of a hassle.

All of the libraries available are written primarily for the UNO anyways, and attempting to use the SoftwareSerial library with the Mega is not working, with the jumpers on the UART multiplexer connected to TX pin 2 and RX pin 3.

Setting the multiplexer to connect directly to the Sim900 module, so that I may access the module through terminal software without uploading anything on the Mega, is also failing. This is the type of responses I get:

Command: AT?
Check_protocol
no response

And just intermittent messages like the following:

Received SMS from (SIM position: 65534)
no response

and so forth. The provider whose SIM card I am using does send an SMS if you insert the SIM card into a new phone, so I assume that is the SMS being picked up, although I'm not entirely sure.

I'd really appreciate to hear from Mega users with the same type of problems, and if there are any UNO users here who can comment on their experience working with this shield.

Hi,
I'm using IcomSat and Mega 2560 too, and I'm having some issues to make arduino comunicate with the shield.
Here is what I get when using the example GSM_GPRSLibrary_AT:

GSM Shield testing.
DB:NO RESP
DB:NO RESP
DB:NO RESP
ERROR: SIM900 doesn't answer. Check power and serial pins in GSM.cpp

status=IDLE

Right now, I'm using pins 4 and 5 at the UART (already tried 2 and 3) and the switch is at UART_port.
The SIM900 library don't allow me to change its pins. And the GSM_Shield library is full of errors. What library did you use?
Please tell me how you connected the shield and the arduino. What pins you used in the multiplexer?
Thanks in advance.

I'm using a library from iTead Studio, but having the same issues. I have also tried to use the library that you are using, but I also get NO RESP the whole time. You can find it on http://imall.iteadstudio.com/im120417009.html under downloads.

The multiplexer is set to pins 2 and 3. I have tried this using software serial, and also selecting pins 2 and 3 TX/RX and connecting them to the hardware serial ports. No use.

I'm using the IComSat v1.1 with an Uno R3 to send and receive SMS messages.
Communication with it is done with SoftwareSerial. My only complaint is that I can't communicate reliably with baud-rate higher than 19200 (I couldn't figure out why this is the case, and simply gave up. 19200 baud is good enough for me).

I didn't use any of the provided software (nor any other available library) because my system must respond to several external events in real-time, and I had to implement a cooperative multi-tasking system, where delay() is never ever ever used.

What I suggest is that before trying to accomplish complicated things like sending SMS, just use a trivial pass-through sketch and see if you can get the SIM900 to response to your AT commands. This is the "hello world" of Arduino to modem connection. When you'll get this right, you'll know that you've got everything configured correctly.

I used a similar board from seeed studio and a standard arduino to good effect. Isolating the problem by going with a UNO or similar shield-compatible board is hence a good idea.

and attempting to use the SoftwareSerial library with the Mega

Why are you attempting to use SoftwareSerial on a device with 4 hardware serial ports? SoftwareSerial is supported, on the Mega, but not on all pins.

Because I'm trying every possible option, I cannot get Software/hardware UART to work.

Thanks sTrider, now I'm having the same problems as you.
I've noticed that even with no jumpers in the tx/rx the library keeps giving those advices:

no response
Received SMS from (sim position: 65534)

So the arduino is not comunicating with the shield. Probably something about the pins.

Yep, a friend of mine has the uno board, I'm going to see if I can get somewhere with that. Will let you know

Yep, UNO board works perfectly.

Thank you very much! I'm going to use UNO from now on...
My project needs a lot of PWMs, so it would be very nice if the MEGA were working... But thanks anyway.

Hey, GOOD news!
I had the amazing idea of opening the GSM_Shield.cpp and change all the "mySerial" for "Serial1", and deleting all the #include NewSoftSerial
By doing this, I just changed the comunication to Serial1 (pins 18 and 19) of MEGA, so I jumped the RX to the TX to these pins aaaaaand... the results are the following:

system startup
no call
no call
no call

...And when I called the shield from my cellphone:

incoming voice call from xxxxxxxxx (my number)

YES, it's working!! I'm so happy!! :slight_smile: That's it my friends!

Good news. Just shows that it pays to know the library files, if you use them.

Also a reason to avoid using libraries for boards that are not supported out of the box.

Funny thing is that both Arduino MEGA and GSM_Shield library are "supported" by the IComSat.(At least it's said in its website :p)

chadvader:
Hey, GOOD news!
I had the amazing idea of opening the GSM_Shield.cpp and change all the "mySerial" for "Serial1", and deleting all the #include NewSoftSerial
By doing this, I just changed the comunication to Serial1 (pins 18 and 19) of MEGA, so I jumped the RX to the TX to these pins aaaaaand... the results are the following:

system startup
no call
no call
no call

...And when I called the shield from my cellphone:

incoming voice call from xxxxxxxxx (my number)

YES, it's working!! I'm so happy!! :slight_smile: That's it my friends!

Great news!

I've also tried renaming the MySerial instances to Serial1, but I did not remove the #include parts. Definitely going to try this, thanks mate.

I only have to have GSM functionality so the tiny number of pins aren't a problem for me:)

Good luck.

chadvader:
Funny thing is that both Arduino MEGA and GSM_Shield library are "supported" by the IComSat.(At least it's said in its website :p)

Not IcomSat - they only make the SIM900 chip, IteadStudio is responsible for the library and the shield it is mounted on. FWIW, I found the minimal libraries to be OK for SMS and like functionality but totally inadequate for GPRS operation. For that, I ended up writing my own series of commands to make the SIM900 module do exactly what I wanted it to (i.e. transmit to Cosm).

I use iTeadstudio quite a bit for PCB manufacturing but "support" in general for their goods is less than optimal. For example, not all devices they offer come with drawings or libraries, making it difficult to incorporate them into your designs. You get a nice apology note if you point it out to them, but I have yet to notice changes to their web site in response to customer inquiries.

Seeed Studio seems related to itead but separate enough to offer better support. If you want really good support, buy from Adafruit Industries. They publish great tutorials for almost all the stuff they sell, are responsive to tech support inquiries, and offer helpful forums also. You pay extra for that support but them's the rules...

I guess it's finally solved.

Do you have any photos how to connect 18 and 19 pins to TX and RX? Thank you for informations, i am a beginner.

I'm very busy right now.... but I'll answer this when I get home ok
:slight_smile:

I have also read this with big interest after struggling with a Mega 2560. I followed the outlined instuctions and changed to serial1 and removed the include but still having problems with sending a SMS. I am sure it must be a pin-connecting problem - somehow I must have misunderstood the pin configuration ?. So -like kamillo1888 - I would love to see a clear picture/description of how to patch pin 18 + 19.