Can't connect SIM 900 Shield to Arduino UNO

Hi community!

I have just received this version of the SIM900:

I have googled and gone through numerous tutorials but I haven't found any that explained to me the very basic setup with the arduino UNO.

I have done the following:

  1. Put in a German SIM card (activated, no PIN code)
  2. Connected the shield to a power source, a red LED is turned on and stays on constantly
  3. Put the shield on top of the arduino using pins
  4. Tried to send a test sms using various libraries

Nothing happened.

Could someone please point me to a very basic tutorial that tells me exactly which pins I need to connect and which sketch I need to run.

Thank you very much!

Bastian

Hi,

It looks identical to the board I have, more or less the same as this link shows.

http://www.geeetech.com/wiki/index.php/Arduino_GPRS_Shield

The first thing you need to establish is the power source.

For simple AT command testing you can use the +5v from the Uno, but if you are making 'calls' then the shield needs up to 2Amps peak for a short time, so you need to fit a separate 5v supply the the shields power socket and move the power select switch to External (up).

The Serial select jumpers should be used as shown in the picture in that link.

To stop and start the board you use the Power Key, press and hold for a second or two, but you can also turn it on and off from your software if you solder across the JP pads, again shown in that link.

There are lots of AT Command testers on the web and some code examples, though as I initally found, not all work as intended.

This tester worked for me http://m2msupport.net/m2msupport/software-and-at-commands-for-m2m-modules/

Do not forget that the Sim900 uses 2G and not all countries / sim cards still operate 2G, so check what your sim is capable of ..

Hey Ricky,

thanks for your reply.

I'm using an external power supply, so the SIM900 is running and now the NetLight is flashing every three seconds. I think that's the sign that the GSM is connected, right?

I have pins 7 and 8 connected to pins 7 and 8 of the arduino. Is that correct?

How can I send a test sms? I don't really understand the AT tester you've posted.

Thanks!

Bastian

The AT command tester is just a basic way to test out the Sim900 module to make sure you have proper communicating between the two.
If you send out the AT you should get back "ok" which means you have a connected link, it does not need a Sim Card to do those basic tests.

Pin7 and 8 are as you say. You have plugged the whole shield onto the Uno ?

Will post a test sketch for you in the morning if no one else does in the meantime.

Here is a test routine for your board, have just run it ok on my shield. ( not my coding )

Power you board on and then run the code, then open the Serial Monitor and you should get the instructions for the various options, see if you can get the expected responses to prove it can communicate with the sim900.

If you have JP soldered across, the program works fine.

Sim900TEST.zip (2.29 KB)

Thank you very much for your code, Ricky!

I uploaded it to my arduino and it seems to be able to connect with the SIM900.

I tried to send an sms using the command "sms +XXXXXXXXXXXX YYYYYYYYYY". However it always cuts off the last digit of my phone number. Please check out the attached screenshot.

Ich added another "X" wherever the phone number appeared in the code because I thought that might be the problem but I get the same result? Do I need to change anything else?

Thank you for your support!

Did you type in IMEI and get a string of number back, that confirms you are talking to the chip.

Yes, the way to enter the moblie number is not clear, I did send a SMS out with it earlier this morning.

Give me a few minutes and will check what I entered.

Ok, still could not get it to accept the number via the Serial monitor screen.
If you edit that code, first turn on the Line numbers ( Flie, preferences ) then look at lines 12 and 111 they show String call sms and space for a 12 digit number - insert your number there, Country code and number.
Im in the Uk and the country code and number both start with Zero eg 044 , so we have to drop those leading zeros.

Upload the code and just type SMS and it sends a blank text out ok.
If you type SMS followed by 12 spaces you can then key in some actual text , then press Send.

Let us know if it works.

Nothing happens when I type in IMEI. No reaction at all.

Then you are not connecting to the sim board properly.

So, double check -

You have the shield plugged in to the Uno, not connected jumper wires instead ?

Do not power the shield with your adapter.

The switch next to the power socket, move the slider down towards the sim900 chip - that will then take its power from the Uno.

