Skip to main content

AT Commands

We've provided details of some of the most important AT commands that you will encounter when using RockBLOCK. Much of this documentation is extracted directly from Iridium's own AT command reference.

The full AT command reference can be downloaded here: Iridium AT Command Guide, version 5

General Notes for RockBLOCK

Default Serial Settings:

SettingValue
Baud Rate19200
Data Bits8
ParityNone (N)
Stop Bits1

Communication Protocols

  • AT Commands: All commands should start with the prefix AT and end with a carriage return (\r). Using line feed (\n) will not work.
  • Command Responses: Responses from the ISU (Iridium Subscriber Unit) typically conclude with an OK confirmation.

Command Limitations

  • Character Limit: There is a maximum limit of 128 characters for any single AT command string.
    • This restriction is particularly relevant when using commands to send text messages, such as +SBDWT=<text message>. For messages that exceed this limit, consider using the alternative +SBDWB command or review other command options.

Glossary of terms

TermMeaning
ACKAcknowledgment
ATAttention
CRCarriage Return (0x0D or \r)
ESSETC SBD Subsystem (synonymous with GSS)
ETCEarth Terminal Controller
FAField Application
GSSGateway SBD Subsystem (synonymous with ESS)
IMEIInternational Mobile Equipment Identity
ISUIridium Subscriber Unit
LFLine Feed (0x0A or \n)
MOMobile Originated
MOMSNMobile Originated Message Sequence Number
MTMobile Terminated
MTMSNMobile Terminated Message Sequence Number
RIRing Indicate. This is a signal from the ISU which indicates an incoming MT SBD message is present at the ESS.
RSSIReceived Signal Strength Indicator
SBDShort Burst Data

Useful AT Commands

Disable Flow Control

AT&K0

This command is used to disable flow control. Disabling flow control is recommended for simpler serial communications setups where hardware flow control is unnecessary or when the connecting hardware does not support it.

Save configuration

AT&W0

This command is used to save the current configuration settings in the non-volatile memory of the ISU. Use this command after configuring settings such as baud rate or flow control to ensure that your settings persist after the device is powered down and restarted.

Ring Alerts

+SBDMTA[?]|[=0|1]

This command is used to configure the handling of Mobile Terminated Alert (MTA) messages. This command can be set to enable or disable the alert feature or queried to check the current setting.

Command options:

+SBDMTA?

This command will return the current setting indicating whether MTA messages will trigger an alert (1) or not (0).

Enable MTA Alerts: To enable the MTA alert feature, so the device generates an alert for incoming MT messages, set the command to 1:

+SBDMTA=1

When set to 1, the device will actively alert (e.g., through an indicator or a notification) when a Mobile Terminated message is received.

When SBD ring indication is enabled, the ISU asserts the RI line and issues the unsolicited result code SBDRING when an SBD ring alert is received.

Disable MTA Alerts: To disable the MTA alert feature, preventing alerts on incoming MT messages, set the command to 0:

+SBDMTA=0

When set to 0, the device will not provide any alerts when a Mobile Terminated message is received.

📘 See the Ring Alerts section for more information.

+CGSN

Command returns the IMEI of the modem.

Command response (eg):

300434063490030

+CRIS

Query the ring indication status, returning the reason for the most recent assertion of the Ring Indicate signal.

The response contains separate indications for telephony and SBD ring indications.

Command response:

+CRIS:<tri>,<sri>

Where <tri> indicates the telephony ring indication status:

ValueDescription
000No telephony ring alert received
001Incoming voice call
002Incoming data call
003Incoming fax call

Where <sri> indicates the SBD ring indication status:

ValueDescription
000No SBD ring alert received
001SBD ring alert received

+CRISX

Query the ring indication status with a timestamp of most recent ring alert.

❗️ +CRISX supported on 9602 TA11002 and later models only.

Command response:

+CRISX:<tri>,<sri>,<timestamp>

