GPRS Shield(SIM900) Firmware Update

From GOF_Wiki
Jump to: navigation, search

Contents

Requirements

Firmware:1137B03SIM900M64_ST_MMS

Firmware:1137B03SIM900M64_ST_MMS include MMS(Multimedia Messaging Service) and LBS(Location Based Service) functions. Refer to SIM900 GSM Location Application Note and SIM900 MMS AT Command Application Note for more information.

You can use AT Command "AT+GSV" to check the current version of the Firmware.

Cautions

  • After the upgrate, the baurate of GPRS will 0(auto baudrate); Make sure you use "AT+IPR=19200" to set the baudrate to 19200 before you want to use software serial to communicate with GPRS shield. Because NewSoftLibrary library only support baudrate under 38400bps, it may lose data while communicate over 38400bps.
  • In Step2, Wiring is critical: wire the GPRS_TX to Xduino_TX and GPRS_RX to Xduino_RX .
  • In Step8, KEEP pressing the ON/OFF Button untill you see "Flash Loader downloaded in RAM", or update may fail if you unpress the button early.

The following is contributed by Marcus Teräs

If you're planning on using an Arduino Duemilanove to update the firmware:

1. remove the Arduino's ATMEGA chip (we're flashing with the smd FTDI chip and this'll only interfere with the process)

2. connect the SIM900 RX to D0 (RX) and the SIM900 TX to D1 (TX)

If you don't remove the ATMEGA prior to trying to flash the chip you might receive the following error(s):

Connection timeout (or similar)

Err 306 - Error during flash erase

Err 306 - Error during flash erase

How to

Here I use an Mega with FT232 chip to update the firmware to GPRS Shield.

Up0.jpg YorN.jpg


Step1

Download Simcom - sim900 Customer flash loader V1.01; Unzip the Simcom - sim900 Customer flash loader V1.01.

Step2

Install the GPRS Shield to Arduino Mega. Wiring is critical: wire the GPRS_TX to Xduino_TX and GPRS_RX to Xduino_RX .

Up1.jpg

Step3

Connect the the Mega board to your PC; Upload the following sketch to Mega board.

void setup() {
  // initialize D0 pin as an input:
  pinMode(0, INPUT);      
  // initialize D1 pin as an input:
  pinMode(1, INPUT);     
}
 
void loop(){
//none
}


Step4

Open the executable file "Simcom - sim900 Customer flash loader V1.01", it will show the main frame as followed:

Up2.jpg

Step5

Select the right COM port(in my case is COM12), and the default value of Speed is 460800(baudrate), and 460800 is OK from my experience.

Step6

Click the Browse to select the downloaded firmware(in my case is 1137B03SIM900M64_ST_MMS ). You can see the diagram as followed:

Up3.jpg

Step7

Click the START button to download, you will see picture as followed:

Up4.jpg

Step8

Now press ON/OFF Button of GPRS shield to power the Shield. KEEP pressing the ON/OFF Button untill you see the following information:(update may fail if you unpress the button early)

Up5.jpg

Step9

When the tool is erasing the flash, you will see the diagram as followed:(Step9 may last a few minutes)

If fail, you can try another Speed(baudrate),and do it all again.


Up6.jpg

Step10

The whole download process needs about 4 minutes; After the download, you will see diagram as followed:

Up7.jpg


When you see Download done, congratulations that you have upgrade the firmware successfully.

After the upgrate, the baurate of GPRS will 0(auto baudrate); Make sure you use "AT+IPR=19200" to set the baudrate to 19200 before you want to use software serial to communicate with GPRS shield. Because NewSoftLibrary library only support baudrate under 38400bps, it may lose data while communicate over 38400bps.

Step11

Disconnected the USB cable from PC, then reconnected again. Open Serial Terminals(sscom32) on your PC, select the right COM port and Baudrate(in my case is COM12 and 19200). And send the following AT Command as the picture shows:

Up8.jpg

Resources

Simcom - sim900 Customer flash loader V1.01

Firmware:1137B03SIM900M64_ST_MMS

SIM900 GSM Location Application Note

SIM900 MMS AT Command Application Note

SIM900 AT Commands Manual v1.03.pdf

SIM900_hd_v1.06.pdf

SIM900_TCP/IP Application Note

NewSoftLibrary

Serial Terminals(sscom32)

See Also

GPRS Shield

Licensing

This documentation is licensed under the Creative Commons Attribution-ShareAlike License 3.0 Source code and libraries are licensed under GPL/LGPL, see source code files for details.

Personal tools
Variants
Actions
Navigation
Support
Toolbox