SIMCOMs SIM 900A in Europe? Sure. Read on and I'll show you how.

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.

 

Got connected?

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.

 

AT-commands

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:

  1. Download and install “Simcom – sim900 Customer flash loader
  2. Download the firmware you need. In this article, I'm using ”1137B03SIM900M64_ST_ENHANCE.cla”
  3. Open up the sim900 Customer flash loader, and load the firmware file.
  4. 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

 

Comments

11 Comments


  • ronen 2016-03-04

    my SIM900A module worked in Israel out of the box without any firmware update,
    -Ronen Shemesh http://crakomili.net

    • Jens Christoffersen 2016-03-04

      That’s great information to other visitors. To get it to work in Europe, you’ll have to make a firmwareupdate.

      • krepperm 2016-03-18

        HI Jens,
        please can you share a link for the firmware. I have the same issue as you. thx

      • Jens Christoffersen 2016-03-27

        The article will be updated in a day or two, with a link to the firmware.

  • Chris Heims 2016-07-06

    Hello, unfortunately I bought it from ebay without checking if it works in Germany and now it’s already on the road. But I will try to flash the Firmware - and I think I will fail already at the first step grin sorry, I’m a total Rookie ... what is the “Serial cable” to connect the breadboard with the pc in detail (i can’t figure it out by the photo)? Is this something like USB to RS232? I only habe USB Ports on my Notebook. I need to order it, too.
    Would be great, if you could give me a hint grin

    • paysan 2016-08-08

      You still need help? Maybe I can help.

  • paysan 2016-08-08

    I have a SIM900 shield for Arduino-UNO and a simple standalone SIM900A board.
    Also I have a SIM pre-paid card from the SIMYO provider (Dutch)
    The card works in my cell phone.
    I reflashed both SIM900 modules with the file as mntionned above.
    The scan command shows all the networks around my home.
    But both the SIM900’s won’t connect to the network.
    After I enter the PIN code the SIM900 goes powerdown after 15 seconds.
    The SIM900A keeps poweron but the red LED keeps flashing every second.
    What can be be wrong?

    • paysan 2016-08-09

      Additional info:
      This morning it worked.
      I did a AT+CPIN=“xxxx”
      And the red LED was flashing once in 3 seconds.
      I was able to do a ATDxxxxxx; to my cell phone.
      But after I hungup the LED starts flashing every second indication there was no connection anymore.
      I
      My question is: can this be cause there is a too weak signal?

      • Jens Christoffersen 2016-10-30

        Hi, you could try to use the AT+CSQ. Signal Quality Repost. Use Google so search it up.

  • Massimo Mazzinghi 2016-11-11

    Hello Jens, thank you for information about flashing new firmware.
    I did everything and my program say I correctly downloaded my firmware to the board.
    Then I close my pc program and restart my board. I get the two leds flashing and A lot of strange characters from board to my pc. Maybe I made some mistakes?
    I readed somewhere the maximum voltage is 4,5V but I flash it using 5V from my RS232 adapter without errors…
    What can I do? Thank you in advance.
    Massimo.

    • Jens Christoffersen 2016-11-13

      Hi, Thanks for the kind words. If you see a lot of random characters on your screen, I think it has to do with the Baud settings. I experienced also some random chars from time to time. Good luck.