The serial select jumpers, the bottom two are linked, as in this pic.

You press Power On on the shield, upload the code, then what do the shields lights do ?

000136.jpg

I'm not at home right now. I will try to post a video tomorrow.

Ok, no problem.

Two other things to check, have the pins from the shield all located properly into the Uno ? sometimes one or two can bend out

Power off and take out your sim card, you do not need it to check the IMEI number.

Then power the shield back on ; my green Net led flashes constantly at about once per second.

After the first flash of the Net Light the Red Status led come on and stays on.

Running the program/serial monitor / IMEI does not change any of the lights.

Any link to the place you purchased the board from to find its schematic or an actual makers name and version number on the board ?

Thank you, I'll try that tomorrow!

I've benn using jumper wires on my recent attempts.

I bought it on ebay. This is the link to the offer:

http://www.ebay.de/itm/SIM900-GPRS-GSM-Shield-Quad-Band-850-900-1800-1900-MHz-Modul-Arduino-152-/122222094866?ssPageName=ADME:X:RRNTB:DE:3160

Well I would suggest you plug the shield in to the Uno and do those things mentioned in post #8 plus removing the sim card.

As well as wire connections being poor, the cheap breadboard wires can be internally faulty as I have found on more than one occasion.

Did you have a 0v connection between the two boards.

Okay, I've put the shield on top of the arduino.

I guess our shields have different LEDs. I don't have a green LED but a red one on one side that stays on constantly and two red one on the other side, one of which flashes at about once a second, the other is on permanently. That is without the SIM card. If I insert the SIM card it flashes once every three second.

I can only upload code if the SIM900 isn't powered up. If it's powered up I get a bunch of error messages. So I've turned it off, uploaded the code, the turned it on.

The serial monitor now shows me the same commands "SIM900 board is ready...".

However if I type in "imei" nothing happens.

This thing is really hard to get going? Other than anything else I've tried with arduino so far.

Hi,

Well have just used the code I posted for you, and it uploads and works fine on my board, with the sim900 shield powered on or off.

After the sim900 board ready, does it also print the line ' type help to see available commands ' ?

The leds sound right, just that two of mine are green, better to refer to them as the power, net and status leds instead of colour.

All I can suggest is you double check the connections again.
No power plugged in to the sim shield.
The power select switch in the position shown in the pic below.
The comms port select jumpers, fitted as shown.

If that still does not work, place the power select switch in the other position (up) and connect your 5v power source to the jack and then power on.

If I put the power switch in the position shown in the image, I cannot power up the board. Are you sure that's the correct position?

I'm not sure what I can change at the two pins (your second arrow) but it looks like the picture :wink:

Hi,

Have seen a difference between your picture in post #1 and the link to the board in the later post.

Please look at writing along side those comms select pins as those two pictures are the opposite way around.

The centre pins are the common ,so look at the upper and lower outer pins, which ones have D7 and D8 against them ( the others should have D0 and D1).

The link pins should go from the middle common pins to D7 and D8.
( on my board and all others I have seen they go downward as my blue arrow showed )

Those jumper, just pull up with your fingernails or some tweezers.

That may account for you program loading or even the power problem, if they are set the wrong way around.

Any success ..?

There used to be a very good beginners tutorial by TronixStuff for the Sim900 shield that helped me get mine working.

However its now been removed from their site and despite me asking they say they cannot make it available as its been deleted.

Here is their link as it has plenty of other Arduino tutorials including that AT commander I first mentioned.

http://tronixstuff.com/2014/01/30/easily-test-gsm-modules-at-command-tester/

However just found the first and most important send and receive parts of the Sim900 tutorial on this site.

Hopefuly of help to you when you get your shield up and running.

Hii, i've the same problem than Badalou. i don't know if the wiring is correct or not. The red power light is constantly on, the red status light too and the red netlight flashes every 3s.
Can someone help me plz??????

To solve this issue, connect digital pins 7 and 8 of the arduino to pins 0 and 1 (first two pins on the red side).