Skip to content

SIM800L GPS/GPRS AT Commands

Reference for the SIMCom SIM800 GSM/GPRS module family (SIM800L breakout boards on Pi UART).

Source

Serial setup

  • Default baud often 115200 (check your module; some ship at 9600)
  • 8N1, no flow control typical
  • Pi: enable UART, wire TX↔RX, common GND; use 3.3 V logic levels

Essential commands

CommandPurpose
ATPing — expect OK
AT+CPIN?SIM PIN status
AT+CSQSignal quality (0–31, 99 = unknown)
AT+CREG? / AT+CGREG?Network / GPRS registration
AT+COPS?Operator
AT+CGDCONT=1,"IP","<apn>"Define PDP context (set your carrier APN)
AT+CGACT=1,1Activate PDP context
AT+CIPSTART="TCP","host",portOpen TCP (multi-connection firmware)
AT+CIPSENDSend data on open socket
AT+CIPSHUTClose connection / shut IP stack

SMS (selection)

CommandPurpose
AT+CMGF=1Text mode SMS
AT+CMGS="<number>"Send SMS (terminate with Ctrl+Z)
AT+CMGL="ALL"List messages

GPS (SIM800 variants with GNSS)

GNSS-capable modules add AT+CGNSPWR, AT+CGNSINF, etc. — see the PDF for your exact firmware.

Tips

  • Send AT after power-up until OK (module boot takes seconds)
  • Use a adequate PSU — peak current spikes can brown out the Pi USB supply
  • For full syntax, error codes, and USSD/voice commands, use the linked manual

Curated technical notes — open source on GitHub