Notification sent by the device after startup.
| Notification | |
|---|---|
| Message | +STARTED |
Test command.
| Command | |
|---|---|
| Message | AT |
| Response | OK |
Enable or disable command echo.
| Command | |
|---|---|
| Message | ATE <echo> |
| Response | OK |
| Error | FAIL |
| Parameters | <echo>0 - Disable 1 - Enable |
| Example | ATE1ATE0 |
Read device firmware version.
| Command | |
|---|---|
| Message | AT+VERSION |
| Response | +VERSION:<dev-model>,<app-name>,<app-version>,<app-date>OK |
| Parameters | <dev-model> - device model<app-name> - firmware name<app-version> - firmware version<app-date> - firmware release date |
AT+VERSION
+VERSION:"M-3003","AT_MODEM","1.0.1","16.09.2025"
OK
Read the unique device identifier.
| Command | |
|---|---|
| Message | AT+UID |
| Response | +UID:<uid>OK |
| Parameters | <uid> - unique device identifier |
Restart the device.
| Command | |
|---|---|
| Message | AT+RESET |
| Response | OK |
Enter low-power mode.
| Command | |
|---|---|
| Message | AT+SLEEP |
| Response | OK |
To wake the device, send any AT command and wait for the
+STARTEDnotification.
Configure the Wi-Fi operating mode.
| Query | |
|---|---|
| Message | AT+WFMODE? |
| Response | +WFMODE:<mode>OK |
| Parameters | <mode> - operating mode0 - Disabled 1 - Station 2 - Access Point 3 - Station + Access Point |
| Set | |
|---|---|
| Message | AT+WFMODE= <mode> |
| Response | OK |
| Error | +WFMODE ERROR:<error>FAIL |
| Parameters | See the Query table. |
| Example | AT+WFMODE=0AT+WFMODE=1 |
| Test | |
|---|---|
| Message | AT+WFMODE=? |
| Response | +WFMODE: <mode>OK |
| Parameters | See the Query table. |
Scan for available Wi-Fi access points.
The device must be operating in Station mode (see the configuration).
| Command | |
|---|---|
| Message | AT+WFSCANAP |
| Response | +WFSCANAP: <ssid>,<mac>,<channel>,<auth>,<rssi>,<bandwidth>,<pairwise_cipher>,<group_cipher>,<phy>,<wps>OK |
| Error | +WFSCANAP ERROR:<error>FAIL |
| Parameters | <ssid> - network name<mac> - MAC address<channel> - Wi-Fi channel<auth> - authentication mode (see Authentication Modes)<rssi> - signal strength (dBm)<bandwidth> - channel bandwidth0 - HT20 1 - 20 MHz 2 - HT40 3 - 40 MHz 4 - 80 MHz 5 - 160 MHz 6 - 80 + 80 MHz <pairwise_cipher> - pairwise cipher (see Cipher Types)<group_cipher> - group cipher (see Cipher Types)<phy> - supported PHY maskbit0 - 802.11b bit1 - 802.11g bit2 - 802.11n <wps> - WPS support |
AT+WFSCANAP
+WFSCANAP:"ESP_E70839","f4-12-fa-e7-08-39",1,0,-25,2,0,0,1,0
+WFSCANAP:"70mai_d02_98ba","44-27-f3-13-98-ba",3,4,-87,1,5,3,1,0
+WFSCANAP:"BEG","9c-e3-74-0f-90-d4",4,4,-68,1,5,3,1,0
+WFSCANAP:"GKU_D200_9a0a","bc-c7-da-be-9a-0a",5,4,-90,1,4,3,1,0
+WFSCANAP:"A1-FT34-A8A038-2.4G","20-57-af-a8-a0-3e",7,4,-85,2,5,3,1,1
+WFSCANAP:"TD1","60-08-10-3c-e0-c4",10,4,-40,1,5,3,1,0
+WFSCANAP:"HUAWEI-h48W","dc-99-14-24-01-cc",10,4,-59,1,5,3,1,1
OK
Configure the output format of the AT+WFSCANAP command.
| Query | |
|---|---|
| Message | AT+WFSCANAPOPT? |
| Response | +WFSCANAPOPT: <mask>OK |
| Error | +WFSCANAPOPT ERROR:<error>FAIL |
| Parameters | <mask> - output parameter maskbit0 - ssidbit1 - macbit2 - channelbit3 - authmodebit4 - rssibit5 - bandwidthbit6 - pairwise_cipherbit7 - group_cipherbit8 - phybit9 - wpsBit values: 0 - do not include the parameter 1 - include the parameter |
| Set | |
|---|---|
| Message | AT+WFSCANAPOPT= <mask> |
| Response | +WFSCANAPOPT: <mask>OK |
| Parameters | See the Query table. |
| Example | AT+WFSCANAPOPT=1023 |
| Test | |
|---|---|
| Message | AT+WFSCANAPOPT=? |
| Response | +WFSCANAPOPT: <mask>OK |
| Parameters | See the Query table. |
Configure the station IP address.
The device must be operating in Station mode (see the configuration).
| Query | |
|---|---|
| Message | AT+WFSTAIP? |
| Response | +WFSTAIP= <static>,<ip>,<mask>,<gateway>OK |
| Error | +WFSTAIP ERROR:<error>FAIL |
| Parameters | <static>0 - Use DHCP 1 - Use a static IP address <ip> - station IP address<mask> - subnet mask<gateway> - default gateway |
| Set | |
|---|---|
| Message | AT+WFSTAIP= <static>[,<ip>,<mask>,<gateway>] |
| Response | OK |
| Error | See the Query table. |
| Parameters | See the Query table. |
| Example | AT+WFSTAIP=0AT+WFSTAIP=1,"192.168.1.2","255.255.255.0","192.168.1.1" |
Configure the station MAC address.
The device must be operating in Station mode (see the configuration).
| Query | |
|---|---|
| Message | AT+WFSTAMAC? |
| Response | +WFSTAMAC= <mac>OK |
| Error | +WFSTAMAC ERROR:<error>FAIL |
| Parameters | <mac> - station MAC address |
| Set | |
|---|---|
| Message | AT+WFSTAMAC= <mac> |
| Response | OK |
| Error | See the Query table. |
| Parameters | See the Query table. |
| Example | AT+WFSTAMAC="11:22:33:44:55:66" |
Connect to a Wi-Fi access point.
The device must be operating in Station mode (see the configuration).
| Command | |
|---|---|
| Message | AT+WFCONNAP= <ssid> [,<password>,<mac>] |
| Response | OK |
| Error | +WFCONNAP ERROR:<error>FAIL |
| Parameters | <ssid> - Wi-Fi network name (SSID)<password> - Wi-Fi password<mac> - BSSID (MAC address of the access point) |
| Example | AT+WFCONNAP="Ntc","12345678","11:22:33:44:55:66" |
If the command returns
OK, one of the following notifications will be generated:➜
+STA_CONNECTED
➜+STA_DISCONNECTEDIf the command returns an error, no notifications are generated.
The device has successfully connected to the access point in Station mode.
| Notification | |
|---|---|
| Message | +STA_CONNECTED |
The device has disconnected from the access point or failed to establish a connection.
| Notification | |
|---|---|
| Message | +STA_DISCONNECTED: <reason> |
| Parameters | <reason> - disconnection reason (list of values) |
Disconnect from the access point.
The device must be operating in Station mode (see the configuration).
| Command | |
|---|---|
| Message | AT+WFDISCONNAP |
| Response | OK |
| Error | +WFDISCONNAP ERROR:<error>FAIL |
Configure the access point IP address.
The device must be operating in Access Point mode (see the configuration).
| Query | |
|---|---|
| Message | AT+WFAPIP? |
| Response | +WFAPIP= <ip>,<mask>OK |
| Error | +WFAPIP ERROR:<error>FAIL |
| Parameters | <ip> - default gateway IP address<mask> - subnet mask |
| Set | |
|---|---|
| Message | AT+WFAPIP= <ip>[,<mask>] |
| Response | OK |
| Error | See the Query table. |
| Parameters | See the Query table. |
| Example | AT+WFAPIP="192.168.1.1","255.255.255.0" |
Configure the access point MAC address.
The device must be operating in Access Point mode (see the configuration).
| Query | |
|---|---|
| Message | AT+WFAPMAC? |
| Response | +WFAPMAC= <mac>OK |
| Error | +WFAPMAC ERROR:<error>FAIL |
| Parameters | <mac> - access point MAC address |
| Set | |
|---|---|
| Message | AT+WFAPMAC= <mac> |
| Response | OK |
| Error | See the Query table. |
| Parameters | See the Query table. |
| Example | AT+WFAPMAC="11:22:33:44:55:66" |
Configure the access point.
The device must be operating in Access Point mode (see the configuration).
| Command | |
|---|---|
| Message | AT+WFAPCONF= <ssid> [,<password>,<channel>,<auth>,<max_conn>,<hidden>] |
| Response | OK |
| Error | +WFAPCONF ERROR:<error>FAIL |
| Parameters | <ssid> - Wi-Fi network name (SSID)<password> - Wi-Fi password<channel> - Wi-Fi channel1 .. 13 - valid values <auth> - authentication mode (list of values)<max_conn> - maximum number of connected stations (clients)<hidden>0 - visible access point 1 - hidden access point |
| Example | AT+WFAPCONF="Ntc","12345678",1,1,5,0 |
Ping a remote host.
| Command | |
|---|---|
| Message | AT+PING= <ip>[,<timeout>,<interval>,<data-size>,<count>] |
| Response | +PING,<n>:<result>+PING: <req>,<resp>,<full-time>OK |
| Error | +PING ERROR:<error>FAIL |
| Parameters | <ip> - IP address<timeout> - request timeout in milliseconds (default: 250)<interval> - interval between requests in milliseconds (default: 250)<data-size> - payload size in bytes (default: 16)<count> - number of requests (default: 4)<n> - request number<result> - result: response time or timeout<req> - number of requests sent<resp> - number of responses received<full-time> - total elapsed time |
| Example | AT+PING="192.168.1.1" |
Resolve a domain name to an IP address.
| Command | |
|---|---|
| Message | AT+DNS= <domain> |
| Response | +DNS: <ip>OK |
| Error | +DNS ERROR:<error>FAIL |
| Parameters | <domain> - domain name<ip> - resolved IP address |
| Example | AT+DNS="ya.ru" |
Open a UDP socket.
| Command | |
|---|---|
| Message | AT+UDPOPEN[=<src-port>,<dst-addr>,<dst-port>,<index>] |
| Response | +UDPOPEN: <index>OK |
| Error | +UDPOPEN ERROR:<error>FAIL |
| Parameters | <src-port> - source port (assigned automatically if omitted)<dst-addr> - destination DNS name or IP address<dst-port> - destination port<index> - socket index (assigned automatically if omitted) |
| Example | AT+UDPOPENAT+UDPOPEN=,"example.com",12345 |
Connect to a TCP socket.
| Command | |
|---|---|
| Message | AT+TCPCONN= <dst-addr>,<port>[,<index>] |
| Response | +TCPCONN: <index>OK |
| Error | +TCPCONN ERROR:<error>FAIL |
| Parameters | <dst-addr> - destination DNS name or IP address<port> - destination port<index> - socket index (assigned automatically if omitted) |
| Example | AT+TCPCONN="192.168.1.100",12345 |
A TCP socket has been connected successfully.
| Notification | |
|---|---|
| Message | +CONNECTED, <index> |
| Parameters | <index> - socket index |
A TCP socket has been disconnected.
| Notification | |
|---|---|
| Message | +DISCONNECTED, <index> |
| Parameters | <index> - socket index |
After this notification is received, the socket is closed automatically and its resources are released. There is no need to call
AT+CLOSE.
Listen for incoming TCP connections.
| Command | |
|---|---|
| Message | AT+TCPLISTEN= <port>[,<conn-count>,<index>] |
| Response | +TCPLISTEN: <index>OK |
| Error | +TCPLISTEN ERROR:<error>FAIL |
| Parameters | <port> - listening port<conn-count> - maximum number of simultaneous connections<index> - socket index (assigned automatically if omitted) |
| Example | AT+TCPLISTEN=12345 |
When an incoming connection is accepted, the device generates a
+CONNECTEDnotification containing the socket index that should be used to send and receive data.
Close a UDP or TCP socket.
| Command | |
|---|---|
| Message | AT+CLOSE= <index> |
| Response | OK |
| Error | +CLOSE ERROR:<error>FAIL |
| Parameters | <index> - socket index |
| Example | AT+CLOSE=0 |
Send data through a UDP or TCP socket.
| Command | |
|---|---|
| Message | AT+WRITE= <index>,<data>[,<dst-addr>,<port>] |
| Response | OK |
| Error | +WRITE ERROR:<error>FAIL |
| Parameters | <index> - socket index<data> - data in text or HEX format:HEX - two characters per byte Text - printable text enclosed in quotation marks UDP sockets only: <dst-addr> - destination DNS name or IP address<port> - destination port.These parameters may be omitted if they were specified when the socket was opened, during a previous transmission, or if data has already been received from the remote endpoint. |
| Example | AT+WRITE=0,3031323334AT+WRITE=0,"01234" |
Send a 35-byte sequence:
404e5443000000000100000013004c472a3e533a313233343531323334353132333435
AT+WRITE=0,404e544301000000000000001300464d2a3e533a383636373935303333333233383634
OK
+READ,0:19,404E544300000000010000000300455E2A3C53
Send binary data through a UDP or TCP socket.
| Command | |
|---|---|
| Message | AT+WRITEB= <index>,<size>[,<dst-addr>,<port>]<CRLF> <BIN> |
| Response | OK |
| Error | +WRITEB ERROR:<error>FAIL |
| Parameters | <index> - socket index<size> - data size in bytes<CRLF> - separator between the text and binary parts of the message (byte sequence 0x0D, 0x0A)<BIN> - binary dataUDP sockets only: <dst-addr> - destination DNS name or IP address<port> - destination port.These parameters may be omitted if they were specified when the socket was opened, during a previous transmission, or if data has already been received from the remote endpoint. |
Send a 35-byte sequence:
404e5443000000000100000013004c472a3e533a313233343531323334353132333435
AT+WRITEB=0,35 <- Text
404e5443000000000100000013004c472a3e533a313233343531323334353132333435 <- CRLF + binary data
OK <- Text
+READB,0:19 <- Text
404e544300000000010000000300455e2a3c53 <- CRLF + binary data
Configure the data receive mode.
| Query | |
|---|---|
| Message | AT+DATAMODE? |
| Response | +DATAMODE= <data-mode>OK |
| Parameters | <data-mode> - data receive mode: |
| Set | |
|---|---|
| Message | AT+DATAMODE= <data-mode> |
| Response | OK |
| Error | +DATAMODE ERROR:<error>FAIL |
| Parameters | See the Query table. |
| Example | AT+DATAMODE=1 |
Data received through a UDP or TCP socket (HEX format).
| Notification | |
|---|---|
| Message | +READ, <index>[,<addr>,<port>]:<size>,<data> |
| Parameters | <index> - socket index<addr> - sender DNS name or IP address (UDP sockets only)<port> - sender port (UDP sockets only)<size> - data size in bytes<data> - data in HEX format (two characters per byte) |
See the AT+WRITE example.
Data received through a UDP or TCP socket (BIN format).
| Notification | |
|---|---|
| Message | +READB, <index>[,<addr>,<port>]:<size> <CRLF> <BIN> |
| Parameters | <index> - socket index<addr> - sender DNS name or IP address (UDP sockets only)<port> - sender port (UDP sockets only)<size> - data size in bytes<CRLF> - separator between the text and binary parts of the message (byte sequence 0x0D, 0x0A)<BIN> - binary data |
See the AT+WRITEB example.
A socket has been closed.
| Notification | |
|---|---|
| Message | +CLOSED, <index> |
| Parameters | <index> - socket index |
After this notification is received, the socket is closed automatically and its resources are released. There is no need to call
AT+CLOSE.
Get information about active sockets.
| Command | |
|---|---|
| Message | AT+SSTAT |
| Response | +SSTAT: <index>,<type>,<local-port>[,<remote-ip>,<remote-port>]OK |
| Parameters | <index> - socket index<type> - socket type:1 - UDP 2 - TCP server 3 - TCP client (outgoing connection) 4 - TCP client (incoming connection) <local-port> - local port<remote-ip> - remote IP address<remote-port> - remote port |
AT+SSTAT
+SSTAT:0,3,57683,193.193.165.165,21626
+SSTAT:1,3,57684,193.193.165.165,21627
+SSTAT:2,3,57685,193.193.165.165,21628
OK
Get information about the firmware stored on the device.
| Command | |
|---|---|
| Message | AT+FWINFO |
| Response | +FWINFO: <index>,<id>,<app-name>,<app-version>,<app-date>,<active>OK |
| Parameters | <index> {id="fwinfo_index"} - firmware index<id> - firmware identifier<app-name> - firmware name<app-version> - firmware version<app-date> - firmware release date<active> - indicates whether this firmware is currently running |
Select the firmware to boot.
| Command | |
|---|---|
| Message | AT+FWSEL= <index> |
| Response | OK |
| Error | +FWSEL ERROR:<error>FAIL |
| Parameters | <index> - firmware index |
Write firmware data (HEX format).
| Command | |
|---|---|
| Message | AT+FWWRITE= <id>,<address>,<data> |
| Response | OK |
| Error | +FWWRITE ERROR:<error>FAIL |
| Parameters | <id> - firmware identifier. The main firmware uses 0 (may be omitted)<address> - write offset<data> - firmware data in HEX format (two characters per byte) |
Write firmware data (BIN format).
| Command | |
|---|---|
| Message | AT+FWWRITEB= <id>,<address>,<data-size> <CRLF> <BIN> |
| Response | OK |
| Error | +FWWRITEB ERROR:<error>FAIL |
| Parameters | <id> - firmware identifier. The main firmware uses 0 (may be omitted)<address> - write offset<data-size> - data size in bytes<CRLF> - separator between the text and binary parts of the message (byte sequence 0x0D, 0x0A)<BIN> - binary firmware data |
Update to the written firmware.
| Command | |
|---|---|
| Message | AT+FWUPDATE[=<id>,<size>,<crc>] |
| Response | OK |
| Error | +FWUPDATE ERROR:<error>FAIL |
| Parameters | <id> - firmware identifier<size> - firmware file size<crc> - firmware CRC checksum |
Initialize the BLE stack.
| Command | |
|---|---|
| Message | AT+BLEINIT |
| Response | OK |
| Error | +BLEINIT ERROR:<error>FAIL |
Before executing this command, all services and characteristics must be added using
AT+BLESSVCandAT+BLESCHR. After initialization, no additional services or characteristics can be added. If none are added before running this command, the device will not be connectable. Only the first BLE instance (<instance>=0) accepts connections. All other instances are always non-connectable.
Add a BLE service.
| Command | |
|---|---|
| Message | AT+BLESSVC= <uuid-data> |
| Response | OK |
| Error | +BLESVCADD ERROR:<error>FAIL |
| Parameters | <uuid-data> - service UUID in HEX format (2, 4, or 16 bytes) |
Add a characteristic to the most recently added service.
| Command | |
|---|---|
| Message | AT+BLESCHR= <uuid-data>[,<flags>,<data>,<data-size>,<format>,<exponent>,<units>,<namespace>,<description>] |
| Response | +BLECHRADD: <handle>OK |
| Error | +BLECHRADD ERROR:<error>FAIL |
| Parameters | <uuid-data> - characteristic UUID in HEX format (2, 4, or 16 bytes)<flags> - characteristic access flags:bit0 - reserved bit1 - read bit2 - write without response bit3 - write bit4 - notify on change bit5 - indicate on change <data> - initial value in HEX format<data-size> - data size (if specified, <data> may be omitted and the characteristic will be initialized with zeros)<format> - value format (if omitted or set to 0, the remaining parameters are ignored). See the Bluetooth specification Assigned Numbers, section 2.4.1 GATT Format Types.<exponent> - power of 10 used to scale the value (valid range: -128...127)<units> - measurement units (see Assigned Numbers, section 3.5.1 Units by Name)<namespace> - namespace identifier (typically 1)<description> - description identifier<handle> - characteristic handle |
Configure the BLE device name.
| Query | |
|---|---|
| Message | AT+BLENAME=[<instance>]? |
| Response | +BLENAME, <instance>=<name>OK |
| Error | +BLENAME ERROR:<error>FAIL |
| Parameters | <instance> - BLE instance (default: 0)<name> - device name |
| Set | |
|---|---|
| Message | AT+BLENAME=[<instance>],<name> |
| Response | OK |
| Error | See the Query table. |
| Parameters | See the Query table. |
| Example | AT+BLENAME=0,"Abc" |
Configure the BLE device appearance.
| Query | |
|---|---|
| Message | AT+BLEAPP=[<instance>]? |
| Response | +BLEAPP, <instance>=<appearance>OK |
| Error | +BLEAPP ERROR:<error>FAIL |
| Parameters | <instance> - BLE instance (default: 0)<appearance> - appearance value |
| Set | |
|---|---|
| Message | AT+BLEAPP=[<instance>],<appearance> |
| Response | OK |
| Error | See the Query table. |
| Parameters | See the Query table. |
| Example | AT+BLEAPP=0,512 |
Configure the BLE device.
| Command | |
|---|---|
| Message | AT+BLECONF[=<instance>,<type>,<interval-min>,<interval-max>,<channel-mask>,<address>,<primary-phy>,<secondary-phy>] |
| Response | OK |
| Error | +BLECONF ERROR:<error>FAIL |
| Parameters | <instance> - BLE instance (default: 0)<type> - advertising type:0 - Legacy advertising (up to 31 bytes) 1 - Extended advertising (up to 254 bytes) <interval-min> - minimum advertising interval (ms)<interval-max> - maximum advertising interval (ms)<channel-mask> - advertising channel mask:bit0 - channel 37 bit1 - channel 38 bit2 - channel 39 <address> - BLE address<primary-phy> - primary advertising PHY:1 - Uncoded 1M 3 - Coded <secondary-phy> - PHY used after connection:1 - Uncoded 1M 2 - Uncoded 2M 3 - Coded |
| Example | AT+BLECONF=0,0,1000,2000,4,"01:02:03:04:05:06" |
Start the BLE device.
| Command | |
|---|---|
| Message | AT+BLESTART[=<instance>] |
| Response | OK |
| Error | +BLESTART ERROR:<error>FAIL |
| Parameters | <instance> - BLE instance (default: 0) |
Stop the BLE device.
| Command | |
|---|---|
| Message | AT+BLESTOP[=<instance>] |
| Response | OK |
| Error | +BLESTOP ERROR:<error>FAIL |
| Parameters | <instance> - BLE instance (default: 0) |
Set raw BLE advertising data.
| Command | |
|---|---|
| Message | AT+BLEADVDATA=[<instance>],<data> |
| Response | OK |
| Error | +BLEADVDATA ERROR:<error>FAIL |
| Parameters | <instance> - BLE beacon instance (default: 0)<data> - advertising data in HEX format |
This command allows you to set arbitrary BLE advertising payload data. To generate standard advertising payloads, use the following commands instead:
AT+BLEADVDF,AT+BLEADVDFMSD,AT+BLEADVDFURI,AT+BLEADVDFSDU16,AT+BLEADVDFSDU32, andAT+BLEADVDFSDU128.
Configure the standard fields of the BLE advertising packet.
| Command | |
|---|---|
| Message | AT+BLEADVDF=[<instance>],[<flags-enable>,<name-enable>,<appearance-enable>,<tx-power-enable>] |
| Response | OK |
| Error | +BLEADVDF ERROR:<error>FAIL |
| Parameters | <instance> - BLE beacon instance (default: 0)<flags-enable> - enable the Flags field (0x01)<name-enable> - enable the Complete Local Name field (0x09)<appearance-enable> - enable the Appearance field (0x19)<tx-power-enable> - enable the TX Power Level field (0x0A) |
Configure the Manufacturer Specific Data field (0xFF).
| Command | |
|---|---|
| Message | AT+BLEADVDFMSD=[<instance>],<data> |
| Response | OK |
| Error | +BLEADVDFMSD ERROR:<error>FAIL |
| Parameters | <instance> - BLE beacon instance (default: 0)<data> - data in HEX format |
Configure the URI field (0x24).
| Command | |
|---|---|
| Message | AT+BLEADVDFURI=[<instance>],[<uri-prefix>],<uri> |
| Response | OK |
| Error | +BLEADVDFURI ERROR:<error>FAIL |
| Parameters | <instance> - BLE beacon instance (default: 0)<uri-prefix> - URI prefix:1 - no prefix (default) 17 - ftp:22 - http:23 - https:For additional values, see the Bluetooth specification Assigned Numbers, section 2.7 URI Scheme Name String Mapping. <uri> - URI in text format |
| Example | AT+BLEADVDFURI=,,"navtelecom.ru" |
Configure the Service Data - 16-bit UUID field (0x16).
| Command | |
|---|---|
| Message | AT+BLEADVDFSDU16=[<instance>],<uuid-data>,<data> |
| Response | OK |
| Error | +BLEADVDFSDU16 ERROR:<error>FAIL |
| Parameters | <instance> - BLE beacon instance (default: 0)<uuid-data> - 16-bit UUID in HEX format (2 bytes)<data> - data in HEX format |
| Example | AT+BLEADVDFSDU16=,1001,0A0B0C0D |
Configure the Service Data - 32-bit UUID field (0x20).
| Command | |
|---|---|
| Message | AT+BLEADVDFSDU32=[<instance>],<uuid-data>,<data> |
| Response | OK |
| Error | +BLEADVDFSDU32 ERROR:<error>FAIL |
| Parameters | <instance> - BLE beacon instance (default: 0)<uuid-data> - 32-bit UUID in HEX format (4 bytes)<data> - data in HEX format |
| Example | AT+BLEADVDFSDU32=,10010001,0A0B0C0D |
Configure the Service Data - 128-bit UUID field (0x21).
| Command | |
|---|---|
| Message | AT+BLEADVDFSDU128=[<instance>],<uuid-data>,<data> |
| Response | OK |
| Error | +BLEADVDFSDU128 ERROR:<error>FAIL |
| Parameters | <instance> - BLE beacon instance (default: 0)<uuid-data> - 128-bit UUID in HEX format (16 bytes)<data> - data in HEX format |
| Example | AT+BLEADVDFSDU128=,0102030405060708090A0B0C0D0E0F10,0A0B0C0D |
Read a characteristic value in BLE Server mode.
| Command | |
|---|---|
| Message | AT+BLESRD= <handle> |
| Response | +BLESRD: <handle>,<data>OK |
| Error | +BLESRD ERROR:<error>FAIL |
| Parameters | <handle> - characteristic handle<data> - characteristic value in HEX format |
Write a characteristic value in BLE Server mode.
| Command | |
|---|---|
| Message | AT+BLESWR= <handle>,<data> |
| Response | OK |
| Error | +BLESWR ERROR:<error>FAIL |
| Parameters | <handle> - characteristic handle<data> - characteristic value in HEX format |
A characteristic value has been written (Server mode).
| Notification | |
|---|---|
| Message | +BLESWRN: <handle>,<data> |
| Parameters | <handle> - characteristic handle<data> - characteristic value in HEX format |
A client has connected to the device (Server mode).
| Notification | |
|---|---|
| Message | +BLESCONN |
A client has disconnected from the device (Server mode).
| Notification | |
|---|---|
| Message | +BLESDISCONN |
Scan for BLE devices.
| Command | |
|---|---|
| Message | AT+BLEDISC[=<filter-duplicates>,<interval>,<out-mode>] |
| Response | OK |
| Error | +BLEDISC ERROR:<error>FAIL |
| Parameters | <filter-duplicates> - filter duplicate advertisements (default: 1)<interval> - scan duration (0 = continuous scanning)<out-mode> - notification output mode (default: 1)0 - raw data mode 1 - parsed fields mode |
Stop BLE device scanning.
| Command | |
|---|---|
| Message | AT+BLEDISCSTOP |
| Response | OK |
| Error | +BLEDISCSTOP ERROR:<error>FAIL |
Add addresses to the scanning whitelist.
| Command | |
|---|---|
| Message | AT+BLEWLADD= <addr1>[,<addr2>,...] |
| Response | +BLEWLADD: <addrN>,<error>OK |
| Error | FAIL |
| Parameters | <addr1> - address 1<addr2> - address 2... <addrN> - address that could not be added |
Remove addresses from the scanning whitelist.
| Command | |
|---|---|
| Message | AT+BLEWLREM= <addr1>[,<addr2>,...] |
| Response | +BLEWLREM: <addrN>,<error>OK |
| Error | FAIL |
| Parameters | <addr1> - address 1<addr2> - address 2... <addrN> - address that could not be removed |
Clear the scanning whitelist.
| Command | |
|---|---|
| Message | AT+BLEWLCLR |
| Response | OK |
BLE device scanning has completed.
| Notification | |
|---|---|
| Message | +BLEDISCCOMP |
Advertisement received from a BLE device.
| Notification | |
|---|---|
| Message | +BLEADV: <addr-type>,<addr>,<legacy_type>,<rssi>,(<data>)|(<field_type1>,<field-value1>,<field_type2>,<field-value2>,...) |
| Parameters | <addr-type> - address type:0 - public 1 - random <addr> - device address<legacy_type> - advertising type0 - connectable and scannable 1 - directed advertising 2 - scannable, non-connectable 3 - non-scannable and non-connectable 4 - scan response <rssi> - signal strength<data> - advertising data in HEX format (used in data mode)<field_typeN> - field type (used in field mode)<field_valueN> - field value (used in field mode). The format depends on the field type. |
Field formats:
| Type | Description | Format |
|---|---|---|
| 0x01 | Flags | Unsigned DEC number |
| 0x08 | Shortened Local Name | String |
| 0x09 | Complete Local Name | String |
| 0x0A | TX Power Level | Signed DEC number |
| 0x17 | Public Target Address | Address |
| 0x18 | Random Target Address | Address |
| 0x19 | Appearance | Unsigned DEC number |
| 0x1A | Advertising Interval | Unsigned DEC number |
| 0x1C | LE Role | Unsigned DEC number |
| 0x1B | LE Bluetooth Device Address | Address type + address (<addr-type>/<type>) |
| 0x24 | URI | String |
| 0x27 | LE Supported Features | Unsigned DEC number |
| ... | Default | HEX data |
Connect to a BLE device.
| Command | |
|---|---|
| Message | AT+BLECCONN[=<addr-type>],<addr>,[<timeout>] |
| Response | OK |
| Error | +BLECCONN ERROR:<error>FAIL |
| Parameters | <addr-type> - address type (default: 0):0 - public 1 - private <addr> - device address<timeout> - timeout (ms) |
If the command is accepted successfully, either
+BLECCONNDor+BLECDISCONNDwill be received after the timeout expires.
Disconnect from a BLE device.
| Command | |
|---|---|
| Message | AT+BLECDISCONN |
| Response | OK |
| Error | +BLECDISCONN ERROR:<error>FAIL |
A connection to the BLE device has been established.
| Notification | |
|---|---|
| Message | +BLECCONND |
After this message is received, service discovery for the BLE device starts automatically.
The BLE device has been disconnected.
| Notification | |
|---|---|
| Message | +BLECDISCONND |
Service discovered.
| Notification | |
|---|---|
| Message | +BLECSVC=[<parent-handle>],<handle>,<uuid> |
| Parameters | <parent-handle> - parent service handle (omitted for primary services)<handle> - handle<uuid> - UUID in HEX format |
Characteristic discovered.
| Notification | |
|---|---|
| Message | +BLECCHR= <service-handle>,<handle>,<flags>,<uuid> |
| Parameters | <service-handle> - service handle<handle> - handle<flags> - flags:bit0 - broadcast bit1 - read bit2 - write without response bit3 - write bit4 - notify bit5 - indicate <uuid> - UUID in HEX format |
Descriptor discovered.
| Notification | |
|---|---|
| Message | +BLECDSC= <parent-handle>,<handle>,<uuid> |
| Parameters | <parent-handle> - characteristic handle<handle> - handle<uuid> - UUID in HEX format |
Service discovery has completed.
| Notification | |
|---|---|
| Message | +BLECDISCDONE |
Read a BLE attribute (Client mode).
| Command | |
|---|---|
| Message | AT+BLECRD= <handle> |
| Response | OK |
| Error | +BLECRD ERROR:<error>FAIL |
| Parameters | <handle> - characteristic or descriptor handle |
Subscribe to characteristic value changes (Client mode).
| Command | |
|---|---|
| Message | AT+BLECSUBS= <handle>[,<subs-type>] |
| Response | OK |
| Error | +BLECSUBS ERROR:<error>FAIL |
| Parameters | <handle> - characteristic handle<subs-type> - subscription type (if omitted, selected automatically):0 - disable subscription 1 - notify 2 - indicate |
Attribute value received.
| Notification | |
|---|---|
| Message | +BLECRDD= <handle>,<error>,<data-index>,<data> |
| Parameters | <handle> - characteristic or descriptor handle<error> - error if the attribute could not be read; otherwise this field is omitted<data-index> - buffer index<data> - data in HEX format |
Write a BLE attribute (Client mode).
| Command | |
|---|---|
| Message | AT+BLECWR= <handle>,[<write-type>],<data> |
| Response | OK |
| Error | +BLECWR ERROR:<error>FAIL |
| Parameters | <handle> - characteristic or descriptor handle<write-type> - write type (if omitted, selected automatically):0 - write with response 1 - write without response <data> - data in HEX format |
Attribute has been written.
| Notification | |
|---|---|
| Message | +BLECWRN= <handle>,<error> |
| Parameters | <handle> - characteristic or descriptor handle<error> - error if the attribute could not be written; otherwise this field is omitted |
Preset MTU.
| Query | |
|---|---|
| Message | AT+BLEPMTU? |
| Response | +BLEPMTU: <data-size>OK |
| Error | +BLEPMTU ERROR:<error>FAIL |
| Parameters | <data-size> - value for the current connection |
| Set | |
|---|---|
| Message | AT+BLEPMTU= <data-size> |
| Response | OK |
| Error | +BLEPMTU ERROR:<error>FAIL |
| Parameters | <data-size> - data size |
This value is used during MTU negotiation. It is used in both Server mode and Client mode.
Current MTU (Client mode).
| Query | |
|---|---|
| Message | AT+BLECMTU? |
| Response | +BLECMTU: <data-size>OK |
| Error | +BLECMTU ERROR:<error>FAIL |
| Parameters | <data-size> - value for the current connection |
| Set | |
|---|---|
| Message | AT+BLECMTU= <data-size> |
| Response | OK |
| Error | +BLECMTU ERROR:<error>FAIL |
| Parameters | <data-size> - data size |
This command is sent after the connection has been established.
Current MTU (Server mode).
| Query | |
|---|---|
| Message | AT+BLESMTU |
| Response | +BLESMTU: <data-size>OK |
| Error | +BLESMTU ERROR:<error>FAIL |
| Parameters | <data-size> - value for the current connection |
This command is sent after a client has connected.
MTU value has been updated for the device (Server mode).
| Notification | |
|---|---|
| Message | +BLESMTUUPD: <mtu-value> |
| Parameters | <mtu-value> - new MTU value |
Power supply voltage.
| Command | |
|---|---|
| Message | AT+POWER |
| Response | +POWER: <main-voltage>,<bat-voltage>OK |
| Parameters | <main-voltage> - main supply voltage<bat-voltage> - battery supply voltage |
Configure the input.
| Query | |
|---|---|
| Message | AT+INCONF=[<index>]? |
| Response | +INCONF, <index>=<u-filter-coeff>,<u-hi-thr>,<u-lo-thr>,<inverse>,<debounce>,<f-filter-coeff>,<f-min>,<notify-enabled>OK |
| Error | +INCONF ERROR:<error>FAIL |
| Parameters | <index> - input index (default: 0)<u-filter-coeff> - voltage filtering coefficient (ms)<u-hi-thr> - voltage threshold at which the logical input switches to 1<u-lo-thr> - voltage threshold at which the logical input switches to 0<inverse> - invert the logical input<debounce> - contact debounce time for the logical input (ms)<f-filter-coeff> - frequency filtering coefficient (ms)<f-min> - minimum measurable frequency<notify-enabled> - enable notifications when the logical input state changes |
| Set | |
|---|---|
| Message | AT+INCONF=[<index>,<u-filter-coeff>,<u-hi-thr>,<u-lo-thr>,<inverse>,<debounce>,<f-filter-coeff>,<f-min>,<notify-enabled>] |
| Response | OK |
| Error | +INCONF ERROR:<error>FAIL |
| Parameters | See above |
Read input value.
| Command | |
|---|---|
| Message | AT+IN[=<index>] |
| Response | +IN: <index>,<discrete>,<voltage>,<counter>,<frequency>OK |
| Error | +IN ERROR:<error>FAIL |
| Parameters | <index> - input index (default: 0)<discrete> - logical input value<voltage> - input voltage<counter> - counter value (number of transitions from logical 0 to logical 1)<frequency> - input frequency |
The logical input value has changed.
| Notification | |
|---|---|
| Message | +DISC= <index>,<discrete>,<voltage> |
| Parameters | <index> - input index<discrete> - logical value<voltage> - input voltage |
Output value.
| Query | |
|---|---|
| Message | AT+OUT[=<index>]? |
| Response | +OUT, <index>=<discrete>OK |
| Error | +OUT ERROR:<error>FAIL |
| Parameters | <index> - output index (default: 0)<discrete> - output value (0 or 1) |
| Set | |
|---|---|
| Message | AT+OUT=[<index>],<discrete>] |
| Response | OK |
| Error | +OUT ERROR:<error>FAIL |
| Parameters | <index> - output index (default: 0)<discrete> - output value (0 or 1) |
| Value | Description |
|---|---|
-1 |
General error |
1 |
Not enough memory |
2 |
Operation timeout |
3 |
Invalid address |
4 |
Invalid argument |
5 |
Invalid data |
6 |
Invalid state |
7 |
Invalid size |
8 |
Invalid response received |
9 |
Invalid resource identifier |
10 |
Invalid CRC or checksum |
11 |
Invalid version |
12 |
Invalid MAC address |
13 |
Requested resource not found |
14 |
Operation or function not supported |
15 |
Operation not completed |
16 |
Operation not permitted |
17 |
Operation already in progress |
18 |
Operation already completed |
19 |
Operation failed, try again later |
20 |
No connection |
21 |
Resource busy |
22 |
Read not permitted |
23 |
Write not permitted |
24 |
Application error |
25 |
System error |
26 |
Unknown error |
27 |
Authentication error |
28 |
Authorization error |
29 |
Synchronization error |
30 |
Cryptographic error |
41 |
Wi-Fi was not initialized |
42 |
Wi-Fi was not started |
43 |
Wi-Fi was not stopped |
44 |
Wi-Fi error |
45 |
Wi-Fi mode error |
46 |
Wi-Fi internal state error |
47 |
Internal station or access point control block error |
48 |
Wi-Fi internal NVS module error |
49 |
Invalid MAC address |
50 |
Invalid SSID |
51 |
Invalid password |
52 |
Timeout error |
53 |
Wi-Fi is in sleep mode (RF disabled), and wake-up failed |
54 |
Calling thread would be blocked |
55 |
Station is still in disconnected state |
58 |
Failed to send event to Wi-Fi task |
59 |
Invalid Wi-Fi state |
60 |
Returned when Wi-Fi is stopping |
61 |
Wi-Fi connection is not associated |
62 |
Wi-Fi transmission is not permitted |
63 |
No available stream ID |
64 |
Timeout while receiving TWT setup response |
65 |
Failed to send TWT setup frame |
66 |
TWT setup request rejected by access point |
67 |
Frame discarded |
68 |
Scan operation in progress |
70 |
BLE: InvalidPdu |
71 |
BLE: InsufficientAuthen |
72 |
BLE: ReqNotSupported |
73 |
BLE: InvalidOffset |
74 |
BLE: InsufficientAuthor |
75 |
BLE: PrepareQueueFull |
76 |
BLE: AttrNotFound |
77 |
BLE: AttrNotLong |
78 |
BLE: InsufficientKeySize |
79 |
BLE: InvalidAttrValueSize |
80 |
BLE: Unlikely |
81 |
BLE: InsufficientEnc |
82 |
BLE: UnsupportedGroup |
83 |
BLE: InsufficientRes |
84 |
BLE: DbOutOfSync |
| Value | Description |
|---|---|
0 |
open |
1 |
WEP |
2 |
WPA_PSK |
3 |
WPA2_PSK |
4 |
WPA_WPA2_PSK |
5 |
Wi-Fi EAP security |
6 |
Wi-Fi EAP security |
7 |
WPA3_PSK |
8 |
WPA2_WPA3_PSK |
9 |
WAPI_PSK |
10 |
OWE |
11 |
WPA3_ENT_SUITE_B_192_BIT |
12 |
WIFI_AUTH_WPA3_PSK |
13 |
WIFI_AUTH_WPA3_PSK |
14 |
DPP |
15 |
WPA3-Enterprise Only |
16 |
WPA3-Enterprise Transition |
| Value | Description |
|---|---|
0 |
not used |
1 |
WEP40 |
2 |
WEP104 |
3 |
TKIP |
4 |
CCMP |
5 |
TKIP and CCMP |
6 |
AES-CMAC-128 |
7 |
SMS4 |
8 |
GCMP |
9 |
GCMP-256 |
10 |
AES-GMAC-128 |
11 |
AES-GMAC-256 |
| Value | Description |
|---|---|
1 |
Unknown |
2 |
Authentication expired |
3 |
Deauthenticated because leaving the network |
4 |
Disassociated due to inactivity |
5 |
Too many connected stations |
6 |
Class 2 frame received from non-authenticated STA |
7 |
Class 3 frame received from non-associated STA |
8 |
Disassociated because leaving the network |
9 |
Association without authentication |
10 |
Disassociated due to low power |
11 |
Disassociated due to unsupported channel |
12 |
Disassociated due to BSS transition |
13 |
Invalid information element (IE) |
14 |
MIC verification failed |
15 |
4-way handshake timeout |
16 |
Group key update timeout |
17 |
IE mismatch in 4-way handshake |
18 |
Invalid group cipher |
19 |
Invalid pairwise cipher |
20 |
Invalid AKMP |
21 |
Unsupported RSN IE version |
22 |
Invalid RSN IE capabilities |
23 |
802.1X authentication failed |
24 |
Cipher suite rejected |
25 |
TDLS peer unreachable |
26 |
Unspecified TDLS error |
27 |
SSP requested disconnection |
28 |
No SSP roaming agreement |
29 |
Bad cipher or AKM |
30 |
Not authorized at this location |
31 |
Service change precludes TS |
32 |
Unspecified QoS reason |
33 |
Insufficient bandwidth |
34 |
Missing acknowledgements (ACK) |
35 |
TXOP exceeded |
36 |
Station leaving the network |
37 |
Block acknowledgement (BA) ended |
38 |
Unknown block acknowledgement (BA) |
39 |
Timeout |
46 |
Disconnection initiated by peer |
47 |
Disconnection initiated by access point |
48 |
Invalid number of FT frames |
49 |
Invalid PMKID |
50 |
Invalid MDE |
51 |
Invalid FTE |
67 |
Transmission link setup failed |
68 |
Alternative channel occupied |
200 |
Beacon timeout |
201 |
Access point not found |
202 |
Authentication failed |
203 |
Association failed |
204 |
Handshake timeout |
205 |
Connection failed |
206 |
Access point TSF reset |
207 |
Roaming |
208 |
Association comeback time too long |
209 |
SA query timeout |
210 |
No access point found with compatible security |
211 |
No access point found within authentication threshold |
212 |
No access point found within RSSI threshold |