Basics: Project 105b
Project name: SIM900A GSM GPRS mini board – How to flash another firmware
Tags: SIM900A GSM GPRS module, Simcom, SIM900A GSM GPRS mini module, SIM900A GSM mini module, SIM900A mini module, Arduino Nano, Arduino IDE, Arduino, SIM900A GSM GPRS mini board, SIM900A mini v 3.8.2, SIM900A datasheet, SIM900A pinout, sim900a arduino code, sim900a gsm module pin diagram, gsm sim900a pin diagram, gsm sim900a interfacing with arduino, how to check sim900a gsm module, sim900a gsm module interfacing with arduino nano, sim900a gsm module interfacing with arduino uno, what is sim900a, does sim900a support 4G, doesn sim900a support 3G, what is GSM module, what is a sim900a GSM module, GSM SIM 900A module, sim900a gsm module, sim 900a gsm gprs module, SIM900A mini DEV board v 3.9.2, how to flash SIM900 firmware, how to update firmware,
Attachments: none
In this project, you needed these parts (Dear visitors. You can support our project buy clicking on the links of parts and buying them or donate us to keep this website alive. Thank you):
1. SIM900A GSM GPRS mini module 1 pc

2. Breadboard 1 pc

3. Jumper cables F-M, M-M

4. USB to TTL/Serial adaptor/converter 1 pc

5. Standard SIM card 1pc

6. SIM card size adapter (optional) 1 pc

General
We will learn how to change or upload new firmware to SIM900A GSM GPRS min board with USB to TTL converter. In this project we will show you how to make from SIM900A GSM GPRS mini board quad band SIM900 GSM GPRS mini board. It’s valid for 64 bit versions only.
Understanding the USB to TTL converter
You can read more about it here.
Understanding the SIM900A GSM GPRS module
You can read more about it here.
Signals and connections of the USB to TTL converter
You can read more about it here.
Signals and connections of the SIM900A GSM GPRS module

RS232 RXD – RS232 receive pin
RS232 TXD – RS232 transmit pin
5VT – 5V TXD transmit pin
5VR – 5V RXD receive pin
3VT – 3V3 TXD (SIMT) transmit pin
3VR – 3V3 RXD (SIMR) receive pin
GND – ground pin
VCC – power supply 5V pin
SIM900A pinout

- VBAT – 3 VBAT pins are dedicated to connect the supply voltage. The power supply of SIM900A has to be a single voltage source of VBAT= 3.4V…4.5V. It must be able to provide sufficient current in a transmit burst which is typically rises to 2A
- VRTC – Current input for RTC when the battery is not supplied for the system. Current output for backup battery when the main battery is present and the backup battery is in low voltage state. If the RTC function is enabled, a battery or capacitor should be connected with the VRTC pin. Otherwise the VRTC pin can be keep open.
- VDD_EXT – 2.8V output power supply. If unused, keep open.
- GND – Ground
- PWRKEY – Voltage input for PWRKEY. PWRKEY should be pulled low to power on or power off the system. The user should keep pressing the key for a short time when power on or power off the system because the system need margin time in order to assert the software. It is already pulled up.
- PWRKEY_OUT – Connecting PWRKEY and PWRKEY_OUT for a short time then release also can power on or power off the module.
- MIC_P MIC_N – Positive and negative voice band input. If unused keep open
- SPK_P SPK_N – Positive and negative voice band output
- LINEIN_R LINEIN_L – Line input
- DISP_DATA DISP _CLK DISP _CS DISP _D/C – Display interface. If unused keep open
- STATUS – Indicate working status. If unused keep open
- NETLIGHT – Indicate net status. If unused keep open
- SCL – I2C bus clock. If unused keep open
- SDA – I2C bus data. If unused keep open
- KBR0~KBR4 – Keypad interface. If unused keep these pins open
- KBC0~KBC4 – Keypad interface. Pull up to VDD_EXT, if unused keep pins open
- RXD – Receive data. DTR Pin has been pulled up to VDD_EXT. If unused keep pin open
- TXD – Transmit data
- RTS – Request to send
- CTS – Clear to send
- RI – Ring indicator
- DSR – Data Set Ready
- DCD – Data carry detect
- DTR – Data terminal Ready
- DBG_TXD – Serial interface for debugging and firmware upgrade. If unused keep pins open
- DBG_RXD – Serial interface for debugging and firmware upgrade. If unused keep pins open
- SIM_VDD – Voltage supply for SIM card. The voltage can be select by software automatically either 1.8V or 3V
- SIM_DATA – SIM data output. All signals of SIM interface are protected against ESD with a TVS diode array. Maximum cable length 200mm from the module pad to SIM card holder.
- SIM_CLK – SIM clock
- SIM_RST – SIM reset
- SIM_PRESENCE – SIM detect. If unused keep open
- ADC – General purpose analog to digital converter. If unused keep open. Input voltage range: 0V ~ 3V
- NRESET – External reset input (Active low). If unused keep open.
- PWM1 – PWM Output. If unused keep open.
- PWM2 – PWM Output. If unused keep open.
Wiring

