Releases: espressif/esp-at
v5.0.0.0
v5.0.0.0 Release Notes
v5.0.0.0 is released for ESP32-C5 and ESP32-C61. It is the first released version of AT firmware for ESP32-C5 and ESP32-C61.
ESP32C5-AT
Documentation for Release v5.0.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v5.0.0.0/esp32c5/index.html.
Please contact Espressif Sales or [email protected] for AT firmware suitable for the ESP32-C5 series chips. If you contact us via email, please include "Request ESP32-C5 AT Firmware Download Link" in the subject line, and provide the following information in the email body: your company name, the Espressif product you are using, project name, application scenario, project start date, expected mass production date, project status, annual estimated purchase quantity, and the required AT firmware version.
Known Issues
- When ESP32-C5 is reconnecting to an AP, the
AT+CWMODEcommand may fail when switching Wi-Fi mode (1->3 or 3->1). Workaround: SendAT+CWQAPfirst to stop the reconnection, then sendAT+CWMODEagain.
Features
Basic AT Commands
- AT: Test AT startup.
- AT+RST: Restart a module.
- AT+GMR: Check version information.
- AT+CMD: List all AT commands and types supported in current firmware.
- AT+GSLP: Enter Deep-sleep mode.
- ATE: Configure AT commands echoing.
- AT+RESTORE: Restore factory default settings of the module.
- AT+SAVETRANSLINK: Set whether to enter Network/Bluetooth Passthrough Mode on power-up.
- AT+TRANSINTVL: Set the data transmission interval in the Passthrough Mode.
- AT+UART_CUR: Current UART configuration, not saved in flash.
- AT+UART_DEF: Default UART configuration, saved in flash.
- AT+SLEEP: Set the sleep mode.
- AT+SYSRAM: Query the heap memory status.
- AT+SYSMSG: Query/Set System Prompt Information.
- AT+SYSMSGFILTER: Enable or disable the system message filter.
- AT+SYSMSGFILTERCFG: Query/Set the system message filters.
- AT+SYSFLASH: Query/Set User Partitions in Flash.
- AT+SYSMFG: Query/Set manufacturing nvs User Partitions.
- AT+RFPOWER: Query/Set RF TX Power.
- AT+RFCAL: RF full calibration.
- AT+SYSROLLBACK: Roll back to the previous firmware.
- AT+SYSTIMESTAMP: Query/Set local time stamp.
- AT+SYSLOG: Enable or disable the AT error code prompt.
- AT+SLEEPWKCFG: Query/Set the light-sleep wakeup source and awake GPIO.
- AT+SYSSTORE: Query/Set parameter store mode.
- AT+SYSREG: Read/write the register.
Wi-Fi AT Commands
- AT+CWINIT: Initialize/Deinitialize Wi-Fi driver.
- AT+CWMODE: Set the Wi-Fi mode (Station/SoftAP/Station+SoftAP).
- AT+CWBANDMODE: Query/Set Wi-Fi band mode.
- AT+CWBANDWIDTH: Query/Set Wi-Fi bandwidth.
- AT+CWSTATE: Query the Wi-Fi state and Wi-Fi information.
- AT+CWCONFIG: Query/Set Wi-Fi inactive time and listen interval time.
- AT+CWJAP: Connect to an AP.
- AT+CWRECONNCFG: Query/Set the Wi-Fi reconnecting configuration.
- AT+CWLAPOPT: Set the configuration for the command AT+CWLAP.
- AT+CWLAP: List available APs.
- AT+CWQAP: Disconnect from an AP.
- AT+CWSAP: Query/Set the configuration of an ESP32-C5 SoftAP.
- AT+CWLIF: Obtain IP address of the station that connects to an ESP32-C5 SoftAP.
- AT+CWQIF: Disconnect stations from an ESP32-C5 SoftAP.
- AT+CWDHCP: Enable/disable DHCP.
- AT+CWDHCPS: Query/Set the IPv4 addresses allocated by an ESP32-C5 SoftAP DHCP server.
- AT+CWAUTOCONN: Connect to an AP automatically when powered on.
- AT+CWAPPROTO: Query/Set the Wi-Fi protocol standard of SoftAP mode.
- AT+CWSTAPROTO: Query/Set the Wi-Fi protocol standard of station mode.
- AT+CIPSTAMAC: Query/Set the MAC address of an ESP32-C5 station.
- AT+CIPAPMAC: Query/Set the MAC address of an ESP32-C5 SoftAP.
- AT+CIPSTA: Query/Set the IP address of an ESP32-C5 station.
- AT+CIPAP: Query/Set the IP address of an ESP32-C5 SoftAP.
- AT+CWSTARTSMART: Start SmartConfig.
- AT+CWSTOPSMART: Stop SmartConfig.
- AT+WPS: Enable the WPS function.
- AT+CWHOSTNAME: Query/Set the host name of an ESP32-C5 station.
- AT+CWCOUNTRY: Query/Set the Wi-Fi Country Code.
TCP/IP AT Commands
- AT+CIPV6: Enable/disable the network of Internet Protocol Version 6 (IPv6).
- AT+CIPSTATE: Obtain the TCP/UDP/SSL connection information.
- AT+CIPDOMAIN: Resolve a Domain Name.
- AT+CIPSTART: Establish TCP connection, UDP transmission, or SSL connection.
- AT+CIPSTARTEX: Establish TCP connection, UDP transmission, or SSL connection with an automatically assigned ID.
- [Data Mode Only] +++: Exit from the data mode.
- AT+SAVETRANSLINK: Set whether to enter Wi-Fi Passthrough Mode on power-up.
- AT+CIPSEND: Send data in the normal transmission mode or Wi-Fi normal transmission mode.
- AT+CIPSENDL: Send long data in parallel in the normal transmission mode.
- AT+CIPSENDLCFG: Set the configuration for the command AT+CIPSENDL.
- AT+CIPSENDEX: Send data in the normal transmission mode in expanded ways.
- AT+CIPCLOSE: Close TCP/UDP/SSL connection.
- AT+CIPCONNPERSIST: Query/Set TCP/SSL connection persistence.
- AT+CIFSR: Obtain the local IP address and MAC address.
- AT+CIPMUX: Enable/disable the multiple connections mode.
- AT+CIPSERVER: Delete/create a TCP/SSL server.
- AT+CIPSERVERMAXCONN: Query/Set the maximum connections allowed by a server.
- AT+CIPMODE: Query/Set the transmission mode.
- AT+CIPSTO: Query/Set the local TCP Server Timeout.
- AT+CIPSNTPCFG: Query/Set the time zone and SNTP server.
- AT+CIPSNTPTIME: Query the SNTP time.
- AT+CIPSNTPINTV: Query/Set the SNTP time synchronization interval.
- AT+CIPFWVER: Query the existing AT firmware version on the server.
- AT+CIUPDATE: Upgrade the firmware through Wi-Fi.
- AT+CIPDINFO: Set “+IPD” message mode.
- AT+CIPSSLCCONF: Query/Set SSL clients.
- AT+CIPSSLCCIPHER: Query/Set the cipher suite of the SSL client.
- AT+CIPSSLCCN: Query/Set the Common Name of the SSL client.
- AT+CIPSSLCSNI: Query/Set SSL client Server Name Indication (SNI).
- AT+CIPSSLCALPN: Query/Set SSL client Application Layer Protocol Negotiation (ALPN).
- AT+CIPSSLCPSK: Query/Set SSL client Pre-shared Key (PSK) in string format.
- AT+CIPSSLCPSKHEX: Query/Set SSL client Pre-shared Key (PSK) in hexadecimal format.
- AT+CIPRECONNINTV: Query/Set the TCP/UDP/SSL reconnection interval for the Wi-Fi normal transmission mode.
- AT+CIPRECVTYPE: Query/Set socket receiving mode.
- AT+CIPRECVDATA: Obtain socket data in passive receiving mode.
- AT+CIPRECVLEN: Obtain socket data length in passive receiving mode.
- AT+PING: Ping the remote host.
- AT+CIPDNS: Query/Set DNS server information.
- AT+MDNS: Configure the mDNS function.
- AT+CIPTCPOPT: Query/Set the socket options.
Bluetooth® Low Energy AT Commands
- AT+BLEINIT: Bluetooth LE initialization.
- AT+BLEADDR: Query/Set Bluetooth LE device address.
- AT+BLENAME: Query/Set Bluetooth LE device name.
- AT+BLESCANPARAM: Query/Set parameters of Bluetooth LE scanning.
- AT+BLESCAN: Enable Bluetooth LE scanning.
- AT+BLESCANRSPDATA: Set Bluetooth LE scan response.
- AT+BLEADVPARAM: Query/Set parameters of Bluetooth LE advertising.
- AT+BLEADVDATA: Set Bluetooth LE advertising data.
- AT+BLEADVDATAEX: Automatically set Bluetooth LE advertising data.
- AT+BLEADVSTART: Start Bluetooth LE advertising.
- AT+BLEADVSTOP: Stop Bluetooth LE advertising.
- AT+BLECONN: Establish Bluetooth LE connection.
- AT+BLECONNPARAM: Query/Update parameters of Bluetooth LE connection.
- AT+BLEDISCONN: End Bluetooth LE connection.
- AT+BLECFGMTU: Set Bluetooth LE MTU length.
- AT+BLEGATTSSRV: GATTS discovers services.
- AT+BLEGATTSCHAR: GATTS discovers characteristics.
- AT+BLEGATTSNTFY: Notify a client of the value of a characteristic value from the server.
- AT+BLEGATTSIND: Indicate the characteristic value from the server to a client.
- AT+BLEGATTSSETATTR: GATTS sets characteristics.
- AT+BLEGATTCPRIMSRV: Generic Attributes Client (GATTC) discovers primary services.
- AT+BLEGATTCINCLSRV: GATTC discovers included services.
- AT+BLEGATTCCHAR: GATTC discovers characteristics.
- AT+BLEGATTCRD: GATTC reads characteristics.
- AT+BLEGATTCWR: GATTC writes characteristics.
- AT+BLESPPCFG: Query/Set Bluetooth LE SPP parameters.
- AT+BLESPP: Enter Bluetooth LE SPP mode.
- AT+SAVETRANSLINK: Set whether to enter Bluetooth LE Passthrough Mode on power-up.
- AT+BLESECPARAM: Query/Set Bluetooth LE encryption parameters.
- AT+BLEENC: Initiate Bluetooth LE encryption request.
- AT+BLEKEYREPLY: Reply the key value to the peer device.
- AT+BLECONFREPLY: Reply the confirm value to the peer device in the legacy connection stage.
- AT+BLEENCDEV: Query bonded Bluetooth LE encryption device list.
- AT+BLEENCCLEAR: Clear Bluetooth LE encryption device list.
- AT+BLESETKEY: Set Bluetooth LE static pair key.
- AT+BLUFI: Start or Stop BluFi.
- AT+BLUFINAME: Query/Set BluFi device name.
- AT+BLUFISEND: Send user-customized data over BluFi.
- AT+BLEPERIODICDATA: Set Bluetooth LE periodic advertising data.
- AT+BLEPERIODICSTART: Start Bluetooth LE periodic advertising.
- AT+BLEPERIODICSTOP: Stop Bluetooth LE periodic advertising.
- AT+BLESYNCSTART: Start to synchronize with periodic advertising.
- AT+BLESYNCSTOP: Stop synchronizing with periodic advertising.
- AT+BLEREADPHY: Query the current transmitter PHY.
- AT+BLESETPHY: Set the current transmitter PHY.
MQTT AT Commands
- AT+MQTTUSERCFG: Set MQTT user configuration.
- AT+MQTTLONGCLIENTID: Set MQTT client ID.
- AT+MQTTLONGUSERNAME: Set MQTT username.
- AT+MQTTLONGPASSWORD: Set MQTT password.
- AT+MQTTCONNCFG: Set configuration of MQTT connection.
- AT+MQTTALPN: Set MQTT Application Layer Protocol Negotiation (ALPN).
- AT+MQTTSNI: Set MQTT Server Name Indication (SNI).
- AT+MQTTCONN: Connect to MQTT brokers.
- AT+MQTTPUB: Publish MQTT messages as strings.
- AT+MQTTPUBRAW: Publis...
v2.3.0.0_esp8266
ESP8266-AT Release v2.3.0.0
The documentation for ESP-AT v2.3.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v2.3.0.0_esp8266/
This release is a minor update to ESP-AT v2.2.2.0.
The firmware:
Breaking Changes
- Updated
ESP8266_RTOS_SDKto commit c965e03d, upgrading the bundled mbedtls library fromv2.16.5to commit1d34215a(a few commits afterv3.6.3). Important: If you want to use this version firmware, please ensure your server is compatible with mbedtls commit1d34215abefore proceeding. If it works fine, you can upgrade your products byAT+CIUPDATE=0,"v2.3.0.0".
Feature
- Added the
AT+CIPSSLCCIPHERcommand to configure the SSL cipher‑suite list
Bugfix
- Fixed a potential SSL reconnection failure in passthrough mode when the SNI/CN/PSK/ALPN parameters were set before entering passthrough mode
v4.1.1.0
v4.1.1.0 Release Notes
v4.1.1.0 is released for ESP32-C2, ESP32-C3, ESP32-C6, ESP32, and ESP32-S2. The changes since the previous version are as follows.
ESP32C2-AT
Documentation for Release v4.1.1.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.1.0.0/esp32c2/index.html. ESP32C2-AT v4.1.1.0 is a minor update for ESP32C2-AT v4.1.0.0.
The firmware:
This is the list of changes since release v4.1.0.0:
Known Issues
AT+FSmay fail after repeated read/write operations
Bugfix
- Fixed a potential system hang when using
AT+MQTTSUBwith QoS 1, triggered by a fast SUBACK response from the broker - Fixed a potential system hang when executing
AT+MQTTPUBwith QoS 1 or 2,AT+MQTTSUBwith QoS 1, orAT+MQTTUNSUB, if the ESP does not receive the corresponding PUBACK, SUBACK, or UNSUBACK within 30 seconds,
while MQTT PING messages are still being exchanged normally.
ESP32C3-AT
Documentation for Release v4.1.1.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.1.0.0/esp32c3/index.html. ESP32C3-AT v4.1.1.0 is a minor update for ESP32C3-AT v4.1.0.0.
The firmwares:
This is the list of changes since release v4.1.0.0:
Known Issues
AT+FSmay fail after repeated read/write operations
Bugfix
- Fixed a potential system hang when using
AT+MQTTSUBwith QoS 1, triggered by a fast SUBACK response from the broker - Fixed a potential system hang when executing
AT+MQTTPUBwith QoS 1 or 2,AT+MQTTSUBwith QoS 1, orAT+MQTTUNSUB, if the ESP does not receive the corresponding PUBACK, SUBACK, or UNSUBACK within 30 seconds,
while MQTT PING messages are still being exchanged normally.
ESP32C6-AT
Documentation for Release v4.1.1.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.1.0.0/esp32c6/index.html. ESP32C6-AT v4.1.1.0 is a minor update for ESP32C6-AT v4.1.0.0.
The firmwares:
This is the list of changes since release v4.1.0.0:
Known Issues
AT+FSmay fail after repeated read/write operations
Bugfix
- Fixed a potential system hang when using
AT+MQTTSUBwith QoS 1, triggered by a fast SUBACK response from the broker - Fixed a potential system hang when executing
AT+MQTTPUBwith QoS 1 or 2,AT+MQTTSUBwith QoS 1, orAT+MQTTUNSUB, if the ESP does not receive the corresponding PUBACK, SUBACK, or UNSUBACK within 30 seconds,
while MQTT PING messages are still being exchanged normally.
ESP32-AT
Documentation for Release v4.1.1.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.1.0.0/esp32/index.html. ESP32-AT v4.1.1.0 is a minor update for ESP32-AT v4.1.0.0.
The firmwares:
- ESP32-WROOM-32-AT-V4.1.1.0.zip
- ESP32-SOLO-AT-V4.1.1.0.zip
- ESP32-PICO-D4-AT-V4.1.1.0.zip
- ESP32-MINI-1-AT-V4.1.1.0.zip
This is the list of changes since release v4.1.0.0:
Known Issues
AT+FSmay fail after repeated read/write operations- After sending the
AT+BLUFI=1command, if the device was previously in SoftAP or Station+SoftAP mode, the SoftAP interface may briefly restart.
Bugfix
- Fixed a known issue where
AT+BLUFIafter disabling and re-enabling BLUFI without power cycling, BLE advertising may fail to start. - Fixed a potential system hang when using
AT+MQTTSUBwith QoS 1, triggered by a fast SUBACK response from the broker - Fixed a potential system hang when executing
AT+MQTTPUBwith QoS 1 or 2,AT+MQTTSUBwith QoS 1, orAT+MQTTUNSUB, if the ESP does not receive the corresponding PUBACK, SUBACK, or UNSUBACK within 30 seconds,
while MQTT PING messages are still being exchanged normally.
ESP32S2-AT
Documentation for Release v4.1.1.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.1.0.0/esp32s2/index.html. ESP32S2-AT v4.1.1.0 is a major update for ESP32S2-AT v3.4.0.0.
The firmwares:
This is the list of changes since release v3.4.0.0:
Known Issues
AT+FSmay fail after repeated read/write operations
Changelog
Basic
- Added the
AT+SYSRAMsetup command to detail memory capacity - Added the
AT+SYSROLLBACKquery command to obtain the address and version of the current and rollback firmware - Added the
AT+RFCALcommand to support RF full calibration - Added deduplication support for the
AT+SYSMFGcommand - Added sleep support in the BLE‑only firmware
- Added support to disable sleep when Wi‑Fi and BLE coexist
- Fixed an issue where
AT+SYSMSGFILTERdid not work when the data contained\r\n
Wi-Fi
- Added the
AT+CWBANDWIDTHcommand to set Wi‑Fi bandwidth - Added the
AT+CWCONFIGcommand to set the global inactive time and listen interval - Expand authmode range for
AT+CWLAPOPT,AT+WPS,AT+CWSTARTSMARTandAT+BLUFI - Fixed a station‑connection failure when using
AT+CWJAPafter connecting to an Enterprise AP withAT+CWJEAP - Fixed a crash when setting hostname length to 32 bytes via
AT+CWHOSTNAME - Fixed two WPA2‑Enterprise connection issues
- Fixed a potential Wi‑Fi issue where the device disconnected immediately after powering on and connecting to the AP
- Fixed an issue where
AT+CWLAPdid not return valid APs when BLUFI was enabled - Fixed incorrect Wi‑Fi reconnection behavior after sending the
AT+CWQAPandAT+CWRECONNCFGcommands - Fixed a Wi‑Fi disconnection issue when sending the
AT+CWRECONNCFGcommand twice
TCP/IP
- Added a
netifparameter to theAT+CIPSERVERcommand - Added the
AT+CIPSSLCCIPHERcommand to configure the SSL cipher‑suite list - Added a timeout parameter to the
AT+CIPSTARTandAT+CIPDOMAINcommands - Added support for a backup DNS server in
AT+CIPDNS - Fixed
AT+CWDHCPreturning an incorrect DHCP state after the DHCP server was disabled - Fixed an issue where
AT+CIPRECVLEN?always returned a fixed set of five connections - Fixed several issues where
AT+CIPSTATUSreturned incorrect statuses - Fixed an infinite‑loop issue when the SSL server encountered a PKI read error
- Fixed some potential reconnection issues in passthrough mode
- Fixed an issue where TLS resources were not freed if TLS negotiation failed
- Fixed an issue where
AT+CIPCLOSEcould not close a connection after reaching the maximum number of open sockets - Fixed an issue where the UDP mode in
AT+CIPSTARTdid not work in passive‑read mode - Fixed an asynchronous issue with
AT+CIPRECVLEN - Fixed an issue where
AT+CIPSTOdid not take effect when data transmission failed
mDNS
- Added mDNS query support to
AT+MDNS - Added the
instance,proto, andtxtparameters to theAT+MDNScommand
HTTP
- Added HTTP status‑code output for HTTP commands
- Added the
AT+HTTPCFGcommand to configure certificates for HTTP - Added HTTP‑header deduplication to the
AT+HTTPCHEADcommand
MQTT
- Change MQTT message retransmission interval from 1 second to 5 seconds to improve connection stability
- Fixed an issue where an MQTT QoS 2 PUBREL packet might not be retransmitted
- Fixed a potential system hang when executing
AT+MQTTPUBwith QoS 1 or 2,AT+MQTTSUBwith QoS 1, orAT+MQTTUNSUB, if the ESP does not receive the corresponding PUBACK, SUBACK, or UNSUBACK within 30 seconds,
while MQTT PING messages are still being exchanged normally.
FatFS
- Added FatFS support on 2 MB flash
- Added a data‑length check when writing to FatFS
- Fixed several FatFS mount and unmount issues
- Fixed a mismatch between the generated
fatfs.binsize and the required size - Fixed an issue where FatFS did not work if
fatfs.binwas not pre‑burned before flashing - Fixed an issue where
fwrite()returnedOKbut data was not written to the file system
OTA
- Enabled app rollback support
- Added compressed OTA v3 support and a sanity checker
WebServer
- Fixed a compilation error when WebSocket and info logging we...
v4.1.0.0
v4.1.0.0 Release Notes
v4.1.0.0 is released for ESP32-C2, ESP32-C3, ESP32-C6, and ESP32. The changes since the previous version are as follows.
ESP32C2-AT
Documentation for Release v4.1.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.1.0.0/esp32c2/index.html. ESP32C2-AT v4.1.0.0 is a major update for ESP32C2-AT v3.3.0.0.
The firmware:
This is the list of changes since release v3.3.0.0:
Known Issues
AT+FSmay fail after repeated read/write operations
Changelog
Basic
- Added the
AT+SYSRAMsetup command to detail memory capacity - Added the
AT+SYSROLLBACKquery command to obtain the address and version of the current and rollback firmware - Added the
AT+RFCALcommand to support RF full calibration - Added deduplication support for the
AT+SYSMFGcommand - Added sleep support in the BLE‑only firmware
- Added support to disable sleep when Wi‑Fi and BLE coexist
- Fixed an issue where
AT+SYSMSGFILTERdid not work when the data contained\r\n
Wi-Fi
- Added the
AT+CWBANDWIDTHcommand to set Wi‑Fi bandwidth - Added the
AT+CWCONFIGcommand to set the global inactive time and listen interval - Expand authmode range for
AT+CWLAPOPT,AT+WPS,AT+CWSTARTSMARTandAT+BLUFI - Fixed a station‑connection failure when using
AT+CWJAPafter connecting to an Enterprise AP withAT+CWJEAP - Fixed a crash when setting hostname length to 32 bytes via
AT+CWHOSTNAME - Fixed two WPA2‑Enterprise connection issues
- Fixed a potential Wi‑Fi issue where the device disconnected immediately after powering on and connecting to the AP
- Fixed an issue where
AT+CWLAPdid not return valid APs when BLUFI was enabled - Fixed incorrect Wi‑Fi reconnection behavior after sending the
AT+CWQAPandAT+CWRECONNCFGcommands - Fixed a Wi‑Fi disconnection issue when sending the
AT+CWRECONNCFGcommand twice - Fixed an issue where IPv6 information was output in passthrough mode
TCP/IP
- Added a
netifparameter to theAT+CIPSERVERcommand - Added the
AT+CIPSSLCCIPHERcommand to configure the SSL cipher‑suite list - Added a timeout parameter to the
AT+CIPSTARTandAT+CIPDOMAINcommands - Added support for a backup DNS server in
AT+CIPDNSinAT+CIPDNS - Fixed
AT+CWDHCPreturning an incorrect DHCP state after the DHCP server was disabled - Fixed an issue where
AT+CIPRECVLEN?always returned a fixed set of five connections - Fixed several issues where
AT+CIPSTATUSreturned incorrect statuses - Fixed an infinite‑loop issue when the SSL server encountered a PKI read error
- Fixed some potential reconnection issues in passthrough mode
- Fixed an issue where TLS resources were not freed if TLS negotiation failed
- Fixed an issue where
AT+CIPCLOSEcould not close a connection after reaching the maximum number of open sockets - Fixed an issue where the UDP mode in
AT+CIPSTARTdid not work in passive‑read mode - Fixed an asynchronous issue with
AT+CIPRECVLEN - Fixed an issue where
AT+CIPSTOdid not take effect when data transmission failed
mDNS
- Added mDNS query support to
AT+MDNS - Added the
instance,proto, andtxtparameters to theAT+MDNScommand
HTTP
- Enabled HTTP commands on the
esp32c2‑2mbfirmware - Added HTTP status‑code output for HTTP commands
- Added the
AT+HTTPCFGcommand to configure certificates for HTTP - Added HTTP‑header deduplication to the
AT+HTTPCHEADcommand
MQTT
- Change MQTT message retransmission interval from 1 second to 5 seconds to improve connection stability
- Fixed a potential issue where MQTT subscribe via
AT+MQTTSUBfailed but returnedOK - Fixed an issue where an MQTT QoS 2 PUBREL packet might not be retransmitted
FatFS
- Added FatFS support on 2 MB flash
- Added a data‑length check when writing to FatFS
- Fixed several FatFS mount and unmount issues
- Fixed a mismatch between the generated
fatfs.binsize and the required size - Fixed an issue where FatFS did not work if
fatfs.binwas not pre‑burned before flashing - Fixed an issue where
fwrite()returnedOKbut data was not written to the file system
OTA
- Enabled app rollback support
- Added compressed OTA v3 support and a sanity checker
WebServer
- Fixed a compilation error when WebSocket and info logging were enabled
- Fixed two
slistissues where the pointerfail_itemwas used afterfree - Fixed a potential crash when printing if the SSID length was 32 bytes
- Fixed an issue where AT‑Web netconfig failed when used with the WeChat applet
WebSocket
- Added additional parameters to the
AT+WSCFGcommand to configure certificates in WebSocket
Bluetooth
- Fixed AT command response interleaving issues causing data corruption
- Fixed AT command response issues where the
\rcharacter was missing - Added BLE light sleep support on esp32c2
- Added BLE adv type information
- Fixed missing
+BLESCANDONEissue - Resolved data loss issue in BLE passthrough mode
- Optimized BLE WRITE/INDICATE flow control mechanism
- Fixed crash in BLE transparent transmission mode
- Fixed
AT+BTENCCLEARnot properly clearing BT pairing information - Fixed
BLE_TT_MODEprinted twice in BLE passthrough mode - Fixed missing
+WRITEresponse - Fixed
BLUFImemory leak - Fixed issue where MTU size greater than attribute length caused data transmission failure
- Fixed that
AT+RFPOWERquery not returning BLE power when using nimble protocol - Fixed extra
+BLEDISCONNmessage when sending AT+BLEDISCONN=0
Interface
- Optimized the UART1 clock source
- Fixed a potential crash when AT was not ready but received data
- Fixed a potential UART voltage fluctuation during light sleep
- Fixed some socket interface issues
- Fixed an SDIO compilation warning
- Fixed a heap‑corruption issue when using the SDIO interface
System
esp-idfversion updated to ~v5.4.2- Added an unfilled factory binary
- Added a checker to prevent duplicate keys in
*.defaults - Added some return value checks for driver commands
- Added
pre_wakeup_callbackandprocess_light_sleephook events - Added a hook function for memory allocation failure
- Added the
esp_at_ready_before()API to perform tasks before ESP‑AT is ready - Added the
at_exe_cmd()API to execute AT commands via ESP‑AT itself - Supported the new log system and improved log readability
- Added support to configure the default system storage mode
- Added support to print the firmware source
- Added support to override default configurations
- Optimized resources to increase available RAM
- Reduced power consumption when a beacon is lost
- Optimized the root CMake file
- Decoupled Wi‑Fi and BLE functions from the base commands
- Renamed
esp_at_get_netconn_count()toesp_at_get_netconn_max_count() - Exposed
esp_at_get_smartconfig_start_config()API - Reconfigured TWDT to disable the panic trigger when AT debug is enabled
- Provided some weak symbols to allow external overriding (esp_at_nvs_set_xxx/esp_at_nvs_get_xxx/esp_at_log_write)
- Fixed an issue where the factory binary was not generated in some cases
- Fixed an issue where patches could not be applied on Windows
- Fixed several MCU wake‑up issues
Optimization
TCP & SSL: TCP/SSL connections are now proactively closed immediately when their associated netif state changes (netif down, stop, or lost IP). In previous versions, the connections would remain open until a keep-alive timeout, send timeout, or max retry threshold was reached - often taking tens of seconds to close. This change significantly reduces latency in connection teardown and improves system responsiveness.- Upgraded supported python version and some package versions
- Optimized patching process
- Replaced the previous script with
esptool.py merge_bin - Fixed a potential issue where the patch is applied multiple times
- Fixed an issue where
gatts_cfgwas excessively modified by theat.pyscript
Examples
- Added a
fatfs_to_http_serverexample - Added a
http_get_to_fatfsexample - Added a WebSocket example document
- Added an AT interface security example
Documentation
- Improved documentation for AT commands, examples, and development
- Added richer content for new features and changes
- Added a chatbox on
docs.espressif.com/projects/esp-at - Added a disclaimer for the esp-at project
- Added some document format checks
ESP32C3-AT
Documentation for Release v4.1.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.1.0.0/esp32c3/index.html. ESP32C3-AT v4.1.0.0 is a major update for ESP32C3-AT v3.3.0.0.
The firmwares:
This is the list of changes since release v3.3.0.0:
Known Issues
AT+FSmay fail after repeated read/write operations
Changelog
Basic
- Added the
AT+SYSRAMsetup command to detail memory capacity - Added t...
v2.2.2.0_esp8266
ESP8266 AT Release v2.2.2.0
The documentation for ESP-AT v2.2.2.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v2.2.0.0_esp8266/. This release is a minor update to ESP-AT v2.2.1.0.
Breaking Changes Since Release v2.2.1.0
ESP8266_RTOS_SDKversion update: Upgraded to release v3.4 (ff16a35c).- Disclaimer update: Included an important disclaimer for ESP-AT.
1. Feature
- Added the
AT+USERWKMCUCFGandAT+USERMCUSLEEPcommands to wake up MCU. - Added the
AT+CIPSSLCCIPHERcommand to specify ssl cipher suite. - Added
AT+CIPSTATEcommand to query connection state. - Added fallback DNS server. AT has two DNS servers ("208.67.222.222" and "8.8.8.8") by default.
- Added the
AT+MQTTLONGCLIENTIDcommand to set MQTT client ID. - Added the
AT+MQTTLONGUSERNAMEcommand to set MQTT username. - Added the
AT+MQTTLONGPASSWORDcommand to set MQTT password. AT+WEBSERVER: Wi-Fi provisioning supports the special character in SSID and password.
2. Bugfix
2.1 Wi-Fi
- Fixed an issue where
AT+CWJAPoccasionally returned an incorrect reason code. - Fixed an issue where
AT+CWSTATEoccasionally returned an incorrect state. - Fixed a potential crash when the lSSID length was exactly 32 bytes or the password length was 64 bytes.
- Fixed an issue where
AT+CWLAPoccasionally returned an ERROR. - Fixed an auto-connection issue with WPA2 Enterprise AP. Users should always use
AT+CWJEAPto connect to a WPA2 Enterprise AP. - Fixed an issue where the
+CWJAPerror code might be printed before the "WIFI DISCONNECT" message.
2.2 TCP/IP
- Fixed an issue where the
AT+CIPDNSquery command returned an incorrect configuration. - Fixed an issue where
AT+CIPSERVER=0,1did not correctly close clients connected to the ESP TCP server. - Fixed an issue where setting
AT+CIPSERVER=5returned "Have 255 Connections" sometimes. - Fixed an issue where
AT+CIPTCPOPTsend timeout parameter failed to work sometimes. - Fixed an issue with active TCP data writes in passive mode.
- Fixed an occasional crash in passthrough mode caused by a socket close.
- Fixed
+IPDreport loss when the TCP connection was reopened while AT was acting as a server. - Fixed an occasional failure when
AT+CIPSERVERMAXCONN=5was set. - Fixed an issue where
AT+CIPSTOdid not reset the timer after sending data. - Fixed an ssl connection issue where the connection was dropped after receiving data when
AT+CIPRECVMODE=1was used. - Updated the "+IPD" command to report actual ssl available bytes whenever possible, except when TCP buffers data but SSL does not.
- Fixed a potential illegal assignment issue with the
AT+CIPTCPOPTcommand in multiple connections. - Fixed an issue where
AT+CIPTCPOPTdid not work when ESP-AT operated as a server. - Fixed an issue where
AT+CIPSTARTcould not establish multiple UDP transmissions on the same port. - Fixed an occasional disconnection issue when the link state changed.
- Corrected an invalid maximum number of tcp retransmission.
- Fixed an issue where the maximum parameter length for
AT+CIPSSLCCNandAT+CIPSSLCSNIcould not be set to 64 bytes.
2.3 Application
- Removed extra space in
AT+HTTPCLIENTHEAD response. - Fixed an issue where
AT+HTTPCPOSTresponse returned the wrong command name when additional POST data was appended.
2.4 System
- Fixed an issue of high power consumption after power-on when
AT+CWMODE=0was set. - Fixed a potential issue where uart data was blocked in the RX ring buffer.
- Fixed several potential
busy p...issues occurring occasionally. - Fixed a problem where GPIO15 did not function correctly in custom modules based on ESP8266.
- Fixed an occasional system hang caused by a deadlock.
- Fixed a crash occurring when invalid GPIO wake-up configurations were set.
3. Optimization
- Removed potential NVS writes at startup when dirty data was detected during NVS read operations.
- Enhanced handling of multiple connections by ensuring all available bytes from one link are read before processing the next.
- Added parameters validation for the
AT+CIPTCPOPTcommand.
v3.3.1.0
ESP32-C2 AT Release v3.3.1.0
Documentation for Release v3.3.1.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.3.1.0/esp32c2/index.html. ESP32-C2 AT v3.3.1.0 is the first released version of AT firmware for ESP32-C2 ECO4 (Rev v2.0) series chips.
The firmwares:
Feature
Basic AT Commands
- AT: Test AT startup.
- AT+RST: Restart a module.
- AT+GMR: Check version information.
- AT+CMD: List all AT commands and types supported in current firmware.
- AT+GSLP: Enter Deep-sleep mode.
- ATE: Configure AT commands echoing.
- AT+RESTORE: Restore factory default settings of the module.
- AT+SAVETRANSLINK: Set whether to enter Passthrough Mode on power-up.
- AT+TRANSINTVL: Set the data transmission interval in the Passthrough Mode.
- AT+UART_CUR: Current UART configuration, not saved in flash.
- AT+UART_DEF: Default UART configuration, saved in flash.
- AT+SLEEP: Set the sleep mode.
- AT+SYSRAM: Query current remaining heap size and minimum heap size.
- AT+SYSMSG: Query/Set System Prompt Information.
- AT+SYSMSGFILTER: Enable or disable the system message filter.
- AT+SYSMSGFILTERCFG: Query/Set the system message filters.
- AT+SYSFLASH: Query/Set User Partitions in Flash.
- AT+SYSMFG: Query/Set manufacturing nvs User Partitions.
- AT+RFPOWER: Query/Set RF TX Power.
- AT+SYSROLLBACK: Roll back to the previous firmware.
- AT+SYSTIMESTAMP: Query/Set local time stamp.
- AT+SYSLOG: Enable or disable the AT error code prompt.
- AT+SLEEPWKCFG: Query/Set the light-sleep wakeup source and awake GPIO.
- AT+SYSSTORE: Query/Set parameter store mode.
- AT+SYSREG: Read/write the register.
Wi-Fi AT Commands
- AT+CWINIT: Initialize/Deinitialize Wi-Fi driver.
- AT+CWMODE: Set the Wi-Fi mode (Station/SoftAP/Station+SoftAP).
- AT+CWSTATE: Query the Wi-Fi state and Wi-Fi information.
- AT+CWJAP: Connect to an AP.
- AT+CWRECONNCFG: Query/Set the Wi-Fi reconnecting configuration.
- AT+CWLAPOPT: Set the configuration for the command AT+CWLAP.
- AT+CWLAP: List available APs.
- AT+CWQAP: Disconnect from an AP.
- AT+CWSAP: Query/Set the configuration of an ESP32-C2 SoftAP.
- AT+CWLIF: Obtain IP address of the station that connects to an ESP32-C2 SoftAP.
- AT+CWQIF: Disconnect stations from an ESP32-C2 SoftAP.
- AT+CWDHCP: Enable/disable DHCP.
- AT+CWDHCPS: Query/Set the IPv4 addresses allocated by an ESP32-C2 SoftAP DHCP server.
- AT+CWAUTOCONN: Connect to an AP automatically when powered on.
- AT+CWAPPROTO: Query/Set the 802.11 b/g/n protocol standard of SoftAP mode.
- AT+CWSTAPROTO: Query/Set the 802.11 b/g/n protocol standard of station mode.
- AT+CIPSTAMAC: Query/Set the MAC address of an ESP32-C2 station.
- AT+CIPAPMAC: Query/Set the MAC address of an ESP32-C2 SoftAP.
- AT+CIPSTA: Query/Set the IP address of an ESP32-C2 station.
- AT+CIPAP: Query/Set the IP address of an ESP32-C2 SoftAP.
- AT+CWSTARTSMART: Start SmartConfig.
- AT+CWSTOPSMART: Stop SmartConfig.
- AT+WPS: Enable the WPS function.
- AT+MDNS: Configure the mDNS function.
- AT+CWJEAP: Connect to a WPA2 Enterprise AP.
- AT+CWHOSTNAME: Query/Set the host name of an ESP32-C2 station.
- AT+CWCOUNTRY: Query/Set the Wi-Fi Country Code.
TCP/IP AT Commands
- AT+CIPV6: Enable/disable the network of Internet Protocol Version 6 (IPv6).
- AT+CIPSTATE: Obtain the TCP/UDP/SSL connection information.
- AT+CIPSTATUS (deprecated): Obtain the TCP/UDP/SSL connection status and information.
- AT+CIPDOMAIN: Resolve a Domain Name.
- AT+CIPSTART: Establish TCP connection, UDP transmission, or SSL connection.
- AT+CIPSTARTEX: Establish TCP connection, UDP transmission, or SSL connection with an automatically assigned ID.
- [Data Mode Only] +++: Exit from the data mode.
- AT+SAVETRANSLINK: Set whether to enter Wi-Fi Passthrough Mode on power-up.
- AT+CIPSEND: Send data in the normal transmission mode or Wi-Fi normal transmission mode.
- AT+CIPSENDL: Send long data in paraller in the normal transmission mode.
- AT+CIPSENDLCFG: Set the configuration for the command AT+CIPSENDL.
- AT+CIPSENDEX: Send data in the normal transmission mode in expanded ways.
- AT+CIPCLOSE: Close TCP/UDP/SSL connection.
- AT+CIFSR: Obtain the local IP address and MAC address.
- AT+CIPMUX: Enable/disable the multiple connections mode.
- AT+CIPSERVER: Delete/create a TCP/SSL server.
- AT+CIPSERVERMAXCONN: Query/Set the maximum connections allowed by a server.
- AT+CIPMODE: Query/Set the transmission mode.
- AT+CIPSTO: Query/Set the local TCP Server Timeout.
- AT+CIPSNTPCFG: Query/Set the time zone and SNTP server.
- AT+CIPSNTPTIME: Query the SNTP time.
- AT+CIPSNTPINTV: Query/Set the SNTP time synchronization interval.
- AT+CIPFWVER: Query the existing AT firmware version on the server.
- AT+CIUPDATE: Upgrade the firmware through Wi-Fi.
- AT+CIPDINFO: Set “+IPD” message mode.
- AT+CIPSSLCCONF: Query/Set SSL clients.
- AT+CIPSSLCCN: Query/Set the Common Name of the SSL client.
- AT+CIPSSLCSNI: Query/Set SSL client Server Name Indication (SNI).
- AT+CIPSSLCALPN: Query/Set SSL client Application Layer Protocol Negotiation (ALPN).
- AT+CIPSSLCPSK: Query/Set SSL client Pre-shared Key (PSK) in string format.
- AT+CIPSSLCPSKHEX: Query/Set SSL client Pre-shared Key (PSK) in hexadecimal format.
- AT+CIPRECONNINTV: Query/Set the TCP/UDP/SSL reconnection interval for the Wi-Fi normal transmission mode.
- AT+CIPRECVTYPE: Query/Set socket receiving mode.
- AT+CIPRECVDATA: Obtain socket data in passive receiving mode.
- AT+CIPRECVLEN: Obtain socket data length in passive receiving mode.
- AT+PING: Ping the remote host.
- AT+CIPDNS: Query/Set DNS server information.
- AT+CIPTCPOPT: Query/Set the socket options.
Bluetooth® Low Energy AT Commands (ESP32-C2-4MB-G2 only)
- AT+BLUFI: Start or Stop BluFi.
- AT+BLUFINAME: Query/Set BluFi device name.
- AT+BLUFISEND: Send user-customized data over BluFi.
MQTT AT Commands
- AT+MQTTUSERCFG: Set MQTT user configuration.
- AT+MQTTLONGCLIENTID: Set MQTT client ID.
- AT+MQTTLONGUSERNAME: Set MQTT username.
- AT+MQTTLONGPASSWORD: Set MQTT password.
- AT+MQTTCONNCFG: Set configuration of MQTT connection.
- AT+MQTTALPN: Set MQTT Application Layer Protocol Negotiation (ALPN).
- AT+MQTTSNI: Set MQTT Server Name Indication (SNI).
- AT+MQTTCONN: Connect to MQTT Brokers.
- AT+MQTTPUB: Publish MQTT Messages in string.
- AT+MQTTPUBRAW: Publish long MQTT messages.
- AT+MQTTSUB: Subscribe to MQTT topics.
- AT+MQTTUNSUB: Unsubscribe from MQTT topics.
- AT+MQTTCLEAN: Close MQTT connections.
HTTP AT Commands (ESP32-C2-4MB-G2 only)
- AT+HTTPCLIENT: Send HTTP Client Request.
- AT+HTTPGETSIZE: Get HTTP Resource Size.
- AT+HTTPCGET: Get HTTP Resource.
- AT+HTTPCPOST: Post HTTP data of specified length.
- AT+HTTPCPUT: Put HTTP data of specified length.
- AT+HTTPURLCFG: Set/Get long HTTP URL.
- AT+HTTPCHEAD: Set/Query HTTP request headers.
User AT Commands
- AT+USERRAM: Operate user’s free RAM.
- AT+USEROTA: Upgrade the firmware according to the specified URL.
- AT+USERWKMCUCFG: Configure how AT wakes up MCU.
- AT+USERMCUSLEEP: MCU indicates its sleep state.
- AT+USERDOCS: Query the ESP-AT user guide for current firmware.
v3.2.1.0
v3.2.1.0 Release Notes
v3.2.1.0 is released for ESP32. The changes since the v3.2.0.0 are as follows.
ESP32-AT
Documentation for Release v3.2.1.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.2.0.0/esp32/index.html. ESP32-AT v3.2.1.0 is a minor update for ESP32-AT v3.2.0.0.
The firmwares:
- ESP32-WROOM-32-AT-V3.2.1.0.zip
- ESP32-SOLO-AT-V3.2.1.0.zip
- ESP32-PICO-D4-AT-V3.2.1.0.zip
- ESP32-MINI-1-AT-V3.2.1.0.zip
This is the list of changes since release v3.2.0.0:
Optimization
- Optimized the time cost of the
AT+BLEGATTSSRVCREcommand by removing some logs
v3.4.0.0
v3.4.0.0 Release Notes
v3.4.0.0 is released for ESP32 and ESP32-S2. The changes since the previous version are as follows.
ESP32-AT
Documentation for Release v3.4.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.4.0.0/esp32/index.html. ESP32-AT v3.4.0.0 is a major update for ESP32-AT v3.2.0.0.
The firmwares:
- ESP32-WROOM-32-AT-V3.4.0.0.zip
- ESP32-SOLO-AT-V3.4.0.0.zip
- ESP32-PICO-D4-AT-V3.4.0.0.zip
- ESP32-MINI-1-AT-V3.4.0.0.zip
This is the list of changes since release v3.2.0.0:
Breaking Changes
esp-idfversion updated to v5.0.6RF power: Fixed the issue that the actual wifi transmit power didn't match the settings. The default configuration of wifi transmit power is 19.5 dBm, but the actual wifi transmit power may be slightly lower than the settings. This is because the wifi transmit power is limited by your country code according tophy_multiple_init_data.binconfiguration. In the current version, esp-at disabled multiple phy init data bin to improve the wifi transmit power (rf power is no longer limited by your country code).
1. Feature
1.1 TCP/IP
- Added the
AT+CIPRECVTYPEcommand to set recv mode for each connection AT+CIPRECVLENquery command can return the real data length now
1.2 Application Layer
AT+MQTTCONNCFG: Enlarged lwt msg length to 128 bytes- Added the
AT+MQTTSNIcommand to set MQTT server name indication
2. Bugfix
2.1 Wi-Fi
AT+CWLAP: Fixed an issue where executingAT+CWLAPmay return an ERROR when theAT+CWRECONNCFGcommand is sent immediately after the Wi-Fi disconnection
2.2 TCP/IP
AT+PING: Fixed an issue that cannot ping a linklocal ipv6 address- Fixed an ssl issue where "CLOSED" was output before reading all data in passive mode
- Fixed a potential ssl crash caused when mbedtls dynamic buffer feature is used and an ssl renegotiation occurs
- Fixed an issue where esp-tls is unable to parse ECC keys
2.3 System
- Fixed the issue that AT could not work immediately after restart and prompt ready
- Fixed an
AT+SYSFLASHcrash issue if a large amount of data is read - Fixed a potential GPIO voltage fluctuation issue during light-sleep
2.4 Bluetooth
- Fixed BLE don't print ble connection params update fail issue
- Fixed BLE memory leak issue
3. Optimization
- Optimized sntp startup delay and receive timeout to speed up sntp time acquisition
- Re-organized the gitlab ci
- Re-organized the main directory of the esp-at repository
- Added some debug options to allow different kinds of esp-at debug output
ESP32S2-AT
Documentation for Release v3.4.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.4.0.0/esp32s2/index.html. ESP32S2-AT v3.4.0.0 is a major update for ESP32S2-AT v2.1.0.0.
The firmware:
This is the list of changes since release v2.1.0.0:
Breaking Changes
esp-idfversion updated to v5.0.6
1. Feature
1.1 Basic
Added more Basic AT commands:
- AT+CMD: List all AT commands and types supported in the current firmware.
- AT+TRANSINTVL: Set the data transmission interval in the Passthrough Mode.
- AT+SYSMSGFILTER: Enable or disable the system message filter.
- AT+SYSMSGFILTERCFG: Query/Set the system message filters.
- AT+SYSMFG: Query/Set manufacturing nvs User Partitions.
- AT+SYSREG: Read/write the register.
1.2 Wi-Fi
Added more Wi-Fi AT commands:
- AT+CWINIT: Initialize/Deinitialize Wi-Fi driver.
- AT+CWSTATE: Query the Wi-Fi state and Wi-Fi information.
- AT+CWRECONNCFG: Query/Set the Wi-Fi reconnecting configuration.
1.3 TCP/IP
Added more TCP/IP AT Commands:
- AT+CIPV6: Enable/disable the network of Internet Protocol Version 6 (IPv6).
- AT+CIPSTATE: Obtain the TCP/UDP/SSL connection information.
- AT+CIPSENDL: Send long data in parallel in the normal transmission mode.
- AT+CIPSENDLCFG: Set the configuration for the command AT+CIPSENDL.
- AT+CIPSNTPINTV: Query/Set the SNTP time synchronization interval.
- AT+CIPFWVER: Query the existing AT firmware version on the server.
- AT+CIPSSLCCN: Query/Set the Common Name of the SSL client.
- AT+CIPSSLCSNI: Query/Set SSL client Server Name Indication (SNI).
- AT+CIPSSLCALPN: Query/Set SSL client Application Layer Protocol Negotiation (ALPN).
- AT+CIPSSLCPSK: Query/Set SSL client Pre-shared Key (PSK) in string format.
- AT+CIPSSLCPSKHEX: Query/Set SSL client Pre-shared Key (PSK) in hexadecimal format.
- AT+CIPRECVTYPE: Query/Set socket receiving mode.
1.4 MQTT
Added more MQTT AT Commands:
- AT+MQTTLONGCLIENTID: Set MQTT client ID
- AT+MQTTLONGUSERNAME: Set MQTT username
- AT+MQTTLONGPASSWORD: Set MQTT password
- AT+MQTTALPN: Set MQTT Application Layer Protocol Negotiation (ALPN)
- AT+MQTTSNI: Set MQTT Server Name Indication (SNI)
1.5 HTTP
Added more HTTP AT Commands:
- AT+HTTPCGET: Get HTTP Resource
- AT+HTTPCPOST: Post HTTP data of specified length
- AT+HTTPCPUT: Put HTTP data of specified length
- AT+HTTPURLCFG: Set/Get long HTTP URL
- AT+HTTPCHEAD: Set/Query HTTP request headers
1.6 User
Added new User AT Commands:
- AT+USERRAM: Operate user’s free RAM.
- AT+USEROTA: Upgrade the firmware according to the specified URL.
- AT+USERWKMCUCFG: Configure how AT wakes up MCU.
- AT+USERMCUSLEEP: MCU indicates its sleep state.
- AT+USERDOCS: Query the ESP-AT user guide for the current firmware.
2. Attention
Due to the long time without a new firmware release for ESP32-S2, this release has significant changes. If you want to know more information, please refer to some ESP32 release notes:
v3.3.0.0
v3.3.0.0 Release Notes
v3.3.0.0 is released for ESP32-C2 and ESP32-C3. The changes since the previous version are as follows.
ESP32C2-AT
Documentation for Release v3.3.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.3.0.0/esp32c2/index.html ESP32C2-AT v3.3.0.0 is a major update for ESP32C2-AT v3.1.0.0.
The firmwares:
This is the list of changes since release v3.1.0.0:
Breaking Changes
esp-idfversion updated to v5.0.6
1. Feature
1.1 TCP/IP
- Added the
AT+CIPSSLCPSKHEXcommand to set SSL client pre-shared key in hexadecimal format - Added the
AT+CIPRECVTYPEcommand to set recv mode for each connection AT+CIPRECVLENquery command can return the real data length now
1.2 Application Layer
AT+CIPSNTPCFG: Added timezone query and timezone set when SNTP was disabledAT+MQTTCONNCFG: Enlarged lwt msg length to 128 bytes- Added the
AT+MQTTSNIcommand to set MQTT server name indication
2. Bugfix
2.1 Wi-Fi
AT+CWLAP: Fixed an issue where executingAT+CWLAPmay return an ERROR when theAT+CWRECONNCFGcommand is sent immediately after the Wi-Fi disconnection
2.2 TCP/IP
AT+PING: Fixed an issue that cannot ping a linklocal ipv6 address- Fixed an SSL issue where "CLOSED" was output before reading all data in passive mode
- Fixed a potential SSL crash if mbedtls dynamic buffer feature is used and SSL renegotiation occurs
- Fixed an issue where esp-tls is unable to parse ECC keys
2.3 System
- Fixed the issue that
AT+SYSMFGread operation returned wrong length - Fixed the issue where AT cannot work immediately after restart and prompt ready
- Fixed an
AT+SYSFLASHcrash issue if read a large amount of data
3. Optimization
- Optimized sntp startup delay and receive timeout to speedup sntp time acquisition
- Disabled relinker feature to get rid of potential crashes
- Optimized the available ram size
- Re-organized the gitlab ci
- Re-organized the main directory of the esp-at repository
- Added some debug options to allow different kinds of esp-at debug output
ESP32C3-AT
Documentation for Release v3.3.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.3.0.0/esp32c3/index.html ESP32C3-AT v3.3.0.0 is a major update for ESP32C3-AT v3.2.0.0.
The firmware:
This is the list of changes since release v3.2.0.0:
Breaking Changes
esp-idfversion updated to v5.0.6RF power: Fixed an issue where the actual wifi transmit power didn't match the settings. The default configuration of wifi transmit power is 19.5 dBm, but the actual wifi transmit power may be slightly lower than the settings, this is because the wifi transmit power is limited by your country code according tophy_multiple_init_data.binconfiguration. In the current version, esp-at disabled multiple phy init data bin to improve the wifi transmit power (RF power is no longer limited by your country code).
1. Feature
1.1 TCP/IP
- Added the
AT+CIPRECVTYPEcommand to set recv mode for each connection AT+CIPRECVLENquery command can return the real data length now
1.2 Application Layer
AT+MQTTCONNCFG: Enlarged lwt msg length to 128 bytes- Added the
AT+MQTTSNIcommand to set MQTT server name indication
2. Bugfix
2.1 Wi-Fi
AT+CWLAP: Fixed an issue where executingAT+CWLAPmay return an ERROR when theAT+CWRECONNCFGcommand is sent immediately after the Wi-Fi disconnection- Fixed an issue where init and deinit the wifi could lead to Wi-Fi scan issue
2.2 TCP/IP
AT+PING: Fixed an issue that cannot ping a link-local ipv6 address- Fixed an SSL issue where "CLOSED" was output before reading all data in passive mode
- Fixed a potential SSL crash if mbedtls dynamic buffer feature is used and SSL renegotiation occurs
- Fixed an issue where esp-tls is unable to parse ECC keys
2.3 System
- Fixed the issue where AT cannot work immediately after restart and prompt ready
- Fixed an
AT+SYSFLASHcrash issue if a large amount of data is read
2.4 Bluetooth
- Fixed ble init fail issue
- Fixed ble disconnection will crash issue
- Fixed ble connection timeout issue
3. Optimization
- Optimized SNTP startup delay and receive timeout to speed up SNTP time acquisition
- Re-organized the GitLab CI
- Re-organized the main directory of the esp-at repository
- Added some debug options to allow different kinds of esp-at debug output
v4.0.0.0
ESP32-C6 AT Release v4.0.0.0
Documentation for Release v4.0.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.0.0.0/esp32c6/index.html
ESP32-C6 AT v4.0.0.0 is the first released version of AT firmware for ESP32-C6.
The firmware:
Known Issues
- Unable to use Long Range mode in the AT+CWSTAPROTO and AT+CWAPPROTO commands.
- Deinit BluFi will result in a memory leak.
- The third BLE connection cannot be paired.
- In some scenarios, there may be no prompt to write the attribute value of UUID 0x2902.
Features
Basic AT Commands
- AT: Test AT startup.
- AT+RST: Restart a module.
- AT+GMR: Check version information.
- AT+CMD: List all AT commands and types supported in current firmware.
- AT+GSLP: Enter Deep-sleep mode.
- ATE: Configure AT commands echoing.
- AT+RESTORE: Restore factory default settings of the module.
- AT+SAVETRANSLINK: Set whether to enter Passthrough Mode on power-up.
- AT+TRANSINTVL: Set the data transmission interval in the Passthrough Mode.
- AT+UART_CUR: Current UART configuration, not saved in flash.
- AT+UART_DEF: Default UART configuration, saved in flash.
- AT+SLEEP: Set the sleep mode.
- AT+SYSRAM: Query current remaining heap size and minimum heap size.
- AT+SYSMSG: Query/Set System Prompt Information.
- AT+SYSMSGFILTER: Enable or disable the system message filter.
- AT+SYSMSGFILTERCFG: Query/Set the system message filters.
- AT+SYSFLASH: Query/Set User Partitions in Flash.
- AT+SYSMFG: Query/Set manufacturing nvs User Partitions.
- AT+RFPOWER: Query/Set RF TX Power.
- AT+SYSROLLBACK: Roll back to the previous firmware.
- AT+SYSTIMESTAMP: Query/Set local time stamp.
- AT+SYSLOG: Enable or disable the AT error code prompt.
- AT+SLEEPWKCFG: Query/Set the light-sleep wakeup source and awake GPIO.
- AT+SYSSTORE: Query/Set parameter store mode.
- AT+SYSREG: Read/write the register.
Wi-Fi AT Commands
- AT+CWINIT: Initialize/Deinitialize Wi-Fi driver.
- AT+CWMODE: Set the Wi-Fi mode (Station/SoftAP/Station+SoftAP).
- AT+CWSTATE: Query the Wi-Fi state and Wi-Fi information.
- AT+CWJAP: Connect to an AP.
- AT+CWRECONNCFG: Query/Set the Wi-Fi reconnecting configuration.
- AT+CWLAPOPT: Set the configuration for the command AT+CWLAP.
- AT+CWLAP: List available APs.
- AT+CWQAP: Disconnect from an AP.
- AT+CWSAP: Query/Set the configuration of an ESP32-C6 SoftAP.
- AT+CWLIF: Obtain IP address of the station that connects to an ESP32-C6 SoftAP.
- AT+CWQIF: Disconnect stations from an ESP32-C6 SoftAP.
- AT+CWDHCP: Enable/disable DHCP.
- AT+CWDHCPS: Query/Set the IPv4 addresses allocated by an ESP32-C6 SoftAP DHCP server.
- AT+CWAUTOCONN: Connect to an AP automatically when powered on.
- AT+CWAPPROTO: Query/Set the 802.11 b/g/n protocol standard of SoftAP mode.
- AT+CWSTAPROTO: Query/Set the 802.11 b/g/n protocol standard of station mode.
- AT+CIPSTAMAC: Query/Set the MAC address of an ESP32-C6 station.
- AT+CIPAPMAC: Query/Set the MAC address of an ESP32-C6 SoftAP.
- AT+CIPSTA: Query/Set the IP address of an ESP32-C6 station.
- AT+CIPAP: Query/Set the IP address of an ESP32-C6 SoftAP.
- AT+CWSTARTSMART: Start SmartConfig.
- AT+CWSTOPSMART: Stop SmartConfig.
- AT+WPS: Enable the WPS function.
- AT+MDNS: Configure the mDNS function.
- AT+CWJEAP: Connect to a WPA2 Enterprise AP.
- AT+CWHOSTNAME: Query/Set the host name of an ESP32-C6 station.
- AT+CWCOUNTRY: Query/Set the Wi-Fi Country Code.
TCP/IP AT Commands
- AT+CIPV6: Enable/disable the network of Internet Protocol Version 6 (IPv6).
- AT+CIPSTATE: Obtain the TCP/UDP/SSL connection information.
- AT+CIPSTATUS (deprecated): Obtain the TCP/UDP/SSL connection status and information.
- AT+CIPDOMAIN: Resolve a Domain Name.
- AT+CIPSTART: Establish TCP connection, UDP transmission, or SSL connection.
- AT+CIPSTARTEX: Establish TCP connection, UDP transmission, or SSL connection with an automatically assigned ID.
- [Data Mode Only] +++: Exit from the data mode.
- AT+SAVETRANSLINK: Set whether to enter Wi-Fi Passthrough Mode on power-up.
- AT+CIPSEND: Send data in the normal transmission mode or Wi-Fi normal transmission mode.
- AT+CIPSENDL: Send long data in parallel in the normal transmission mode.
- AT+CIPSENDLCFG: Set the configuration for the command AT+CIPSENDL.
- AT+CIPSENDEX: Send data in the normal transmission mode in expanded ways.
- AT+CIPCLOSE: Close TCP/UDP/SSL connection.
- AT+CIFSR: Obtain the local IP address and MAC address.
- AT+CIPMUX: Enable/disable the multiple connections mode.
- AT+CIPSERVER: Delete/create a TCP/SSL server.
- AT+CIPSERVERMAXCONN: Query/Set the maximum connections allowed by a server.
- AT+CIPMODE: Query/Set the transmission mode.
- AT+CIPSTO: Query/Set the local TCP Server Timeout.
- AT+CIPSNTPCFG: Query/Set the time zone and SNTP server.
- AT+CIPSNTPTIME: Query the SNTP time.
- AT+CIPSNTPINTV: Query/Set the SNTP time synchronization interval.
- AT+CIPFWVER: Query the existing AT firmware version on the server.
- AT+CIUPDATE: Upgrade the firmware through Wi-Fi.
- AT+CIPDINFO: Set “+IPD” message mode.
- AT+CIPSSLCCONF: Query/Set SSL clients.
- AT+CIPSSLCCN: Query/Set the Common Name of the SSL client.
- AT+CIPSSLCSNI: Query/Set SSL client Server Name Indication (SNI).
- AT+CIPSSLCALPN: Query/Set SSL client Application Layer Protocol Negotiation (ALPN).
- AT+CIPSSLCPSK: Query/Set SSL client Pre-shared Key (PSK) in string format.
- AT+CIPSSLCPSKHEX: Query/Set SSL client Pre-shared Key (PSK) in hexadecimal format.
- AT+CIPRECONNINTV: Query/Set the TCP/UDP/SSL reconnection interval for the Wi-Fi normal transmission mode.
- AT+CIPRECVTYPE: Query/Set socket receiving mode.
- AT+CIPRECVDATA: Obtain socket data in passive receiving mode.
- AT+CIPRECVLEN: Obtain socket data length in passive receiving mode.
- AT+PING: Ping the remote host.
- AT+CIPDNS: Query/Set DNS server information.
- AT+CIPTCPOPT: Query/Set the socket options.
Bluetooth® Low Energy AT Commands
- AT+BLEINIT: Bluetooth LE initialization.
- AT+BLEADDR: Query/Set Bluetooth LE device address.
- AT+BLENAME: Query/Set Bluetooth LE device name.
- AT+BLESCANPARAM: Query/Set parameters of Bluetooth LE scanning.
- AT+BLESCAN: Enable Bluetooth LE scanning.
- AT+BLESCANRSPDATA: Set Bluetooth LE scan response.
- AT+BLEADVPARAM: Query/Set parameters of Bluetooth LE advertising.
- AT+BLEADVDATA: Set Bluetooth LE advertising dATa.
- AT+BLEADVDATAEX: AutomATically set Bluetooth LE advertising dATa.
- AT+BLEADVSTART: Start Bluetooth LE advertising.
- AT+BLEADVSTOP: Stop Bluetooth LE advertising.
- AT+BLECONN: Establish Bluetooth LE connection.
- AT+BLECONNPARAM: Query/UpdATe parameters of Bluetooth LE connection.
- AT+BLEDISCONN: End Bluetooth LE connection.
- AT+BLEDATALEN: Set Bluetooth LE dATa packet length.
- AT+BLECFGMTU: Set Bluetooth LE MTU length.
- AT+BLEGATTSSRV: GATTS discovers services.
- AT+BLEGATTSCHAR: GATTS discovers characteristics.
- AT+BLEGATTSNTFY: Notify a client of the value of a characteristic value from the server.
- AT+BLEGATTSIND: IndicATe the characteristic value from the server to a client.
- AT+BLEGATTSSETATTR: GATTS sets characteristics.
- AT+BLEGATTCPRIMSRV: Generic ATtributes Client (GATTC) discovers primary services.
- AT+BLEGATTCINCLSRV: GATTC discovers included services.
- AT+BLEGATTCCHAR: GATTC discovers characteristics.
- AT+BLEGATTCRD: GATTC reads characteristics.
- AT+BLEGATTCWR: GATTC writes characteristics.
- AT+BLESPPCFG: Query/Set Bluetooth LE SPP parameters.
- AT+BLESPP: Enter Bluetooth LE SPP mode.
- AT+SAVETRANSLINK: Set whether to enter Bluetooth LE :term:
Passthrough Modeon power-up. - AT+BLESECPARAM: Query/Set Bluetooth LE encryption parameters.
- AT+BLEENC: InitiATe Bluetooth LE encryption request.
- AT+BLEENCRSP: Respond to the pairing request from the peer device.
- AT+BLEKEYREPLY: Reply the key value to the peer device.
- AT+BLECONFREPLY: Reply the confirm value to the peer device in the legacy connection stage.
- AT+BLEENCDEV: Query bonded Bluetooth LE encryption device list.
- AT+BLEENCCLEAR: Clear Bluetooth LE encryption device list.
- AT+BLESETKEY: Set Bluetooth LE stATic pair key.
- AT+BLEPERIODICDATA: Set Bluetooth LE periodic advertising dATa.
- AT+BLEPERIODICSTART: Start Bluetooth LE periodic advertising.
- AT+BLEPERIODICSTOP: Stop Bluetooth LE periodic advertising.
- AT+BLESYNCSTART: Start to synchronize with periodic advertising.
- AT+BLESYNCSTOP: Stop synchronizing with periodic advertising.
- AT+BLEREADPHY: Query the current transmitter PHY.
- AT+BLESETPHY: Set the current transmitter PHY.
MQTT AT Commands
- AT+MQTTUSERCFG: Set MQTT user configuration.
- AT+MQTTLONGCLIENTID: Set MQTT client ID.
- AT+MQTTLONGUSERNAME: Set MQTT username.
- AT+MQTTLONGPASSWORD: Set MQTT password.
- AT+MQTTCONNCFG: Set configuration of MQTT connection.
- AT+MQTTALPN: Set MQTT Application Layer Protocol Negotiation (ALPN).
- AT+MQTTSNI: Set MQTT Server Name Indication (SNI).
- AT+MQTTCONN: Connect to MQTT Brokers.
- AT+MQTTPUB: Publish MQTT Messages in string.
- AT+MQTTPUBRAW: Publish long MQTT messages.
- AT+MQTTSUB: Subscribe to MQTT topics.
- AT+MQTTUNSUB: Unsubscribe from MQTT topics.
- AT+MQTTCLEAN: Close MQTT connections.
HTTP AT Commands
- AT+HTTPCLIENT: Send HTTP Client Request.
- AT+HTTPGETSIZE: Get HTTP Resource Size.
- AT+HTTPCGET: Get HTTP Resource.
- AT+HTTPCPOST: Post HTTP data of specified length.
- AT+HTTPCPUT: Put HTTP data of specified length.
- AT+HTTPURLCFG: Set/Get long HTTP URL.
- AT+HTTPCHEAD: Set/Query HTTP request headers.
User AT Commands
- AT+USERRAM: Operate user’s...