As a part of my mobile phone project, I noticed some interesting AT Commands used to communicate with GSM modules.
These commands are the βlanguageβ that allows a microcontroller or PC to control the modem β managing calls, SMS, network, and hardware functions in detail.
Hereβs a concise summary of commonly used GSM AT commands, grouped by function π

βοΈ Basic Connection & Testing
AT β Test connection between module and host
ATI β Display module identification
ATZ β Reset module
AT+CGMM β Get model identification
AT+GMR β Get firmware version
π Call Control
ATA β Answer incoming call
ATD β Dial a number (e.g., ATD+123456789;)
ATH β Hang up call
ATL β Speaker loudness
ATM β Speaker mode
ATP β Set pulse dial
ATT β Set tone dial
π¬ SMS & Messaging
AT+CMGF β Set SMS mode (text or PDU)
AT+CMGS β Send SMS
AT+CMGR β Read SMS
AT+CMGL β List all messages
AT+CMGD β Delete SMS
AT+CSCA β SMS service center address
AT+CNMI β New SMS indication
π Phonebook Operations
AT+CPBS β Select phonebook memory
AT+CPBR β Read entries
AT+CPBW β Write new entry
AT+CPBF β Find entries
π‘ Device & Network Info
AT+CGSN β Show IMEI
AT+COPS β Select network operator
AT+CREG β Registration status
AT+CBC β Battery charge info
AT+CSQ β Signal strength
π§ Other Essential Commands
AT&W β Save configuration
AT&F β Restore factory settings
A/ β Repeat last command
AT+GCAP β List device capabilities
π Each GSM module (SIM800, SIM900, Quectel, etc.) may include additional vendor-specific AT commands. For full command sets, always refer to your moduleβs official AT Command Manual.
π‘ Tip: Mastering these commands helps build reliable communication systems β from IoT devices to embedded projects.
