In this post we will learn how to update the firmware.
Requirements
- Simcom_-_sim900_Customer_flash_loader_V1.01
- Sim900 Baord with serial or USB interface to connect to PC.
- A Firmware of SIM900 can be found here.
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=xxx” to set the baudrate if you are not using autobaudrate.
- If you are not able to communicate with sim900 after flashing new firmware check this post GSM Modem/Module not responding to AT commands after firmware Upgrade??
How to
Application note AN_SIM900_Update Tool_UGD_V1.01 from simcom explains the process.
Step1
Download Simcom – sim900 Customer flash loader V1.01; Unzip the Simcom – sim900 Customer flash loader V1.01.
Step2
Connect your SIM900 board to your PC;
Step3
Open the executable file “Simcom – sim900 Customer flash loader V1.01″, it will show window like the one below

Step 3
Step4
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.
Step5
Click the Browse to select the downloaded firmware(in my case is 1137B03SIM900M64_ST_MMS ). You can see window like the one below

Step 5
Step6
Click the START button to download, you will see window like the one below

Step 6
Step7
Now Switch Off and then Switch ON GPRS Board .

Step 7
Step8
When the tool is erasing the flash, you will see the window like the one below:(Step9 may last a few minutes)
If fail, you can try another Speed(baudrate),and do it all again.

Step 8
Step9
The whole download process needs about 4 minutes; After the download, you will see window like this

