SIM900A is very cost effective Dual-band GSM / GPRS solution for projects involve text or web application. Most of the development boards available in market are either country or network locked and useless in certain countries or networks. This particular article aims at upgrading the SIM900A firmware to unlock the modem to work with most of the networks.
Locked SIM900A gives +CPIN: PH-NET PIN when issued AT + CPIN? command. Similarly it fails to register over network and shows Not registered Network status as shown in picture below (if you want to test your module, visit Step C – Testing below).
Firmware upgrading involves few simple steps including connecting the module with PC using Serial Adapter and uploading unlocked firmware. In the end you will restart your module and it will connect to any network.
- Hardware Requirements
- Software Requirements
- Step By Step Procedure
- – – – Step A – Connections
- – – – Step B – Firmware Uploading
- – – – Step C – Testing
- SIM900A Mini GSM GPRS Development Board
- Arduino UNO / Compatible Development Board
- CP2102 Micro USB to UART TTL Module
- Jumper wires
- 5V Power Supply
- Working 2G Supported SIM Card
- Arduino IDE
- Adafruit Fona Library for Arduino IDE
- SIMXX Tools
- SSCOM Terminal
- SIM900 Series Download Tools
- SIM900A Firmware
Step By Step Procedure:
Step A – Connections:
There are certain pins available on SIM900A development board. Connect TX, RX and GND ports to Serial adapter and provide power to development board from spare 5V power supply otherwise you will stuck during firmware upgrade. Do not forget to share common GND between SIM900A, Serial Adapter and Power Supply. Connect the Serial Adapter according to the following combinations.
SIM900A & Serial Adapter:
SIM900A & Power Supply:
Step B – Firmware Uploading:
Download and extract SSCOM Terminal, SIM900 Series Download Tools and SIM900A Firmware available under SIMXX Tools compressed zip file. Launch SIM900 Series Download Tools and under SERIAL Download Tab, choose;
- SIM900A under Target
- Appropriate Port
- 460800 Baud Rate
- 1137B09SIM900B32_ST.cla firmware upgrade file
- Check “Don’t check file name”
Hit “Start Download” in the end and application will wait for firmware upgrading mode. Just short EN pin present on SIM900A development board to GND using a male jumper wire and progress bar will show changes. It will take couple of minutes until it will show “Download complete” under status windows and progress bar will reach up to 100%.
SIM900A development board will not reboot after upgrade automatically, so reboot it manually by disconnecting the power for few seconds.
Step C – Testing:
Insert SIM Card in SIM900A and launch sscom32 terminal. Operate further according to the picture (Left Side) given below;
- Choose appropriate Port
- Hit Connect
- Open command sidebar
- Insert AT + CPIN? command and launch it
- Terminal will show output which means module in now unlocked and ready for use
Let’s test SIM900A module by connecting it to Arduino Development Board installed with FONAtest example sketch of Adafruit Fona Library. Connect RX, TX and GND of SIM900A with Arduino Development Board and power the SIM900A using external power supply in the same way as described before. Select the connected Port and Launch Serial Console in Arduino IDE. Follow the test sketch instructions and you can see that SIM900A is registered over network (as shown in picture below). Try sending a test message and voila!, message has been Sent! successfully.