SIMCOM SIM 900A module.
The SIMCOM SIM 900A module is made for the Asian market, and will not get registered on a European network. To make it work, you'll need to do a firmware upgrade. Use your preferred search engine to find the firmware file. In this article, I'm using ”1137B03SIM90064_ST_ENHANCE.cla”
To do the actual upgrade, you'll need a program called “Simcom – sim900 Customer flash loader”. I have version 1.01. This program transfers the firmware from your computer to the SIMCOM module.
For hardware, I'm using a SIMCOM SIM900A module, a SIM card, a serial cable, a computer running windows, and a breadboard.
Connect the components in accordance with this picture.
Connected to the breadboard.
On this module, there are two different ways to connect it to other circuits. One way is to use Transistor-Transistor logic (TTL) and the other is to use the onboard MAX232 IC. I'm using the second option. To enable the MAX232 IC, you need to install some jumpers on the 2x3 pin header.
Jumpers are installed.
To check that you've connected everything correctly, open up hyperTerm or some other serial communication program. In this article, I'm using GtkTerm. This is a Linux program, but that's OK; this is only to check connections. To do the actual upgrade, I need to move over to my Windows computer.
When the serial program is opened, you can use any standard baud setting. When the SIM900A starts up, it goes into an auto-baud detection state. I've used 2400, 4800, 9600, and 115 000 successfully.
Now that the serial program is running, and everything is connected to your computer, you'll see something like this when you power up the module:
Initial signs of a successful connection.
To check the connections and verify that we're talking to the SIM900A module, type AT and hit enter. If everything is working, you'll get an OK in return.
Communications are working.
To communicate with the SIM 900A, we're using something called AT-commands; it's short for ATtension. After the AT, we need an instruction. To see if the module is connected to the network, we can use the 'AT+CREG?' Or to see which operator you're connected to, you can execute 'AT+COPS?' There are a ton of different AT commands you can use, read more about them here.
Testing different AT commands. This image is from after the firmware have been upgraded.
The 'AT+CREG?' command shows Network Registration
The 'ATCOPS?' command shows the Operator Selection
There's also an online module tester. At m2msupport.net, you'll find a java-based module that connects to your module so you can test various AT-commands. You can use the picture above for connection reference.
Upgrade the firmware.
Now that we're connected to the module with the command 'AT+COPS?', you get no service provider name, and now it's time for an upgrade.
Start by downloading and installing the program “Simcom – sim900 Customer flash loader”.
Follow these simple steps:
- Download and install “Simcom – sim900 Customer flash loader”
- Download the firmware you need. In this article, I'm using ”1137B03SIM900M64_ST_ENHANCE.cla”
- Open up the sim900 Customer flash loader, and load the firmware file.
- Click start.
The program will start to erase the flash and then upload the new flash. The erasing part might take a few minutes, and it looks like nothing is happening. After a while, text will run in the infobox, and the progress bar will begin to show progress.
If you get “Download done” at the end, you've successfully flashed a new firmware to your SIM900A module.
Flash file loaded.
Erasing current firmware.
Writing new firmware.
Download done - message.
To check that everything is working, and you have a service provider, close the Customer flash loader and start a terminal program again. You'll need to turn the power off and on to let the module go into operation mode, with the auto-baud setting active. If you write the command AT+CPOL?, you'll see the name of your service provider.
Now you have a SIM900A module, with new firmware, ready for action.
Next Article in Series: How to: Send an SMS with PIC16F628A and SIM900A