By Kendro Villaruel, on 20 Mar 2013 04:24
Brief explanation of how to use the Gboard. Necessary hardware connections and library modifications.
Hardware Connections
Unlike other arduino boards, you can't play with the GBoard just by simply powering it from the computer alone. You need an external power supply connected as shown in the picture below.

Schematic diagram for proper connection of Gboard.

The Gboard sucks up a lot of current especially when initialising and send/receiving sms, as shown in the picture below it can consume up to a max current of 500mA (when the standard current output of computer USB ports maxes 500mA only) which the computer USB alone cannot handle.
Problems that you would experience if there's no external power supply:
- SIM900 module would not turn on.
- It will turn on if FOCA board is set to 5V. But you woud not want that.
NEVER SET the FOCA board to 5V. It must be set to 3.3V as it may cause damage to the entire board. Ref: 10 Ways to Destroy and Arduino.. The picture below shows the maximum electrical characteristics of the Gboard. It also tells us that the data input and output voltage that should be applied must be only 3.3V - it includes the RX and TX pin.

Library
Playing with the Gboard's library is a little bit tricky.
Here's a link to the GSMSHIELD library that we've been using here at Arduino Lab. It works well with GSM module and the Gboard.
However, there must be some lines (GSM.cpp and GSM.h) that you must take note of and change to make it work properly.
POWER AND RESET pins
When using Gboard, it can be found in the datasheet (pg. 3, shown in the figure below) that the POWER and RESET pins are connected and fixed to D6 and D7. We can't change it.

Therefore you must make sure that the pin definitions found in library > GSMSHIELD > GSM.h (line 42-43) are pointed correctly. If it's not, then change it.

Also, you have to configure GSM_ON and GSM_RESET as OUTPUT in the void setup() function of your sketch. This allows the Gboard to power the SIM900 chip automatically, instead of pressing the external SIM900_PWRKEY button physically.

If this configuration is not included, then you have to manually press the SIM900_PWRKEY button to turn the SIM900 chip ON.
Jumper settings
The jumper settings for the Gboard should be properly set also. The GSMSHIELD library that we have uses the SOFTWARE SERIAL (using serial comm through standard data pins, ex. D2 - D13, etc) to communicate to the SIM900. It doesn't use the HARDWARE SERIAL ( RX and TX pin). Therefore, it is necessary to set the Gboard to Software Serial.
Before that, here's a simple illustration about the difference between the Gboard's Software Serial and Hardware Serial.
Software Serial: SIM900 is communicating through D2 and D3 pins of the board.

Hardware Serial: SIM900 is communicating through RX(D0) and TX(D1) pins of the board.

Therefore, if the library requires you to use software serial (which the GSMSHIELD library does so), you must change the UART Jumper Settings accordingly. Following the setting highlighted with the poorly drawn yellow box below, it means that ST: UART TX of SIM900 is now connected to D2 of Arduino (red highlight)… And SR: UART RX of SIM900 is now connected to D3 of Arduino (blue highlight).. This makes it identical to the software serial schematic that we have above.


One thing you must check is the library. Be sure that it is properly defined. Found in library > GSMSHIELD > GSM.cpp . The _GSM_TXPIN_ must be 2 and _GSM_RXPIN_ must be 3. It makes sense because the UART TX of SIM900 is D2, and UART RX of SIM900 is D3 and that's what we have set on the jumper settings.

That's it
That's all what we need to configure to make the Gboard working.
Recap:
1. Power it externally from jack (7 to 23 v), use 3.3V only for FOCA board.
2. Power and Reset Pins.
3. Jumper settings.
Troubleshooting
Here are some of the common problems encountered when playing with Gboard.
1. Sim card socket
- The sim card socket of Gboard v2.0 is not tight enough. We fix it by pressing the metal lock on the sides by a mini screw driver. Picture shown below shows a comparison of a tight and a loose socket..


A loose sim card socket would cause the Gboard NET LED to blink rapidly, instead of blinking every 3 seconds. Means that no signal/simcard is detected.
2. Software UART
- Jumper setting was not changed to software UART.
3. Forget to initialise GSM_ON and GSM_RESET as output.
- This would cause the GSM not to turn on automatically.
4. Gboard might be burned.
Links
- Gboard Datasheet
- GSMSHIELD Library
- Gboard Sketch: What this sketch sends "BAL" to "222" every minute and reads the response from the network. A good example of sending and receiving.
When I like to upload the sketch on the board. It shows a serie of errors on IDE Arduino. Can you tell me the set configurations that i should do. I'm using usb to ttl board to connect the board with the pc. I think the mistake is for the bootloader of IDE. Help me pls.
May I ask you why you had use a voltage regulator when you powered the board with 12V? and can you upload the schematic please ( that green tiny circuit in the first pic.
Kendro,
Very helpful. I was pulling my hair out (not that I have much left) trying to get my Gboard to power-up and send a text message. I have a prior application on an Arduino UNO that I want to port to the Gboard and your post helps alot. I modified the task_sendBal() to just send the word "test" to my personal cell phone and it worked great. I am using a TruPhone sim so the number 222 did not work for me.
Now that I know my Gboard works, I can modify my Uno sketch to work with Gboard.
Thanks for your help.