General AT Commands

AT commands (Hayes command set) are instructions for controlling modules. The commands consist of a series of short text strings for a range of uses, including:

  • Configuring a module
  • Establishing the module's network connection
  • Discovering module and connection status information, to ensure they are working correctly
  • Managing the module
  • Encrypting and transporting data to and from the module
  • Directly accessing the cloud

Your software must send test, read and write AT commands to your module.

Search the module supplier documentation for a full set of the AT commands you can use on your module. For example, Quectel supply the BG95&BG77&BG600L Series AT Commands Manual (PDF). (Note, this link may not point to the latest version).

AnyNet SMARTconnect™ users can use an extended set of commands. For more information, see Management AT commands.

Before you begin

Before you use any AT commands on the module, ensure that it is ready to receive them.

To test that the module is ready to receive AT commands:

  1. Using a terminal emulator that is connected to your module, type:

    at<return>

    The terminal emulator will return any of the following:

    OK – the module and port are connected and ready to communicate

    ERROR – the module and port cannot communicate. Contact the modem supplier.

    Nothing – ensure you have set the correct baud rate in your code. For more information, seeConnecting to the Quectel module using a terminal emulator.

  2. If you are using AnyNet SMARTconnect™, type: at+etminfo=version<return>

    The terminal emulator will return either of the following:

    • AnyNet SMARTconnect™ V<version>, where <version> is the current software version – the module is ready to receive AnyNet SMARTconnect™ AT commands.

      Verify that the version number is AnyNet SMARTconnect™ V0.99_ma or higher.

    • ERRORAnyNet SMARTconnect™ software has not yet initialised. Try again in 5 seconds.

AT Command syntax

Use the following syntax:

AT+<COMMAND><CR>

where:

  • AT is in upper or lowercase
  • <COMMAND> is a test, read or write command in upper or lower case
  • <CR> is the end-of-line character marking the end of a command line (alias \r – carriage return)

    The modem will execute the command line after receiving the end-of-line character.

  • <LF> is the line feed, which will move the cursor to the next line

This document displays commands only. <CR><LF> after a command is intentionally omitted.

AT commands are usually followed by a response that includes:

<CR><LF><RESPONSE><CR><LF>

where <RESPONSE> is the command response

This document displays responses only. <CR><LF> is intentionally omitted.

The response may include:

  • OK – indicates the command executed with no errors
  • ERROR – indicates an invalid command, or that the command line was too long

Types of AT Commands and responses

Command type Command syntax Description
Test

AT+<COMMAND>=?

Returns a list of parameters and value ranges set by the corresponding Write command or internal processes.

Read

AT+<COMMAND>?

Returns the currently set value of each parameter.

Write

AT+<COMMAND>=

<parameter>

Sets the user-defined parameter values.

Execute

AT+<COMMAND>

Reads non-variable parameters affected by internal processes in the Eseye-enabled modem. For example, see CCID – request unique SIM number (ICCID).

Here are a small number of useful general AT commands: