AT Command Format
AT+<CMD>=<param1>,<param2>,... Execute
AT+<CMD>? Query current state
Note
Commands that do not support execute have no = form.
Use AT+<CMD>? to query their current state.
Responses:
+<CMD>:<field1>,<field2>,...
OK
ERR[:<app_err_code>]
Address bytes are always passed MSB-first without colons (e.g. C00102030405).
Parameter Types
Parameters in command format strings (fmt) use single-letter type specifiers with an
optional range constraint (#~@), where # is the minimum and @ is the maximum.
Omitting a bound keeps the type default.
Specifier |
C type |
Default range |
Notes / examples |
|---|---|---|---|
|
|
−128 to 127 |
b — any signed byteb(-10~10) — range −10 to 10 |
|
|
0 to 255 |
B — any unsigned byteB(1~2) — value 1 or 2 |
|
|
−32768 to 32767 |
w — any signed 16-bit integerw(-100~100) |
|
|
0 to 65535 |
W — any unsigned 16-bit integerW(~5) — 0 to 5 |
|
|
−2147483648 to 2147483647 |
d — any signed 32-bit integerd(-3~10) — −3 to 10d(~1000) — up to 1000 |
|
|
0 to 4294967295 |
D — any unsigned 32-bit integerD(30~) — 30 and above |
|
byte array (hex) |
0 to 255 bytes |
A — any length hex stringA(6~6) — exactly 6 bytes (e.g. BD address)A(3~) — at least 3 bytesA(2~5) — 2 to 5 bytes |
|
|
0 to 4095 bytes |
S — any string up to 255 octetsS(3~) — at least 3 octetsS(2~5) — 2 to 5 octets |
Note
A parameters are passed as hex-encoded strings without separators
(e.g. 020106 for a 3-byte array). Each pair of hex digits is one byte.
S parameters are passed as plain ASCII/UTF-8 text.