In order to boot the SIM900 in “update” mode you need to pull down the reset pin as you power up the module. As these pins are not exposed in the module, what I did was short circuit pins 1 and 3 of the K connector before powering it.
To connect the update tool with the module I’m using an FTDI USB-RS232 cable with TTL output level.
With all the tips above I believe you should be able to update the firmware. If not, let me know what you are struggling with and I’ll try to guide you through.
@ njbuch: that cable looks all right.
As for the wires you’ll need RX, TX and GND (black, with and green). You should connect them to the respective signals at the module board.
A clarification is in order: I recommended the FTDI cable because it happens to be the one that I have here and that I’ve used.
Having said that and knowing that the update tool only “talks” to a COM port, I would say that any other USB-RS232 cable or regular RS232 port that you may have on your PC would be good to connect to the module board. Providing the signal levels are within the range of the module voltage!
@ njbuch: I haven’t tested the features you are after with the firmware that I’m using.
I did a quick visit to the URL on your original post. I would say that you should be good using that firmware to update your SIM900.
This topic did really help me to update the firmware of the SIM900 on the Cellular Radio module.
I did use a standard USB to serial device/cable. The signal seemed however not to be TTL compatible. Lucky for me, I had a hex inverting buffer (MC14049UB) which I previously used to read serial values from a Maxbotic distance sensor together with the Cerberus mainboard. Using this hex inverting buffer, I was able to update the firmware via the J3 Rx/Tx connectors on the module.
I have successful updated 4 modules from 1137B10SIM900M64_ST to 1137B13SIM900M64_ST.
The SIM900 interface IO works at 2.8V and not 3.3 or 5V as some designs seem to indicate. Even the latest devices that can be powered from 3.3V instead of the usual 4.3V still use 2.8 as the interface.
You NEED to use a level shifter on the inputs as a minimum. As the interface is basically a SLOW rate, the FET level shifter you can find on Sparkfun will work well.
Attached, the way I was able to update the firmware successfully. I doubt whether the connection between the GND of the serial port and the module is needed, but since I used it it seems good to draw it anyway
I think that the cable you ordered is already having the right signal, since it’s a TTL cable. There is a difference between RS232 and TTL (https://www.sparkfun.com/tutorials/215) and since I only had a RS232 cable, I needed the hex converter.
I like to hear your experiences with the ordered cable once it arrives, since it’s much easier than my construction.
Since Dave said that the signal voltage should be 2,8V, I might have been lucky that it did work and did not damage the SIM900 chip due to a too high voltage?