Netduino home hardware projects downloads community

Jump to content

The Netduino forums have been replaced by new forums at This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.


Member Since 08 Jul 2014
Offline Last Active Jul 10 2014 04:20 PM

Topics I've Started

SIM900 GSM module pecularities

08 July 2014 - 08:39 AM

Hi All,


As I'm progressing with a SIM900 based project, I've encountered a few peculiarities of the actual modem. I'd like to confirm my observations, and would like to seek some advices from the more experienced people on how to overcome these limitations.


In general, it seems like the modem does not like the current request (operation) to be interrupted by an "asynchronous message".

For example, if I will issue a command that expects any form of a response (like sending the "AT" command expects "OK" response) , and in the meanwhile (between the command and response) the modem outputs some asynchronous output (like "RING" for the incoming call, "+CMT" for incoming SMS or "+IPD" for incoming data), the original response gets lost (or the modem just drops what it was doing previously).


For an automated state machine that keeps verifying the modem responsivity and expects the modem to respond to these queries, this is a disaster.


Another issue I've noticed is related to GPRS data transfers. It seems like the incoming data have a higher priority over transmitted data. If the network keeps delivering data packets (receive chunks via "+IPD"), the modem cannot complete transmission (after +CIPSEND did not receieved "SEND OK") for a very looong time (timeouts in the range of 90sec does not ensure the data will be transmitted). Is there any way of overcoming this problem, other than making sure the remote device will not "flood" the SIM900 with excessive data?


Thanks for any comments and suggestions.



home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.