CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 1k
Releases: espressif/esp-at
v4.1.0.0
Compare
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+FS
may fail after repeated read/write operations
Changelog
Basic
- Added the
AT+SYSRAM
setup command to detail memory capacity - Added the
AT+SYSROLLBACK
query command to obtain the address and version of the current and rollback firmware - Added the
AT+RFCAL
command to support RF full calibration - Added deduplication support for the
AT+SYSMFG
command - Added sleep support in the BLE‑only firmware
- Added support to disable sleep when Wi‑Fi and BLE coexist
- Fixed an issue where
AT+SYSMSGFILTER
did not work when the data contained\r\n
Wi-Fi
- Added the
AT+CWBANDWIDTH
command to set Wi‑Fi bandwidth - Added the
AT+CWCONFIG
command to set the global inactive time and listen interval - Expand authmode range for
AT+CWLAPOPT
,AT+WPS
,AT+CWSTARTSMART
andAT+BLUFI
- Fixed a station‑connection failure when using
AT+CWJAP
after 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+CWLAP
did not return valid APs when BLUFI was enabled - Fixed incorrect Wi‑Fi reconnection behavior after sending the
AT+CWQAP
andAT+CWRECONNCFG
commands - Fixed a Wi‑Fi disconnection issue when sending the
AT+CWRECONNCFG
command twice - Fixed an issue where IPv6 information was output in passthrough mode
TCP/IP
- Added a
netif
parameter to theAT+CIPSERVER
command - Added the
AT+CIPSSLCCIPHER
command to configure the SSL cipher‑suite list - Added a timeout parameter to the
AT+CIPSTART
andAT+CIPDOMAIN
commands - Added support for a backup DNS server in
AT+CIPDNS
inAT+CIPDNS
- Fixed
AT+CWDHCP
returning 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+CIPSTATUS
returned 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+CIPCLOSE
could not close a connection after reaching the maximum number of open sockets - Fixed an issue where the UDP mode in
AT+CIPSTART
did not work in passive‑read mode - Fixed an asynchronous issue with
AT+CIPRECVLEN
- Fixed an issue where
AT+CIPSTO
did not take effect when data transmission failed
mDNS
- Added mDNS query support to
AT+MDNS
- Added the
instance
,proto
, andtxt
parameters to theAT+MDNS
command
HTTP
- Enabled HTTP commands on the
esp32c2‑2mb
firmware - Added HTTP status‑code output for HTTP commands
- Added the
AT+HTTPCFG
command to configure certificates for HTTP - Added HTTP‑header deduplication to the
AT+HTTPCHEAD
command
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+MQTTSUB
failed 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.bin
size and the required size - Fixed an issue where FatFS did not work if
fatfs.bin
was not pre‑burned before flashing - Fixed an issue where
fwrite()
returnedOK
but 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
slist
issues where the pointerfail_item
was 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+WSCFG
command to configure certificates in WebSocket
Bluetooth
- Fixed AT command response interleaving issues causing data corruption
- Fixed AT command response issues where the
\r
character was missing - Added BLE light sleep support on esp32c2
- Added BLE adv type information
- Fixed missing
+BLESCANDONE
issue - Resolved data loss issue in BLE passthrough mode
- Optimized BLE WRITE/INDICATE flow control mechanism
- Fixed crash in BLE transparent transmission mode
- Fixed
AT+BTENCCLEAR
not properly clearing BT pairing information - Fixed
BLE_TT_MODE
printed twice in BLE passthrough mode - Fixed missing
+WRITE
response - Fixed
BLUFI
memory leak - Fixed issue where MTU size greater than attribute length caused data transmission failure
- Fixed that
AT+RFPOWER
query not returning BLE power when using nimble protocol - Fixed extra
+BLEDISCONN
message 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-idf
version 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_callback
andprocess_light_sleep
hook 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_cfg
was excessively modified by theat.py
script
Examples
- Added a
fatfs_to_http_server
example - Added a
http_get_to_fatfs
example - 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+FS
may fail after repeated read/write operations
Changelog
Basic
- Added the
AT+SYSRAM
setup command to detail memory capacity - Added the
AT+SYSROLLBACK
query command to obtain the address and version of the current a...
Assets 2
v2.2.2.0_esp8266
Compare
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_SDK
version update: Upgraded to release v3.4 (ff16a35c).- Disclaimer update: Included an important disclaimer for ESP-AT.
1. Feature
- Added the
AT+USERWKMCUCFG
andAT+USERMCUSLEEP
commands to wake up MCU. - Added the
AT+CIPSSLCCIPHER
command to specify ssl cipher suite. - Added
AT+CIPSTATE
command 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+MQTTLONGCLIENTID
command to set MQTT client ID. - Added the
AT+MQTTLONGUSERNAME
command to set MQTT username. - Added the
AT+MQTTLONGPASSWORD
command 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+CWJAP
occasionally returned an incorrect reason code. - Fixed an issue where
AT+CWSTATE
occasionally 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+CWLAP
occasionally returned an ERROR. - Fixed an auto-connection issue with WPA2 Enterprise AP. Users should always use
AT+CWJEAP
to connect to a WPA2 Enterprise AP. - Fixed an issue where the
+CWJAP
error code might be printed before the "WIFI DISCONNECT" message.
2.2 TCP/IP
- Fixed an issue where the
AT+CIPDNS
query command returned an incorrect configuration. - Fixed an issue where
AT+CIPSERVER=0,1
did not correctly close clients connected to the ESP TCP server. - Fixed an issue where setting
AT+CIPSERVER=5
returned "Have 255 Connections" sometimes. - Fixed an issue where
AT+CIPTCPOPT
send 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
+IPD
report loss when the TCP connection was reopened while AT was acting as a server. - Fixed an occasional failure when
AT+CIPSERVERMAXCONN=5
was set. - Fixed an issue where
AT+CIPSTO
did not reset the timer after sending data. - Fixed an ssl connection issue where the connection was dropped after receiving data when
AT+CIPRECVMODE=1
was 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+CIPTCPOPT
command in multiple connections. - Fixed an issue where
AT+CIPTCPOPT
did not work when ESP-AT operated as a server. - Fixed an issue where
AT+CIPSTART
could 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+CIPSSLCCN
andAT+CIPSSLCSNI
could not be set to 64 bytes.
2.3 Application
- Removed extra space in
AT+HTTPCLIENT
HEAD response. - Fixed an issue where
AT+HTTPCPOST
response 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=0
was 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+CIPTCPOPT
command.
Assets 2
v3.3.1.0
Compare
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.
Assets 2
v3.2.1.0
Compare
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+BLEGATTSSRVCRE
command by removing some logs
Assets 2
v3.4.0.0
Compare
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-idf
version 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.bin
configuration. 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+CIPRECVTYPE
command to set recv mode for each connection AT+CIPRECVLEN
query command can return the real data length now
1.2 Application Layer
AT+MQTTCONNCFG
: Enlarged lwt msg length to 128 bytes- Added the
AT+MQTTSNI
command to set MQTT server name indication
2. Bugfix
2.1 Wi-Fi
AT+CWLAP
: Fixed an issue where executingAT+CWLAP
may return an ERROR when theAT+CWRECONNCFG
command 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+SYSFLASH
crash 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-idf
version 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:
Assets 2
v3.3.0.0
Compare
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-idf
version updated to v5.0.6
1. Feature
1.1 TCP/IP
- Added the
AT+CIPSSLCPSKHEX
command to set SSL client pre-shared key in hexadecimal format - Added the
AT+CIPRECVTYPE
command to set recv mode for each connection AT+CIPRECVLEN
query 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+MQTTSNI
command to set MQTT server name indication
2. Bugfix
2.1 Wi-Fi
AT+CWLAP
: Fixed an issue where executingAT+CWLAP
may return an ERROR when theAT+CWRECONNCFG
command 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+SYSMFG
read operation returned wrong length - Fixed the issue where AT cannot work immediately after restart and prompt ready
- Fixed an
AT+SYSFLASH
crash 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-idf
version 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.bin
configuration. 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+CIPRECVTYPE
command to set recv mode for each connection AT+CIPRECVLEN
query command can return the real data length now
1.2 Application Layer
AT+MQTTCONNCFG
: Enlarged lwt msg length to 128 bytes- Added the
AT+MQTTSNI
command to set MQTT server name indication
2. Bugfix
2.1 Wi-Fi
AT+CWLAP
: Fixed an issue where executingAT+CWLAP
may return an ERROR when theAT+CWRECONNCFG
command 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+SYSFLASH
crash 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
Assets 2
v4.0.0.0
Compare
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 Mode
on 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...
Assets 2
v3.2.0.0
Compare
v3.2.0.0 Release Notes
v3.2.0.0 is released for ESP32 and ESP32-C3. The changes since the previous version are as follows.
ESP32-AT
Documentation for Release v3.2.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.2.0.0/esp32/index.html
ESP32-AT v3.2.0.0 is a major update for ESP32-AT v2.4.0.0.
The firmwares:
- ESP32-WROOM-32-AT-V3.2.0.0.zip
- ESP32-SOLO-AT-V3.2.0.0.zip
- ESP32-PICO-D4-AT-V3.2.0.0.zip
- ESP32-MINI-1-AT-V3.2.0.0.zip
- ESP-AT will not release firmwares for ESP32 WROVER series
This is the list of changes since release v2.4.0.0:
Breaking Changes
esp-idf
version updated to release/v5.0 (24b9d38a)AT+SYSFLASH
: If you previously used v2.4.0.0 firmware and now directly flash v3.2.0.0 firmware, and MCU reads/writes parameters throughAT+SYSFLASH
command, the two versions will return different data, causing incompatibility (because v2.4.0.0 reads/writes parameters using partition method, while v3.2.0.0 uses NVS method). You can choose any of the following methods to resolve the compatibility issue:- Modify MCU code. For v2.4.0.0 firmware version, use
AT+SYSFLASH
command to read/write parameters; for v3.2.0.0 firmware version, useAT+SYSMFG
command to read/write parameters. - Upgrade to v3.2.0.0 firmware using
AT+USEROTA
orAT+CIUPDATE
command instead of directly flashing firmware. - Customize AT firmware. In the firmware released with v2.4.0.0, replace the esp-at.bin file with the esp-at.bin file from v3.1.0.0, and recompile it into a new 4MB firmware.
- Modify MCU code. For v2.4.0.0 firmware version, use
AT+RFPOWER
: The default value of ble tx power changed from 2 to 0
1. Feature
1.1 Wi-Fi
AT+CWSTAPROTO
andAT+CWAPPROTO
commands addedWIFI_PROTOCOL_LR
support- Added the
AT+CWINIT
command to init or deinit Wi-Fi AT+WEBSERVER
: Wi-Fi provisioning supports special characters in SSIDs and passwords
1.2 TCP/IP
- Added the
AT+CIPFWVER?
command to query firmware versions AT+CIUPDATE
: Added CDN network support- Added the
AT+TRANSINTVL
command to support configurable intervals in passthrough mode
1.3 Application Layer
- Added the
AT+MQTTLONGCLIENTID
command to set MQTT client ID - Added the
AT+MQTTLONGUSERNAME
command to set MQTT username - Added the
AT+MQTTLONGPASSWORD
command to set MQTT password - Added the
AT+HTTPCHEAD
commands to set more request headers - Added
AT+HTTPCPUT
command to put HTTP data of specified length AT+HTTPGETSIZE
: Added tx_size, rx_size, timeout parameters- Added WebSocket AT commands
AT+WEBSERVER
: Added the customized partition upgrade functionAT+CIPSNTPCFG
: Added timezone query and timezone set when SNTP was disabled
1.4 System
- Added the
AT+SYSMSGFILTER
andAT+SYSMSGFILTERCFG
commands to filter system messages - Added the
AT+USERWKMCUCFG
andAT+USERMCUSLEEP
commands to wake up MCU - Added
esp_at_get_para_as_float()
API to get the float type parameter
1.5 Bluetooth
AT+BLUFI
: BluFi supports getting AP lists and sending custom dataAT+BLEWL
: Added ble whitelist commandAT+BLUFINAME
: Modified maximum length of BluFi name to 29 bytesAT+SAVETRANSLINK
: Support Bluetooth LE passthrough modeAT+BLERDRSSI
: Support reading the RSSI of Bluetooth LE connection- Support sending exchange MTU requests when init server role
2. Bugfix
2.1 Wi-Fi
- Fixed that Wi-Fi mode was changed after waking up from deep sleep (
AT+GSLP
) - Fixed that
AT+CWQIF
fails to disconnect the station if connected by multiple stations - Fixed that
AT+CWJAP
returned the wrong reason code sometimes - Fixed the crash caused by frequently enabling and disabling web server (
AT+WEBSERVER
) - Fixed that Wi-Fi stopped reconnection if
AT+BLUFI
command was sent - Fixed the issue of occasional network configuration failure in smartconfig (due to the lack of SSID validity check, which resulted in incorrect Wi-Fi auto-connection after power-up, further terminating the smartconfig network configuration).
- Fixed a potential issue that SoftAP could not work if powered down when saving the SoftAP configurations
AT+CWJEAP
: Fixed the issue that theEAP-TLS
method does not work due to the last byte of PKI was not NULL terminated- Fixed that
AT+RFPOWER
command could not set ble tx power when Wi-Fi mode was 0
2.2 TCP/IP
- Fixed that
AT+CIPSTO
could not work in passthrough mode - Fixed that
AT+CIPTCPOPT
cannot work if AT works as a server - Fixed that
AT+CIPTCPOPT
query command may return the wrong keep-alive value - Added a workaround that
AT+CIPCLOSE
might block forever if ESP-AT works as a TCP client andSO_LINGER
option is set (due to the LwIP SO_LINGER issue in some cases) - Fixed that
AT+CIPRECVDATA
may cause a busy p issue - Fixed that
AT+CIPSSLCCONF
,AT+CIPSSLCCN
,AT+CIPSSLCSNI
,AT+CIPSSLCALPN
,AT+CIPSSLCPSK
,AT+CIPTCPOPT
returns multiple items in single connection - Fixed a type and remote host parameter unmatched issue in
AT+CIPSTART
command - Fixed a potential crash if the hostname length is bigger than 64 bytes in
AT+CIPSTART
command AT+CIPSEND
: Fixed a data sent issue due to the changed link_id- Fixed that
AT+CIUPDATE
returned ERROR if the OTA server returned too many OTA versions - Fixed that
AT+CIPSTART
could not establish multiple UDP transmissions on the same port - Fixed the issue of TLS connection failures caused by incorrect CN settings
- Fixed the issue of returning OK when setting
AT+CIPSERVER
twice
2.3 Application Layer
- Fixed that
AT+HTTPURLCFG?
returned the wrong URL - Fixed that
rx_size
parameter could not work when set to 0 inAT+HTTPCGET
command - Fixed that
AT+HTTPCPOST
response returns the wrong command name if appended more post data - Fixed the issue of AT blocking when MQTT broker actively closed MQTT client connection
2.4 System
- Fixed that busy p issue if an SSL connection was established and data was read in a weak network
- Fixed that GPIO32/GPIO33 could not work as UART pins due to conflict with the external 32 KHz crystal oscillator configuration
- Fixed that
esp_at_port_write_data()
crashed if input length < 0 - Fixed the high power consumption in light sleep if set the wake-up source
- Fixed the memory leak issue of
AT+FS
command SPI
: Fixed a global issue where incorrect length was returned when reading data by SPI (For example, AT+HTTPCPOST command cannot read out all the data from SPI due to wanted data length being returned instead of the actual data length)
2.5 Bluetooth
- Fixed that device name was missing in adv packets
- Fixed some BluFi issues
- Fixed the issue of occasional restart caused by the AT+BLEGATTCPRIMSRV=0 command
- Fixed the ble tx power set fail issue
2.6 Tools
- Fixed that factory firmware cannot be generated on Windows OS
build.py
: Installed compilation environment depends on the targetbuild.py
: Used the python of esp-idf environment instead of external deprecated pythonat.py
Support modifying manufacturing NVS
3. Optimization
- Refactored the storage mode of factory parameters to use the manufacturing NVS operation instead of partition operation. (see Why are we using manufacturing nvs way on the master? for more details)
- Simplified GitHub CI workflow
- Enabled power_management for the station when disconnected (Chip will do modem-sleep when rf module is not in use any more)
- Disable PMF to improve Wi-Fi compatibility when AT works in SoftAP mode
- Used Python to generate fatfs.bin instead of the deprecated mkfatfs component
- Support jihulab redirects in
build.py
- Migrated AT firmware resources from
download.espressif.com
server todl.espressif.com
server - Enhanced the documentation with the addition of more and detailed descriptions and addressed some document errors.
ESP32C3-AT
Documentation for Release v3.2.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.2.0.0/esp32c3/index.html
ESP32C3-AT v3.2.0.0 is a major update for ESP32C3-AT v2.4.2.0.
The firmwares:
This is the list of changes since release v2.4.2.0:
Breaking Changes
esp-idf
version updated to release/v5.0 (24b9d38a)AT+SYSFLASH
: If you previously used v2.4.0.0 firmware and now directly flash v3.2.0.0 firmware, and MCU reads/writes parameters throughAT+SYSFLASH
command, the two versions will return different data, causing incompatibility (because v2.4.0.0 reads/writes parameters using partition method, while v3.2.0.0 uses NVS method). You can choose any of the following methods to resolve the compatibility issue:- Modify MCU code. For v2.4.0.0 firmware version, use
AT+SYSFLASH
command to read/write parameters; for v3.2.0.0 firmware version, useAT+SYSMFG
command to read/write parameters. - Upgrade to v3.2.0.0 fir...
- Modify MCU code. For v2.4.0.0 firmware version, use
Assets 2
v3.1.0.0
Compare
ESP32-C2 AT Release v3.1.0.0
Documentation for Release v3.1.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.1.0.0/esp32c2/index.html
ESP32-C2 AT v3.1.0.0 is a major update for ESP32C2-AT v3.0.0.0.
Changelog
This is the list of changes since release v3.0.0.0:
Breaking Changes
AT+SYSFLASH
: If you previously used v3.0.0.0 firmware and now directly flash v3.1.0.0 firmware with 2MB or 4MB, and MCU reads/writes parameters throughAT+SYSFLASH
command, the two versions will return different data, causing incompatibility (because v3.0.0.0 reads/writes parameters using partition method, while v3.1.0.0 uses NVS method). You can choose any of the following methods to resolve the compatibility issue:- Modify MCU code. For v3.0.0.0 firmware version, use
AT+SYSFLASH
command to read/write parameters; for v3.1.0.0 firmware version, use AT+SYSMFG command to read/write parameters. - Upgrade to v3.1.0.0 firmware using AT+USEROTA or
AT+CIUPDATE
command instead of directly flashing 2MB or 4MB firmware. - Customize AT firmware. In the firmware released with v3.0.0.0, replace the esp-at.bin file with the esp-at.bin file from v3.1.0.0, and recompile it into a new 2MB or 4MB firmware.
- Modify MCU code. For v3.0.0.0 firmware version, use
Known Issue
- Cannot set ble tx power.
- Wi-Fi and Bluetooth commands cannot be used at the same time due to lack of ram.
- The time obtained by SNTP will be reset to 1970 after the chip soft restart.
1. Feature
Basic AT Commands
- Added
AT+RST
setup command to enable the chip to enter firmware downloading 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.- Added
AT+TRANSINTVL
command to support configurable interval in passthrough mode.
Wi-Fi AT Commands
TCP/IP AT Commands
AT+CIUPDATE
supports CDN network
Bluetooth® Low Energy AT Commands (ESP32C2-4MB only)
The following commands are not supported in default ESP32C2-4MB firmware, but you can enable them according to guide.
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+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.
MQTT AT Commands
HTTP AT Commands (ESP32C2-4MB only)
AT+HTTPCHEAD
: Set/Query HTTP request headers.
User AT Commands
WebSocket AT Commands
The following commands are not supported in default ESP32C2-4MB firmware, but you can enable them according to guide.
AT+WSCFG
: Set the WebSocket configuration.AT+WSOPEN
: Query/Open a WebSocket connection.AT+WSSEND
: Send data to a WebSocket connection.AT+WSCLOSE
: Close a WebSocket connection.
2. Bugfix
Basic AT Commands
- Fixed the high power consumption if the wake-up was set.
Wi-Fi AT Commands
- Fixed that Wi-Fi could not auto-reconnect after
AT+BLUFI
command was sent.
TCP/IP AT Commands
- Fixed the potential crash if the hostname length was greater than or equal to 64 bytes.
- Fixed that UDP could not establish multiple connections on the same port.
- Fixed that TLS connection could not be established due to no SNI.
- Fixed the issue of returning OK when setting
AT+CIPSERVER
command for the second time with a different configuration.
Bluetooth® Low Energy AT Commands (ESP32C2-4MB only)
- Fixed that BluFi could not set the device name.
- Fixed that BluFi could not encrypt customer data.
MQTT AT Commands
- Fixed the memory leak when MQTT used a long client ID, username, or password.
User AT Commands
3. Optimization
- Provided more free heap size for users.
- For 2MB flash size: free heap size increased from 83068 bytes to 98248 bytes. (About 15 KB)
- For 4MB flash size: free heap size increased from 59628 bytes to 74964 bytes. (About 15 KB)
- Refactored the storage mode of factory parameters to use the manufacturing NVS operation instead of partition operation. (This optimization is compatible with previous firmware versions and does not affect the functionality after upgrading via OTA for users, except for the AT+SYSFLASH command.)
- Added the parameters validity check for
AT+RFPOWER
command.
Assets 2
v3.0.0.0
Compare
ESP32-C2 AT Release v3.0.0.0
Documentation for Release v3.0.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.0.0.0/esp32c2/index.html
The firmwares:
ESP32-C2-4MB_AT_Bin_V3.0.0.0.zip
ESP32-C2-2MB_AT_Bin_V3.0.0.0.zip
ESP32-C2 AT v3.0.0.0 is the first released version of AT firmware for ESP32-C2.
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+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+SYSFLASH: Query/Set User Partitions in Flash.
- AT+RFPOWER: Query/Set RF TX Power.
- AT+SYSROLLBACK: Roll back to the previous firmware. (ESP32C2-4MB only)
- 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+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 ESP SoftAP.
- AT+CWLIF: Obtain IP address of the station that connects to an ESP SoftAP.
- AT+CWQIF: Disconnect stations from an ESP SoftAP.
- AT+CWDHCP: Enable/disable DHCP.
- AT+CWDHCPS: Query/Set the IP addresses allocated by an ESP 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 ESP station.
- AT+CIPAPMAC: Query/Set the MAC address of an ESP SoftAP.
- AT+CIPSTA: Query/Set the IP address of an ESP station.
- AT+CIPAP: Query/Set the IP address of an ESP SoftAP.
- AT+CWSTARTSMART: Start SmartConfig.
- AT+CWSTOPSMART: Stop SmartConfig.
- AT+WPS: Enable the WPS function.
- AT+MDNS: Configure the mDNS function.
- AT+CWHOSTNAME: Query/Set the host name of an ESP 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+CIPSTATUS: 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.
- [Passthrough Mode Only] +++: Exit the passthrough mode.
- AT+CIPSEND: Send data in the normal transmission mode or Wi-Fi passthrough 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+SAVETRANSLINK: Set whether to enter Wi-Fi passthrough mode on power-up.
- 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).
- AT+CIPRECONNINTV: Query/Set the TCP/UDP/SSL reconnection interval for the Wi-Fi passthrough mode.
- AT+CIPRECVMODE: 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 (ESP32C2-4MB 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+MQTTCONN: Connect to MQTT Brokers
- AT+MQTTPUB: Publish MQTT Messages in string
- AT+MQTTPUBRAW: Publish MQTT messages in binary
- AT+MQTTSUB: Subscribe to MQTT topics
- AT+MQTTUNSUB: Unsubscribe from MQTT topics
- AT+MQTTCLEAN: Close MQTT connections
HTTP AT Commands (ESP32C2-4MB 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
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.