<timestamp> is only present in the extended form of the command (+CRISX). It is the 32-bit L-band Frame Number (i.e. Iridium System Time) of the most recent SBD Ring Alert message received from the network, presented in hexadecimal format (up to 8 characters). The value is invalid (or may refer to an earlier Ring Alert) if sri = 000.

+CSQ

Command returns the received signal strength indication from the ISU.

Command response:

+CSQ: <rssi>

where <rssi> is:

ValueDescription
0Equivalent to 0 bars displayed on the ISU signal strength indicator.
1Equivalent to 1 bars displayed on the ISU signal strength indicator.
2Equivalent to 2 bars displayed on the ISU signal strength indicator.
3Equivalent to 3 bars displayed on the ISU signal strength indicator.
4Equivalent to 4 bars displayed on the ISU signal strength indicator.
5Equivalent to 5 bars displayed on the ISU signal strength indicator.

These commands return the Relative Signal Strength Indicator value to the application. The commands return a value between 0 and 5. The value indicates strength of the signal relative to the noise floor. A value of 0 indicates no discernable signal and the communications will not work. A value of 1 is the minimum signal strength required to transmit. Every incremental value is an additional 2 dB of margin. For example; 2 is + 2 dB, 3 +4 dB, 5 +8 dB.

+CSQF

The +CSQ results are not ‘instantaneous’ and the calculation may take seconds.

The +CSQF command immediately returns the results of the last RSSI calculation to the user. The user must keep in mind this value may be ‘old’, perhaps 15 seconds.

+IPR

Always use the RockBLOCK's default data rate.
Do not set the baud rate to any other speed.
Do not set automatic rate adjustment.

+SBDD

This command is used to clear the MO buffer, MT buffer, or both.

Command format:

+SBDD[]

The parameter identifies which buffers are cleared.

ValueDescription
0Clear the MO buffer
1Clear the MT buffer
2Clear both MO and MT buffers
  • Using this command or power cycling the ISU are the only means by which both buffers are cleared.
  • The mobile terminated (MT) buffer will be cleared when an SBD session is initiated.
  • Sending a message from the ISU to the ESS does not clear the mobile originated (MO) buffer.
  • Reading a message from the ISU does not clear the mobile terminated buffer.

+SBDIX

This command initiates an SBD session between the ISU and the GSS, setting the SBD Session Type according to the type of command +SBDIX or +SBDIXA, and the location according to whether the optional location value is provided +SBDIX=<location>. If there is a message in the MO buffer it will be transferred to the GSS. Similarly, if there is one or more messages queued at the GSS the oldest will be transferred to the ISU and placed into the MT buffer.

Command format:

+SBDIX[A][=<location>]

  • The message, if any, in the mobile originated buffer will be sent from the ISU to the GSS.
  • If there is a message queued at the GSS it will be transferred to the ISU and placed into the mobile terminated buffer.
  • This command will always attempt an SBD registration, consisting of attach and location update, during the SBD session in order to support SBD Ring Alert. If this is not desired, the +SBDI command should be used.
  • The FA should append an ‘A’ to the command, i.e. +SBDIXA, when the SBD session is in response to an SBD ring alert.

<location> has the format: [+|-]DDMM.MMM,[+|-]dddmm.mmm

where:

DDDegrees latitude (00-89)
MMMinutes latitude (00-59)
MMMThousandths of minutes latitude (000-999)
dddDegrees longitude (000-179)
mmMinutes longitude (00-59)
mmmThousandths of minutes longitude (000-999)

The optional sign indicators specify latitude North (+) or South (-), and longitude East (+) or West (-). If ommitted, the default is +.

Command response:

+SBDIX:<MO status>,<MOMSN>,<MT status>,<MTMSN>,<MT length>,<MT queued>

where:

<MO Status>:

MO session status provides an indication of the disposition of the MO transaction. The field can take on the following values:

