AT command script processor for GSM modem debugging

Last week we wrote some software for a GSM (cellular) modem module. The GSM modem is controlled by AT commands, like an old landline modem. Debugging is usually done by typing AT commands into Hyperterminal or the Bus Pirate.
We got tired of tapping out tons of AT commands by hand, so we created an AT Command Script Processor in C# (Visual C# 2010 Express Edition). We’re releasing it so people can share AT command scripts that demonstrate how various devices are configured.
Download it here, the current version as of this writing is 00.08.01 Alpha Release. We also added a page to the documentation wiki.
Use examples after the break.
There are two files included in the download: the application and a sample script file.
AT Command| Get Response (bool)| Delay| Comment
The script file formatting is like this. The AT command is first, followed by a Boolean (TRUE/FALSE) value that tells the program if it needs to get a response. Finally, tell it how long to delay before retrieving data from the modem. The last field is an optional comment that is ignored.
Example#1
AT|TRUE|1000|Send AT then delay for 1 sec then get data
This example waits 1 second and then gets a reply from the GSM modem.
Example#2
AT|FALSE| 1000|Send AT then delay for 1 sec
This example doesn’t get a reply from the GSM modem
This utility helped us test a series of AT commands during development. We’re releasing it so people can share AT command scripts that demonstrate how various devices are configured.
This entry was posted in utilities and tagged AT command, AT Command Script, GSM.

Comments
Great! Could you do a java version of it or something else portable?
Does this mean we can expect a new Dangerous Prototype with a cellular module anytime soon? :p
Some time you just want to play…
with us you can expect everything ;P
But suppose we aren’t, do you have an idea for one?
A very small size gps tracker to be put into bicycle frame tube. I’d buy one :)
As I remember, AT commands are also used by bluetooth modules.
nice!
There is a new version: 00.08.02
- Added Option to adjust RX Buffer Size
- Special Command for sending ascii from any hex range: __@HEX Usage: __@HEX=AA|TRUE|100|None — example: for creating SMS, Ctrl+Z is needed at the end of the message creation.
@tayken
ah yeah, bluetooth modules also use AT commands. thank you for that :D
Hey, doesn’t Xbee modules also use AT commands? I have some, I’ll check it out sometime.
Hi tayken,
thank you so much… I also tested it with the Bus Pirate and it works as well :D
Speaking about AT commands, is there a specification about timeouts? Or is it up to client to decide when he has waited enough?
The download link is no longer working. Can you post the new download link?
A bit of searching reveals: http://dangerous-prototypes-open-hardware.googlecode.com/svn/trunk/AT_Command_Script_Processor/package/
it seem doesn’t compatible with command AT+STGI=0 / AT+STGR= ; for GSM SIM TOOL KIT , because can not Read Reply from Provider.
HERU
if it can be done on hyperterminal, it can also be done using this tool. maybe you just need to add some delays.
well said thor ;)