Step 9
When you see Download done, congratulations that you have upgrade the firmware successfully.
Please Muhammad ,can a 64MB firmware version of SIM900 module operate in a 32MB module
No
How to find which firmware is needed to our module?
1- Check what is the current firmware and try to find an updated version of that firmware
2- Check what is the model of your module and then use a compatible firmware
I made this step, but the module send some unread text, and didnt response .. so what should I do ?
Share the screenahot please
Hello, I have SIM900A with firmware version 1137B08SIM900A32_ST_NENGRUI.
But the AT+CNETSCAN is not working, and simply returning ERROR even with SIM and without SIM.
Can you mention what’s the problem, or am I doing anything wrong?
Or should I do something before executing that command?
Please kindly reply,
Thanking you.
Hi, it seems that your firmware is not supporting it.
HI,
I am trying to flash 1137B03SIM900A64_ST_ENHANCE.cla to my SIM900A module. The flashing was successful. But After rebooting the module is not getting registered with the network which was working fine before.
Any leads.
Can you please confirm if the module you have is with 64MB? . It might be 32MB version
Hi,
Following your instruction, I successfully re-flash the SIM900A with a new firmware. But the problem is after flashing successfully, I can’t seem to turn on the module, either by button (effectively shorting pin 1 & 2) or by pulse (of about 1.2 seconds).
Anyone experiences the same? What could be the problem.
I have tried re-flashing with different firmware, all successfully but the problem remains.
Thanks in advance.
Dave
Strange. If it doesn’t switch on at all how do you reflash the modem again
It doesn’t switch on at all but I can still re-flash it! The button (or shorting pin 1 & 2 if there’s no button) still works when flashing, but doesn’t work when starting the module. I managed to re-flash it will many different firmware versions (32 & 64) but still can’t power on. The original firmware is 1137B13SIM900A64_ST but I can’t find the file to flash it back to original. Tried with 1137B12SIM900A64_ST (which I thought could be the predecessor) but doesn’t work. Part number is S2-1040V-Z0940 if you wanna know.
Anyway, I contacted SIMCOM and they say that each module has a part number, which strictly goes with 1 firmware version only.
Makes sense to me, but I managed to flash another one (part number S2-1040V-Z1K0H) whose original FW is 1137B10SIM900A32_ST with 1137B11SIM900A32_ST downloaded here and it works. So I guess the latter should be an improvement of the former so they are compatible.
??????
?????????????????????????
regarding you comment
Do you mean internet by Network or cellular network ?
For both the cases it must be the same as for any country. just note that you need to know the correct APN settings for your network provider to connect to internet.
Please note that just asking this simple plain question wont help me to know what problem you are facing and so I wont be able to provide help. Please do mentioned what have you tried and where did you fail..
regards
Hi friend i’m also from morocco i tried to test my sim900a with ORANGE and IAM operators but it doesn’t work can you helpe me please.
.
Salam Mr.Shah, I have Revision:1137B05SIM900M64_ST_ENHANCE and get only ‘most suitable network’ and the empty list for other suitable network.
Is there anything missing. please shed some light.
Best Regards
koz
seems its not formatted. To be precise, with at+cnetscan=1 and at+cnetscan provides only ‘most suitable network’ list and ‘other suitable network’ is always empty.
AT+CNETSCAN. It lists all visible cell towers(BTS) from all network operators.
Each line corresponds to one bts transceiver and includes:
Simcard is not required for this command.
If module is connected to network, it only list towers belonging to that gsm operator.
Source : http://signusx.com/category/electronics/sim900-electronics/
I have this version 1137B05SIM900M64_ST_ENHANCE and the version you are referring from the source is using :1137B04SIM900M64_ST_MMS
I think B05 is latest than B04. Please correct me if I am wrong. Do I need to flash the older version to get ‘other suitable network’ list ?
Enhance versions are the more recent than the others. Your version is newer. The part I wanted to stress was If module is connected to network, it only list towers belonging to that gsm operator.
No. the module is not connected to any network.
from the response it seems that the module is connected to T-Mobile.
Try the same command without any sim-card inserted
Is there anything else missing, as said no SIM has been used in the module.
Please share the firware file link to download
1137B05SIM900A64_ST_ENHANCE
thank you
Please get it from this post
Hello dear Kozi, I have the same problem. My rev. is 1137B06SIM900M64_ST_ENHANCE. Got some other suitable cells for a little time while playing with AT+CBAND (they appear and then disappear again). Do you have any news for the trouble? I plan to flash mr. Shah’s rev. B04 when’ll get ft232 com2ttl dongle (now my Arduino Nano’s software serial gets stuck on high speeds 🙂
HELLO, the link to flashing tool is not working. It says the rar is corrypted
I will check that
Hello,
My Arduino UNO R3 Using CH340G, and i’ll keep getting this error :
http://s29.postimg.org/vq8tsfzbr/image.png
and i also looking that some of the forum say FT232 recommended…
Thanks 😀
You need to keep the PWRKEY pulled low to ground during the first stage of flashing
I have the same problem . I have tried everything from changing the baud rate to change hte firmware still no luck .
I’d really appreciate the help .
thank you.
Hello, I try to ground pin16 (NRESET) it is the same…
How we can get the backup of the firmware from the chip?
Where can I get other firmware?
I have 1308B02SIM800M64_BT firmware.
I am not sure If there is nay straight forward way to backup from the modem. Instead you can take a note of the version and get it from internet in case you want to restore it later.
Check this post for firmwares http://dmsherazi.com/sim900-firmware-update-tutorials-appnotes/
My current firmware version : 1137B04SIM900M64_ST_MMS
with At+cnetscan=1 , i am able to find Cell-ID but not lac. How should I find both Cell id and Lac .
What command to use and what firmware..
AT+CENTSCAN=1
should show the LACYa i tried
AT+CNETSCAN=1
… Still could not find LAC..pls look into this..AT+CNETSCAN=1
It seems you are using some library functions to get these details printed… Can you share the response you get from the modem it self?
I am using software called COOLterm . Baud rate = 9600
AT gives OK. I AM not using any library to get these printed. Just pressing Enter after command and fetches these results. Did you ever get both cellid’s and LAC’s of all the networks
AT+CNETSCAN=1
——MOST SUITABLE CELL——
Operator:”IN UNITECH”,MCC:405,MNC:819,Rxlev:57,Cellid:2b91,Arfcn:0563
Operator:”IN UNITECH”,MCC:405,MNC:819,Rxlev:49,Cellid:2b90,Arfcn:0565
Operator:”IN UNITECH”,MCC:405,MNC:819,Rxlev:26,Cellid:016a,Arfcn:0561
Operator:”IN UNITECH”,MCC:405,MNC:819,Rxlev:33,Cellid:2b8f,Arfcn:0569
Operator:”IN UNITECH”,MCC:405,MNC:819,Rxlev:32,Cellid:ffff,Arfcn:0568
Operator:”IN UNITECH”,MCC:405,MNC:819,Rxlev:30,Cellid:27d0,Arfcn:0567
Operator:”IN UNITECH”,MCC:405,MNC:819,Rxlev:23,Cellid:026e,Arfcn:0558
——OTHER SUITABLE CELL——
Operator:”CellOne”,MCC:404,MNC:73,Rxlev:51,Cellid:cb85,Arfcn:0078
Operator:”Reliance”,MCC:405,MNC:1,Rxlev:49,Cellid:ffff,Arfcn:0521
Operator:”Vodafone IN”,MCC:404,MNC:13,Rxlev:47,Cellid:161d,Arfcn:0855
Operator:””,MCC:405,MNC:801,Rxlev:50,Cellid:2e1b,Arfcn:0534
Operator:”Vodafone IN”,MCC:404,MNC:13,Rxlev:44,Cellid:4f2b,Arfcn:0865
Operator:”Vodafone IN”,MCC:404,MNC:13,Rxlev:39,Cellid:4f2c,Arfcn:0863
Operator:”AirTel”,MCC:404,MNC:49,Rxlev:37,Cellid:0cf9,Arfcn:0040
Operator:””,MCC:405,MNC:801,Rxlev:40,Cellid:2e19,Arfcn:0542
Operator:”Reliance”,MCC:405,MNC:1,Rxlev:35,Cellid:787a,Arfcn:0519
Operator:”AirTel”,MCC:404,MNC:49,Rxlev:38,Cellid:ffff,Arfcn:0044
Operator:”IDEA”,MCC:404,MNC:7,Rxlev:37,Cellid:b4a1,Arfcn:0014
Operator:”AirTel”,MCC:404,MNC:49,Rxlev:37,Cellid:ffff,Arfcn:0034
Operator:”CellOne”,MCC:404,MNC:73,Rxlev:33,Cellid:cb87,Arfcn:0081
Operator:”Vodafone IN”,MCC:404,MNC:13,Rxlev:32,Cellid:161e,Arfcn:0861
Operator:”CellOne”,MCC:404,MNC:73,Rxlev:36,Cellid:d125,Arfcn:0068
Operator:”CellOne”,MCC:404,MNC:73,Rxlev:32,Cellid:c207,Arfcn:0082
Operator:”IDEA”,MCC:404,MNC:7,Rxlev:35,Cellid:ffff,Arfcn:0023
Operator:”AirTel”,MCC:404,MNC:49,Rxlev:34,Cellid:7aef,Arfcn:0036
Operator:”IDEA”,MCC:404,MNC:7,Rxlev:34,Cellid:ffff,Arfcn:0019
Operator:”AirTel”,MCC:404,MNC:49,Rxlev:35,Cellid:ffff,Arfcn:0045
Selamunaleykum muhammad, how to change imei number. Can you help me.
وعلیکم السلام
I have seen people claiming they were able to change it using a tool called Service tool Adi module, but I cant find it!
sir i can not updtae my sim900a gsm module it will respond till flash errased but after this step it will give error during load command and error during flash loader and also say for check target setting..
Sir,
Moreover, If upgrade to any latest firmware fails, how to I backup/restore my current firmware?
Also, since this AT+CNETSCAN is “ENHANCED” command, will I need to upgrade firmware with _ENHANCE_ support?
Thanks
if upgrade fails, you have to try to upgrade again or upload the previous firmware again. There is no backup and restore option. 🙂
Sir,
I am/was looking for this information only. Thanks!
This is my AT+GSV output…
This firmware do not support AT+CNETSCAN=1 command. (i.e. No LAC information)
SIM900 website/doc says this feature available in AT Command API v1.11.
Now, to which firmware version should i upgrade from your list?
Please help.
Thanks
as per It should work with 1137B04SIM900M64_ST_MMS
salam Muhammad, j’ai un probleme c’est que j’ai un module GSM SIM900, et j’ai pas encore commance la programmation de ce module avec ARDUINO et je sais pas comment configurer ce module avec le reseau GSM au MAROC pour s’assurer la bonne communication avec l’arduino!! Merci d’avance 🙂
w/salam ,
Can you please type in english?
how to configure the SIM900 GSM module to connect to the network MOROCCO