CodeDescription
0MO message, if any, transferred successfully.
1MO message, if any, transferred successfully, but the MT message in the queue was too big to be transferred.
2MO message, if any, transferred successfully, but the requested Location Update was not accepted.
3..4Reserved, but indicate MO session success if used.
5..8Reserved, but indicate MO session failure if used.
10GSS reported that the call did not complete in the allowed time.
11MO message queue at the GSS is full.
12MO message has too many segments.
13GSS reported that the session did not complete.
14Invalid segment size.
15Access is denied.
16ISU has been locked and may not make SBD calls (see +CULK command).
17Gateway not responding (local session timeout).
18Connection lost (RF drop).
19Link failure (A protocol error caused termination of the call).
20..31Reserved, but indicate failure if used.
32No network service, unable to initiate call.
33Antenna fault, unable to initiate call.
34Radio is disabled, unable to initiate call (see *Rn command).
35ISU is busy, unable to initiate call.
36Try later, must wait 3 minutes since last registration.
37SBD service is temporarily disabled.
38Try later, traffic management period (see +SBDLOE command).
39..63Reserved, but indicate failure if used.
64Band violation (attempt to transmit outside permitted frequency band).
65PLL lock failure; hardware error during attempted transmit.

<MOMSN>:

The Mobile Originated Message Sequence Number (MOMSN) is a value assigned by the ISU when sending a mobile-originated message to the GSS. This value is incremented each time an SBD session is successfully completed between the ISU to the GSS. This wrap around counter can range from 0 to 65535.

<MT status>:

The MT status provides an indication of the disposition of the mobile terminated transaction. The field can take on the following values:

CodeDescription
0No SBD message to receive from the GSS.
1SBD message successfully received from the GSS.
2An error occurred while attempting to perform a mailbox check or receive a message from the GSS.

<MTMSN>:

The Mobile Terminated Message Sequence Number (MTMSN) is assigned by the GSS when forwarding a message to the ISU. This value is indeterminate if the field <MT status> is zero. This wrap around counter can range from 0 to 65535.

<MT length>:

The MT length is the length in bytes of the mobile terminated SBD message received from the GSS. If no message was received, this field will be zero.

<MT queued>:

MT queued is a count of mobile terminated SBD messages waiting at the GSS to be transferred to the ISU.

+SBDRB

This command is used to transfer a binary SBD message from the MT buffer in the ISU to the FA. The MT buffer can contain only one message at a time.

The SBD message is transferred formatted as follows:

{2-byte message length} + {binary SBD message} + {2-byte checksum}

  • The {2-byte message length} field represents the length, in bytes, of the SBD message not including the length field or the mandatory two-byte checksum. The high order byte will be sent first.
  • The checksum is the least significant 2-bytes of the summation of the entire SBD message. The high order byte will be sent first. For example, if the ISU were to send "Hello World!” encoded in ASCII to the FA, the binary stream would be hex 000C48656C6C6F20576F726C6421043D.
  • If there is no mobile terminated SBD message waiting to be retrieved from the ISU, the message length and checksum fields will be zero.
  • The mobile terminated message buffer will be empty upon power-up.

+SBDRT

This command is used to transfer a text SBD message from the MO buffer in the ISU to the FA. This command is similar to +SBDRB but does not provide a length indicator or checksum. The intent of this command is to provide a human friendly interface to SBD for demonstrations and application development. It is expected that most usage of SBD will be with binary messages.

Command response:

+SBDRT:<CR>{mobile terminated buffer}

+SBDWB

This command is used to transfer a binary SBD message from the FA to the MO buffer in the ISU. The MO buffer can contain only one message at a time.

Command format:

+SBDWB=<SBD message length>

  • Once the command is entered, the ISU will indicate to the FA that it is prepared to receive the message by sending the ASCII encoded string READY<CR><LF> to the FA.
  • The <SBD message length> parameter represents the length, in bytes, of the SBD message not including the mandatory two-byte checksum.
  • The maximum mobile originated SBD message length is 340 bytes. The minimum mobile originated SBD message length is 1 byte.
  • Once the FA receives the READY indication from the ISU, the SBD message must be sent from the FA formatted as follows:

{binary SBD message} + {2-byte checksum}

  • The checksum is the least significant 2-bytes of the summation of the entire SBD message. The high order byte must be sent first.

For example if the FA were to send "Hello World!" (48656C6C6F20576F726C6421) to the ISU the binary stream would be: 48656C6C6F20576F726C6421 + 043D

Important Note:

  • The mobile originated buffer will be empty upon power-up.
  • If any data is currently in the mobile originated buffer, it will be overwritten.

Command response:

ValueDescription
0SBD message successfully written to the ISU
1SBD message write timeout. An insufficient number of bytes were transferred to ISU during the transfer period of 60 seconds
2SBD message checksum sent from DTE does not match the checksum calculated at the ISU
3SBD message size is not correct.

🐛 Bug?
AT+SBDWB returns one of the 4 responses above (0, 1, 2, 3) with 0 indicating success. In all cases except response 1, the response is followed by result code OK. This could be considered a bug, but has been present since the very first SBD release so has not been fixed for fear of breaking existing applications.

+SBDWT

This command is used to transfer a text SBD message from the FA to the MO buffer in the ISU. The MO buffer can contain only one message at a time.

Command format:

+SBDWT=<text message> or +SBDWT

The text message may be entered on the command line:

  • For example, AT+SBDWT=hello
  • The length of <text message> is limited to 120 bytes. This is due to the length limit on the AT command line interface. The message is terminated when a carriage return is entered.

Alternatively, the text message may be entered separately:

  • Upon entering the command AT+SBDWT, the ISU will indicate to the FA that it is prepared to receive the message by sending the string READY<CR><LF> to the FA.
  • Once the FA receives the READY indication, the text message must be sent, terminated by a carriage return,
  • The length of the text message entered in this way is limited only by the maximum MO message length of 340 bytes.

Important Note:

  • The mobile originated buffer will be empty upon power-up.
  • If any data is currently in the mobile originated buffer, it will be overwritten.

Command response for the AT+SBDWT=<text message> form:

ValueDescription
0SBD message successfully stored in the MO buffer
ERRORAn error occurred storing SBD message in the MO buffer

Command response for the AT+SBDWT form:

ValueDescription
0SBD message successfully stored in the MO buffer
1SBD message write timeout. No terminating carriage return was sent within the transfer period of 60 seconds.

-MSSTM

Query the latest Iridium System Time received from the network.

Command response:

-MSSTM: <system_time>

<system_time> can take one of the following forms:

ValueDescription
no network serviceThe ISU has not yet received system time from the network
XXXXXXXXWhere XXXXXXXX is the current Iridium system time available from the network. The system time as received through the Iridium Air Interface is an 32 bit integer count of the number of 90 millisecond intervals that have elapsed since the epoch. The return value is formatted as an ASCII hexadecimal number without leading zeros. The counter will rollover approximatelly every 12 years or be changed to prevent a rollover and as a result should not be used as a time source for user applications.

At time of writing, the Iridium System Time epoch is May 11, 2014, at 14:23:55

Iridium system time source

The system time is available and valid only after the ISU has registered with the network and has received the Iridium system time from the network. Once the time is received, the ISU uses its internal clock to increment the counter. In addition, at least every 8 hours, or on location update or other event that requires re-registration, the ISU will obtain a new system time from the network.

Time localization

None. The system time value is always expressed in UTC time.

Resolution and accuracy

The resolution of the system time is one Iridium frame tick, or 90 ms. Accuracy as measured by the difference between the time reported and the actual time it is sent out the ISU’s serial port should not exceed 4 frame ticks (.36 seconds) and in most cases will be one frame tick (.09 seconds) or less.