Step by step procedure
Configuring the SIM900A GSM GPRS mini board with USB to TTL converter

Before doing firmware update:
- Follow the steps as described before here: Basics: Project 105a SIM900A GSM GPRS mini module. Check your module firmware version. Enter “AT+GMR” and press Send button. Returns the TA Revision Identification of Software Release of the module, for example: “Revision:1137B11SIM900A64_ST OK”. Set baud rate to 115200 bps (It’s 19200 by default) Enter “AT+IPR=115200” and press Send button. Returns the: “ OK”. If you check it with command “AT+ITR?” – it will return: “+IPR:115200 OK”
- Always make sure that you have your firmware version on hands so you can restore previous version if next firmware version is bad, for example we had previous version 1137B11SIM900A64_ST.
- Read all information about firmware update available on Web.
- Just think if you really need to do it as it is a risk to damage the module!!!
- If you decided to do it make sure that the next firmware version which you are planing to upload is not older than existing. You can check for new versions SIM900 here.
- Make sure that you have USB to TTL converter.
Firmware versions: You can check them here.
- You can see the ST_ENHANCE and ST on the end – ST means standard version of firmware, ST_ENHANCE – means enhance (extended) version of firmware.
- Firmware can be for 32 and 64 version of chip. Check which firmware you have in your SIM900A GSM GPRS mini board.
- It is very easy to understand for which SIM900x chip the firmware file should be used for from its name – for example, 1137B12SIM900A32_ST_DL.rar should be used for SIM900A 32 version chip (standard version of firmware)
- If this module doesn’t work in your area – you may have 900/1900 MHz disabled by firmware. You can upload the extended version to your SIM900A GSM GPRS mini board to get full quad-Band 850 / 900/ 1800 / 1900 MHz.
SIM900:
- Version: 1137B15SIM900M64_ST.rar
- Version: 1137B13SIM900M64_ST.rar
- Version: 1137B12SIM900M64_ST.rar
- Version: 1137B11SIM900M64_ST.rar
- Version: 1137B10SIM900M64_ST.rar
- Version: 1137B09SIM900M64_ST.rar
- Version: 1137B08SIM900M64_ST.rar
- Version: 1137B08SIM900M64_ST_DTMF_JD_MMS.zip
- Version: 1137B07SIM900M64_ST
- Version: 1137B06SIM900M64_ST_ENHANCE.rar
- Version: 1137B06SIM900M64_ST_AM
- Version: 1137B06SIM900M64_ST
- Version: 1137B05SIM900M64_ST
- Version: 1137B04SIM900M64_ST_MMS.rar
- Version: 1137B03SIM900M64_ST_ENHANCE.rar
- Version: 1137B02SIM900M64_ST_ENHANCE.zip
- Version: 1137B02SIM900M64_ST_DTMF_JD_EAT.rar
- Version: 1137B01SIM900M64_ST_ENHANCE.rar
- Version: 1137B01SIM900M64_ST_DTMF_JD_MMS_FOTA.rar
- SIM900M64_ST Firmware Releases.pdf
- SIM900M64_ST_ENHANCE Firmware Releases.pdf
SIM900A:
- Version: 1137B13SIM900A64_ST_DL.rar
- Version: 1137B12SIM900A64_ST.rar
- Version: 1137B12SIM900A32_ST_DL.rar
- Version: 1137B11SIM900A32_ST_DL.rar
- Version: 1137B11SIM900A64_ST.rar
- Version: 1137B10SIM900A32_ST.rar
- Version: 1137B10SIM900A64_ST.rar
- Version: 1137B09SIM900A32_ST_DL.rar
- Version: 1137B09SIM900A64_ST.rar
- Version: 1137B08SIM900A32_ST.rar
- Version: 1137B08SIM900A32_ST_DL.rar
- Version: 1137B07SIM900A32_ST.rar
- Version: 1137B06SIM900A32_ST.rar
- Version: 1137B05SIM900A32_ST.rar
- Version: 1137B04SIM900A32_ST.rar
- Version: 1137B03SIM900A64_ST_ENHANCE.cla
- SIM900A32_ST Firmware Releases .pdf
- SIM900A32_ST_DL Firmware Releases.pdf
- SIM900A64_ST Firmware Releases.pdf
For using this USB to UART Converter you need a software tool. Most of the development tools like MikroC Pro, Arduino has a UART Tool along with it. You can use different software tools: Terminal, USR-TCP232-Test V1.4, AiThinker_Serial_Tool_V1.2.3, coolterm, sscom3.2 , KiTTY, putty,tera term, Access port and so on. We recommend you to use AiThinker_Serial_Tool_V1.2.3 or sscom3.2, as you can save your AT commands and it’s very easy to use.
1.Download and install the driver for your USB to TTL converter. Read about it here.
2. Insert standard Sim Card to Sim Card holder of SIM900A GSM GPRS mini board and lock it. Sim card must be unlocked and with credit.

