sim300_v7.03 upgrade free download
Hello, dear users of this forum. First, let me introduce myself.
My name is Srecko Lavric and people call me Lucky (=Srecko). My job is a teacher's assistant in electronic lab. Couple of years ago I started working on a project called Aqualink and we are close to starting a production. In this time I came across a lot of engineering problems and solutions too.
Currently I'm working around SIM300D GSM/GPRS module. The main benefit of this module is SMD variant. It can be easily soldered to the PCB without worrying about short circuits and bad solder joints. Also it has so big soldering pads, so you could solder some wires to it and use it on a breadbord.
Here are some important things, which might help someone to solve his problem, and maybe you will save an hour or two.
POWER SUPPLY
Powering GSM modules is very important, because they are very demanding peaces of equipment. Some of you didn't understand what is a transmitting burst. This is the borst of transmitting packets of data. This burst is present, when the module is registering to network, during voice call or when exchanging data in GPRS mode. During the burst the current spikes can be up to 2A, so your power supply must be capable of delivering this 2A during the peak power consumption.
Almost no regulator is capable of regulating the power supply in such manner, that the supply wouldn't fall a little during the burst. It is very important to keep this voltage difference as small as possible. It can be measured with an oscilloscope during a call. When starting a call the transmitter power is at maximum and is decreasing seconds later, when the cell acknowledges module that it can reduce power (in good signal conditions). The best would be digitizing oscilloscope, which can store the result for examination. In no case the voltage drop may exceed 350mV and the voltage may not fall under 3.5V. Please use 4V supply. Don't spare your capacitors. I use 2 capacitors 100uF/6.3V low ESR + 100uF tantalum + 1uF cheramic + 100nF cheramic. It works like a charm.
If your module powers off during TX burst, the power supply is the main reason. After this the module can not be auto restarted. It must be powered with PWRKEY. It is smart to monitor STATUS pin with your application. If it falls to logical 0, then the module is powered off. This pin needs 10k pulldown resistor to operate properly.
COMMUNICATION
Module's default baudrate is 115200bps. When the module powers up and registers the network, it releases an URC (unsolicited result code) "RDY". Newer software versions release "Call ready". Be careful of capital letters. This is issued at 115200.
If you don't want this communication speed (I don't know why not), then your application can issue "AT" command and wait for response. Try tis as long as you ger "AT" <CR> "OK" <CR>.
It is good to switch off the echoing of your commands. this is done with command "ATE0".
You can use only RX and TX pins to communicate with microcontroller, but you must keep in mind, that the length of what you receive can overflow your buffer and some data can be rewritten or truncated. I connected RTS and CTS together for this mode of operation.
Your firmare must be aware, that the module can send URC at any time. If you don't need this URC, you should at least cleas the RX buffer, if you are waiting for some other message.
SIM CARD
Very simple. Use 8 pin sim card holder with SIM presence switch. Connect all together as it must be (SIMCLK, SIMDTA, SIMRST, SIMVCC). Connect one end of SIM presence switch to GND directly, and other one to SIMPRE contact. This is all. If connected properly must work properly. Sometimes the contact on SIM holder or SIM card get dirty. They must be cleaned to work properly.
Another is "+CMS ERROR: 517". This means, that the SIM card is not ready. If you try listing the messages this may occure and sending will fail. You must pay attention to this error, since it can waste you a lot of time. For example, if sending an SMS message, this eror can occure. So better wait for SIM to get ready and then proceed. You can use AT+CMGL="ALL" for this and wait for "OK". Repeat this until you get rid of "+CMGS ERROR: 517".
MODULE RELIABILITY
This is only my oppinion. I used about 120 pcs of theese modules and all of them worked great without any problems and none of them died yet. They work fast and reliable. I'm more satesfied with SIM300D then wit SE (Wavecom) GS64.
I think this is enough for now. If you have any questions, please let me know. If you need some modules, I could offer you a peace or two.
If you have any experience with starting a GPRS communication between uC+SIM300D and UDP server, please give me a hint. I can't solve this puzzle yet. If you have any AT command example of what should be se up before usage of AT+CIPSEND, it will be highly appreciated.
If you came this far with reading, then thank you for your pacience and/or interest and best regards.
Srecko Lavric
P.S. I will publish this also in a new thread. Will se what will develope from this.