Skip to content

Command Reference

pollito edited this page Aug 5, 2026 · 3 revisions

Index

  1. About
  2. Core AT Commands
  3. AT& extended commands
  4. AT+ commands
  5. AT$ configuration variables
  6. ATS registers

About

This contains a full list of Hayes-style AT commands compatible with the PerryZi firmware.


Core AT commands

Command Description
AT Attention prefix. On its own, returns OK. Prefixes all commands below.
ATA Answer / accept a waiting incoming connection.
ATB<n> Set the serial baud rate. A comma-separated suffix may set the line format (data/parity/stop).
ATC Connect: bring up wifi (and/or open the pending connection).
ATD"host:port"
ATDT"host:port"
Dial a remote host and enter online (stream) mode. The T in ATDT is optional, as are the quotes.
ATE<n> Echo:

E0 - off
E1 - on
ATF<n> Serial flow-control type:

F0 - RTS/CTS
F1 - XON/XOFF, F2 - XON/XOFF auto-off
F3 - manual
F4 - disabled
ATH Hang up: close all open connections.
ATI<n> Information:

I0/I1/I5 - settings strings
I2 - IP
I3 - SSID
I4 - firmware version
I6 - MAC
I7 - date/time
I8 - build date
I9 - network details
I10 - last printer spec
I11 - free heap
ATL Re-send the last packet on a connection.
ATM Hayes compatibility (speaker control); no operation.
ATN<n> Create or remove a TCP listener (server) port.
ATO Return to online (stream) mode with the current connection, or dial a phonebook entry by number.
ATP Phonebook: list, add or remove stored dialling entries.
ATQ<n> Quiet mode:

Q1 - suppress result codes
Q0 - enable result codes
ATR<n> Line-ending mode:

R0, CR, R1, CRLF, R2, LFCR, R3, or LF.
ATRD / ATRT Display the current UTC date/time obtained via NTP from uk.pool.ntp.org in NIST time format:

YY-MM-DD HH:MM:SS

Implemented to maintain compatibility with ST.COM
ATS<n>? / ATS<n>=<v> Read or write an S-register.
See the ATS registers table below.
ATT Transmit a data packet to the current connection (optional CRC).
ATV<n> Result-code style:

V0 - numeric
V1 - verbose
ATW WiFi: scan/list access points, or connect with:

ATW"SSID,PASSWORD"
ATX<n> Result-code set:

X0 - short
X1 - long/extended
ATY Hayes compatibility; no operation.
ATZ Reset the modem and reload the last saved configuration.

AT& extended commands

Command Description
AT&D<c> Append a character to the delimiter set.
AT&F Factory reset.

To also reformat the SPIFFS filesystem:

AT&F86
AT&G Fetch/stream a web URL to the terminal.
AT&K<n> Flow-control shortcut:

0/1/2 - off
3/6 - RTS/CTS
4/5 - XON/XOFF.
AT&L Reload configuration from flash.
AT&M<c> Append a character to the "mask-out" set (bytes stripped from the stream).
AT&N<n> / AT&N<n>=<v> Read or force a GPIO pin.
AT&O<n> Start logging if no argument is provided.

Debug log control:

&O0 - dump log
&O86/&O87 - delete
&O88 - log and echo to UART
AT&S<n>=<value> Set a string setting:

S40 - mDNS hostname
S41 - terminal type
S42 - busy message
AT&T Show the current time.

Configure the timezone:

AT&T<args>
AT&W Save the current configuration to flash.
AT&Y... Define the escape/state-machine sequence.

AT+ commands

Command Description
AT+CONFIG Enter the interactive configuration menu.
AT+IRC Enter IRC chat mode.
AT+PING"host" Ping a host to test connectivity/DNS.
AT+PPP Enter PPP networking mode.
AT+PRINT<mode>:<host>:<port>/<path> Print to a CUPS/IPP printer. Mode is Ascii, or Raw.
AT+SLIP Enter SLIP networking mode.

AT$ configuration variables

Command Description
AT$MDNS=<value> Set the mDNS hostname.
AT$PASS=<value> Set the wifi password.
AT$SB=<value> Set the serial baud rate.
AT$SSID=<value> Set the wifi SSID.

ATS registers

Read a register with ATS<n>? and set one with ATS<n>=<v>.

Register Meaning Values
S0 Auto-answer: number of rings before answering an incoming connection (0 disables auto-answer). 0 to 255
S2 Escape character used in the +++ escape sequence. 0 to 255
S3 Carriage-return character code. 0 to 127
S4 Line-feed character code. 0 to 127
S5 Backspace character code. 0 to 32
S40 Streaming packet size, in bytes. ≥ 1
S41 Auto-stream mode; enter stream mode automatically on answer/connect:

0 - off
>0 - on
S42 CRC-8 value used by the transmit command (ATT). 0 to 255
S43 Temporary baud rate applied to the next dialled connection. baud rate
≤0 - clear
S44 Inter-character serial output delay, in milliseconds. ≥ 0
S45 Binary translation type for streaming. 0 to (BTYPE_INVALID−1)
S46 DCD line polarity mode. 0 - normal
1 - inverted
2 - always active
3 - always inactive
S47 GPIO pin assigned to DCD (output). supported pin 0 to MAX_PIN_NO
S48 CTS line polarity mode. 0 - normal
1 - inverted
2 - always active
3 always inactive
S49 GPIO pin assigned to CTS (input). supported pin 0 to MAX_PIN_NO
S50 RTS line polarity mode. 0 - normal
1 - inverted
2 - always active
3 - always inactive
S51 GPIO pin assigned to RTS (output). supported pin 0 to MAX_PIN_NO
S52 RI (ring indicator) line polarity mode. 0 - normal
1 - inverted
2 - always active
3 - always inactive
S53 GPIO pin assigned to RI (output). supported pin 0 to MAX_PIN_NO
S54 DTR line polarity mode. 0 - normal
1 - inverted
2 - always active
3 - always inactive
S55 GPIO pin assigned to DTR (input). supported pin 0 to MAX_PIN_NO
S56 DSR line polarity mode. 0 - normal
1 - inverted
2 - always active
3 - always inactive
S57 GPIO pin assigned to DSR (output). supported pin 0 to MAX_PIN_NO
S60 Preserve TCP listeners across resets (persisted to flash). 0 - off
non-0 - on
S61 Printer job completion timeout, in seconds. > 0
S62 Telnet protocol handling on connections. 0 - off
>0 - on
S63 Hang-up trigger type. 0 - none
1- PPP-hard
2 - DTR
3 - PDP
S64 Discard incoming NUL bytes. 0 - off
>0 - on

Clone this wiki locally