AT Command Handbook-V2.0

Last revision 2025/12/30

The AT Command Handbook is a detailed guide for utilizing AT Commands, covering topics such as communication set protocols, dialing and answering calls, sending and receiving SMS messages, GPS positioning, and power-saving modes. This resource is designed to help users effectively control and optimize their modules.

Common AT Information Command Set

Command Meaning Return Value
AT AT Testing Commands OK
ATE ATE1 for enabling echo, ATE0 for disabling echo OK
AT+CGMI Query module manufacturer OK
AT+CGMM Query module model OK
AT+CGSN Query product serial number OK
AT+CSUB Query module version and chip OK
AT+CGMR Query firmware version serial number OK
AT+IPREX Set module hardware serial port baud rate +IPREX: OK
AT+CRESET Reset module (the module will restart and automatically register on the network) OK
AT+CSQ Query network signal quality, returns signal value +CSQ: 14,99 OK
AT+CPIN? Query SIM card status, returns READY to indicate the SIM card is properly recognized +CPIN: READY
AT+COPS? Query current operator, returns operator information after successful network connection +COPS: OK
AT+CREG? Query network registration status +CREG: OK

Note: This AT command is case-insensitive.

Dialing and Answering Calls

Command Meaning Return Value
AT+CNUM Query Local Number (not all SIM cards support this command) +CNUM OK
AT+CSDVC AT+CSDVC=1: Switch to headphone output AT+CSDVC=3: Switch to speaker output OK
AT+CLVL=? Query volume range OK
AT+CLVL=2 Set volume to 2 OK
ATD<phone_number>; Dial the specified mobile number OK
AT+CHUP Hang up the call OK
AT+CLIP=1 Set caller ID display OK
ATA Answer the call OK

Demonstration of Making and Receiving Phone Calls

Send the command ATD138xxxxxxxx; to dial the target user's phone number. Note: The command should end with a semicolon.

After answering the call, the conversation begins. Upon hanging up, the message VOICE CALL END:xxxxx and NO CARRIER appear, indicating the end of the call.

When you hear the phone ringing, it means there is an incoming call. Use the command ATA to answer the call.

The message VOICE CALL BEGIN indicates that the call has been connected.

To end the call during the conversation, input the command AT+CHUP to hang up.

Sending and Receiving Short Messages

Command Meaning Response
AT+CMGF=1 Set SMS mode to TEXT OK
AT+CMGS="phone number" Set the recipient's phone number Return ">", then send the desired content
AT+CMGR=SM number Read the Nth message Read message
AT+CMGD=SM number Delete the Nth message OK
AT+CPMS? Check message storage and count "SM", number of messages, 50

Demonstration of Sending English SMS

Send AT+CMGF=1 (set SMS mode to TEXT mode).

set SMS mode to TEXT mode

Then use the command AT+CMGS="187xxxxxxxx" to send a message to the target phone number. When it returns the symbol ">", immediately input the message you want to send.

phone number

Enter the message you want to send, Note: Do not include line breaks when sending.

message

After completing the message, press "SendHEX" to send the message in hexadecimal format. Send 1A (to instruct the module to perform the sending operation). It will return +CMGS: ok, indicating successful sending.

Send success1

The receiving end successfully receives the message.

Send success2

Demonstration of Receiving English SMS and Querying Message Limit

When a message is received, the serial port will print +CMTI: "SM", X, where X represents there are X+1 messages in SM. Send AT+CMGR=X to read the X+1th message, and the content of the SMS will be printed via the serial port.

Send AT+CPMS? to query the number of existing messages and the message limit.

Query information1

Query information2

GNSS Positioning

To use GNSS positioning, first connect the GPS antenna and place the module outdoors. Power on and wait for 1 minute before starting the positioning function.

Command Meaning Response
AT+CGPS=1 Turn on GPS OK
AT+CGPSINFO Print GPS information to the serial port
AT+CGPS=0 Turn off GPS OK

AT serial port display

To display GPS information on the screen, use the following command:

GPS information

The GPS positioning data printed via the serial port is as follows:

GPS data

Note: The latitude and longitude information printed via the serial port cannot be directly used for positioning. It needs to be converted using a formula.

Assuming the data read is +CGPSINFO:1234.567891,N,12345.678912,E,141023,012523.0,455.1,0.0,

Conversion formula:

Latitude (North) 1234.567891

(1) 1234.567891÷100 = 12 (rounded)

(2) 34567891÷60 = 576.13152

The latitude coordinate in degrees is N 12.57613152°

Longitude (East) 12345.678912

(1) 12345.678912÷100 = 123 (rounded)

(2) 45678912÷60 = 761.3152

The longitude coordinate in degrees is E 123.7613152°

Open a latitude and longitude lookup website and enter the calculated latitude and longitude data one by one to obtain the location.

Obtaining detailed positioning data information via NMEA serial port

  1. Open two SSCOM windows, one port connected to Simcom HS-USB AT PORT 9001, and the other port connected to Simcom HS-USB NMEA 9001. Use the port connected to AT PORT 9001 to send the AT+CGPS=1 command, and the port connected to NMEA 9001 will automatically print all the detailed positioning data.
  2. Regarding NMEA, NMEA stands for National Marine Electronics Association, which is the abbreviation of the association responsible for GPS navigation devices' unified RTCM standard protocol.

For detailed data analysis, refer to the NMEA Encyclopedia.

Power Saving Mode

Command Meaning Return Value
AT+CFUN=0 In minimum function mode, the serial port can still be used, but functions related to RF, SIM card, and some AT commands cannot be used. OK
AT+CFUN=1 Full function mode, full power OK
AT+CFUN=4 Flight mode, the module can still use the serial port, but RF-related and some AT commands cannot be used. OK

Use the AT+CFUN=0 command to set the module to the minimum function mode.

minimum function mode

Send ATD10086; to dial 10086, and receive the error response "ERROR." Unable to make calls to the mobile company, and the network card function cannot be used.

ERROR1

ERROR2

Sleep Mode

Command Meaning Return Value
AT+CSCLK=0 UART remains active OK
AT+CSCLK=1 When DTR is high, UART enters sleep mode; when DTR is low, UART exits sleep mode. OK
AT+CSCLK? Check the current sleep status of UART. +CSCLK: status OK

In sleep mode, it is still possible to receive paging, messages, and voice calls from the network.

Querying Return Values and Meanings

Detailed Result Code Meaning
OK Command executed, no errors
CONNECT Connection successful
RING Ring detected (incoming call received)
NO CARRIER Connection not established or disconnected
ERROR Invalid command or command failed
NO DIALTONE No dial tone, unable to dial, incorrect mode
BUSY Busy on call or server busy
NO ANSWER Connection timeout

Was this article helpful?

TOP