Internet Connection with GSM-Board "GBoard"

Is there an easy way to make internet connections - e.g. updating cosm - with the GBoard?

Gboard is a Arduino board with embedded GSM/GPRS module, SD-Card, ... see. http://imall.iteadstudio.com/im120411004.html in the linked lib ftp://imall.iteadstudio.com/IM120411004_GBoard/Documents/Lib_IM120411004_GBoard_SIM900.zip (2012-04-26) are only examples for Call and SMS also in the corresponding .cpp and .h file is no obviously hint for a internet connection. Did I miss something?

Is there any example code for using the linked lib for making internet connections or is there any ather or newer lib out for using the Gboard making internet connections? I ordered this board assuming that a internet connection can be done easily but now disappointed that there is no support for that. I know it can be done via different AT commands but I not really familiar with this and searching for a "normal" way, like this is be done in the origin lib for calls or such "peripheral" things like volume control via calling.

From 1.0.4 you can start from this.

I would love to use the lib included in the IDE version >= 1.0.4, but isn't this lib for the official GSM shield only and so special for the GSM/GPRS modul M10 by Quectel!??

It would be really great when this lib is working with SIM900 moduls also. But I do not expect this.

Spatula, do you or some other know supports the official lib also different GSM/GPRS moduls especially the common SIM900 e.g. included in the GBoard? Any hint appreciated!

Al freír de los huevos lo verá ;)

I had a quick look at the library and the only part that appears hardware-related is the GSM3SoftSerial class, where they reimplemented SoftSerial (because of its handling of large dataflows, so I see it as a general improvement and not a restriction, though it may require some further tweaking). They use the same pins (2,3) I see used in the SIM900 examples, and as far as I can tell the rest of the library is based on standard AT commands.

[quote from Cervantes' Don Quixote, roughly equivalent to "the proof of the pudding is in the eating"]

So, the pudding is prepared and ready for ta(e)sting! :-)

You are right: On the page http://imall.iteadstudio.com/im120411004.html you can find under "Download" the manual DS_IM120411004_GBoard.pdf in which is described how to set Software UART to SIM900:

An example shows:

ST – D2(Software Rx/Tx of Arduino) SR – D3(Software Rx/Tx of Arduino)

"ST: UART Tx of SIM900 module" Hmmm, not sure what this means compared to the officail shield: "GSM TX pin 3" see http://arduino.cc/en/uploads/Main/GSMPinUse_2.jpg

It is not clear if this is TX of the GSM or RX of the software serial. You find under http://arduino.cc/en/Main/ArduinoGSMShield

The shield uses digital pins 2 and 3 for software serial communication with the M10. Pin 2 is connected to the M10’s TX pin and pin 3 to its RX pin.

Provided that D2 and D3 on the GBoard is also pin 2 and 3 on the official shield it should be the same. If it is not clear what TX and RX is, we have to test both.

On the GBoard pin 7 is "RESET for SIM900" on the official 7 "modem reset", seems to fit also.

I found "D6 PWR (High level Active)" under the headline "Power and reset connection of SIM900". So I assume I have to set pin 6 high to power the SIM900 module.

Till now I tested all things with power from an FTDI cable over USB and othing happend. I can make a LED blinking--so a sketch can be uploaded--but the test sketches from the official GSM lib doesn't work. Because of "D6 PWR (High level Active)" in the GBoard manual I added "digitalWrite(6, HIGH);" to setup and I also changed the jumper for D2 and D3 as TX and RX vs. RX and TX pin but nothing happened.

From the http://arduino.cc/en/Tutorial/GSMExamplesMakeVoiceCall example I got only the "Make Voice Call" after this nothing happends The two indicator LEDs Status and NET do also not light up. So I think the power form the USB FTDI is to less (or on the board not to the SIM900 connected). So I have to use an external power supply. The GBoard is rated with up to 20V and 500mA max. I have only a laptop supply here with 20V and 4A. Do you think I can use it or do I burn the board?? What would you recommend as next step? In the official GSM example code is a linke

// initialize the library instance GSM gsmAccess; // include a 'true' parameter for debug enabled

How do I add a "true" parameter to this?

While playing around and testing the jumper (and set it finally to ST–D2 and SR–D3) the indicator LEDs Status and NET are blinking. A green status LED is always on and the net LED is lighting up for some ms. There is a hardware pushbutton “SIM900-PWRKEY” perhaps it has to be pushed once as “general switch”!?

So I think (a) power is with the USB as a start ok and also for the SIM900 enough (b) the jumper setting for TX and RX is ok. But I still can make no calls and have to press the “SIM900-PWRKEY” always after disconnecting the USB … hard stuff!

Here are some information for not using the Uno: http://arduino.cc/en/Guide/GSMShieldLeonardoMega Is this relevant for the GBoard? It has an ATMega328P

Hi, quite a lot of info for me to catch up, I hope I will at least provide moral support.

UART jumpers. As a general rule the RX pins on the arduinos are even numbered, the TX odd. So yes, the Tx of the GSM (ST) goes to the RX of the arduino, D2 since you plan to use SoftwareSerial on an Uno, and SR to D3. This fragment of GSM3SoftSerial.cpp from the GSM library tells more:

#if defined(__AVR_ATmega328P__) 
#define __TXPIN__ 3
#define __RXPIN__ 2
#define __RXINT__ 3
#elif defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
#define __TXPIN__ 3
#define __RXPIN__ 10
#define __RXINT__ 4
#elif defined(__AVR_ATmega32U4__)
#define __TXPIN__ 3
#define __RXPIN__ 8
#define __RXINT__ 3
#endif

It tells which are the RX/TX pins (and interrupts) on a Uno, Mega, and Leonardo, corresponding to the information in your latest link. But I think they are not relevant to your case.

The library linked from the GBoard page has the same assignment. It also shows the intended usage of the Power pin:

// from GSM_Shield.cpp
#define rxPin 2
#define txPin 3

// ... and, later on...

  // generate turn on pulse
  digitalWrite(GSM_ON, HIGH);
  delay(1200);
  digitalWrite(GSM_ON, LOW);
  delay(5000);

So, the normal state of the GSM_ON pin (6) is LOW, and it should only be set to HiGH for a "pulse" of 1.2 secs. Presumably, the same applies to the PWRKEY button. Note that the "official" GSM library does not define a GSM_ON pin and seems to use the RESET pin only.

I think you may get some debug info by instantiating gsmAccess this way:

GSM gsmAccess(true);

The fact that when you try the voice call example the only message you receive is "Make Voice Call" probably depends on some particular AT command issued during initialization. It is a relatively long sequence, you may check GSM3ShieldV1AccessProvider.cpp and .h. There you will see that the reset pin is set HIGH for quite a long delay (12 secs in restart mode), then LOW again. So it's important that the normal state of the reset pin is LOW. I assume that you #defined the correct PINNUMBER (sim code) at the beginning of the sketch.

I play--again--with the GBoard but have still no successes. The board is working with an older / other lib, so hardware seems to be ok. But I can't get it running with the official Arduino GSM lib.

I tried the SendSMS sketch. After some time the green "Status" LED lights up and "Net" is blinking for some ms. I have debugging enabled by GSM gsmAccess(true); and get now

SMS Messages Sender
AT%13%

But nothing happens! No SMS, no other output. What means "AT%13%" can this help? ftp://imall.iteadstudio.com/IM120411004_GBoard/Documents/DOC_SIM900_AT_Command_Manual.pdf

But I can't get it running with the official Arduino GSM lib.

What a surprise. The official GSM library is intended to work with the official GSM hardware. It is NOT intended to work with just any old hardware.

I know that this are two different boards, Paul. But the function of both GSM boards are based on AT commands and I think these are--more or less-- universal. So it could be a chance that we can get the official one working with SIM900 modules. As you can read in the previous posts we have checked the pins and this should not the reason. I think the initialization isn't working. But I can not interpret the scanty error message. So if you can help please do. I hope this helps a bit to interpret my quoted statement. It isn't a simple try and crying that it isn't working, See the old posts, please!

But the function of both GSM boards are based on AT commands and I think these are--more or less-- universal.

Sure would be nice to think that. Unfortunately, this thing called reality rears it's ugly head.

It depends how hopeless this case is. Perhaps we can make a nose lift and tighten some skin parts. When the face is pic’s face it is unpromising. Any idea how universal AT commands are over different models, especially M10 by Quectel vs. SIM900?