3.Attach GSM/GPRS antenna to SMA connector of SIM900A GSM GPRS mini board.
4. Do wiring for using USB to TTL converter.
5. Plug your USB to TTL converter into your PC USB port. The ‘status LED’ (D5) will be on.
6. Wait for some time (approx. 1 minute) and see the blinking rate of ‘network LED’ (D6). GSM module will use some time to establish connection with mobile network.
7. Once the connection is established successfully, the network LED will blink continuously every 3 seconds. You may try making a call to the mobile number of the sim card inside SIM900A GSM GPRS mini board. If you hear a ring back, the SIM900A GSM GPRS mini board has successfully established network connection.
8. Open AiThinker_Serial_Tool_V1.2.3 program. Set the baud rate 19200, data bits 8, parity bits none,stop bits one.
9. Click on Open serial button. First you need to check if AT commands are working – enter “AT” and press Send button. This would print “OK” which signifies of working connection and operation of the module.
10. We need to change the baud rate to 115200 for firmware update. Enter “AT+IPR=115200” and press Send button. Returns: “OK”.
11. Let’s confirm if we have correct baudrate. Change the baudrate to 115200. Click on Open serial button. Enter “AT+IPR?” and press Send button. Returns: “+IPR: 115200 OK”.
12. Click on Close Serial button. The baudrate is 115200 and we are ready to flash our SIM900A 64 bit GSM GPRS mini board.

13. Download and unzip the firmware upgrade tool Simcom – sim900 Customer flash loader V1.01. You can download it here or you can download and unzip SIM900 Series download Tools Develop 1.9 here.
14. Open SIM900 Customer flash loader V1.01 folder and find Simcom – sim900 Customer flash loader V1.01.exe. OR find the file SIM900 Series download Tools Develop 1.9. Right-click on this file and select Run as Administrator and press Yes button.


15. Press Browse button in Application binary file field. Find the location of firmware. Firmware configuration file has .cla extension. We selected 1137B03SIM900M64_ST_ENHANCE.cla file. You can download it here – 1137B03SIM900M64_ST_ENHANCE.rar
16. Click on Refresh COM port button.
17. Select Com port – COM7, Speed – 115200 in Comunication settings field.
18. Connect RST to GND and disconnect to reset the SIM900A GSM GPRS mini board.



19. Click on exit button when download complete – 100%.

20. Let’s check the status of update. Unplug and plug in your USB to TTL converter into your PC USB port. The ‘status LED’ (D5) will be on.
21. Wait for some time (approx. 1 minute) and see the blinking rate of ‘network LED’ (D6). GSM module will use some time to establish connection with mobile network.
22. Once the connection is established successfully, the network LED will blink continuously every 3 seconds. You may try making a call to the mobile number of the sim card inside SIM900A GSM GPRS mini board. If you hear a ring back, the SIM900A GSM GPRS mini board has successfully established network connection.
23. Open AiThinker_Serial_Tool_V1.2.3 program. Set the baud rate 115200, data bits 8, parity bits none,stop bits one.
24. Click on Open serial button. First you need to check if AT commands are working – enter “AT” and press Send button. This would print “OK” which signifies of working connection and operation of the module.
25. Check your module firmware version. Enter “AT+GMR” and press Send button. Returns the TA Revision Identification of Software Release of the module: “Revision:1137B03SIM900M64_ST_ENHANCE OK”.

Summary
We have learnt how to change or upload new firmware to SIM900A GSM GPRS min board with USB to TTL converter.
Libraries
- None
Sketch
- None
Check for more DIY projects on Acoptex.lt and Acoptex.com!
If you are looking for high quality PCBs PCBWay is the best choice:

RELATED POSTS
Basics project 083d ESP8266 ESP-12E module and NRF24L01 2.4GHZ RF transceiver module – Button and LED
Basics project 083c ESP8266 ESP-12E module and NRF24L01 2.4GHZ RF transceiver module – DHT11 sensor readings on LCD1602 I2C module
Basic project 083b ESP8266 ESP-12E module and NRF24L01 2.4GHZ RF transceiver module – Time and Date on LCD1602 I2C module