CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 1k
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 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
- 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 - Fixed missing
+BLECONN
issue with system message enabled in BLE passthrough mode - Fixed
AT+BTENCCLEAR
not properly clearing BT pairing information - Fixed
BLE_TT_MODE
printed twice in BLE passthrough mode when using nimble protocol - Fixed missing
+BLESCANDONE
when stopping BLE scan - Fixed missing
+WRITE
when BLE peer device writes data - Removed redundant print information
- Fixed memory leak during the service discovery process
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
ESP32C6-AT
Documentation for Release v4.1.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.1.0.0/esp32c6/index.html. ESP32C6-AT v4.1.0.0 is a major update for ESP32C6-AT v4.0.0.0.
The firmwares:
- ESP32-C6-4MB-AT-V4.1.0.0.zip
This is the list of changes since release v4.0.0.0: 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
- Fixed an
AT+SYSFLASH
crash issue if read a large amount of data - Added support for configurable UART commands
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 - Added Wi‑Fi negotiated PHY‑mode output
- Expand authmode range for
AT+CWLAPOPT
,AT+WPS
,AT+CWSTARTSMART
andAT+BLUFI
- Extended the Wi‑Fi protocol range for the
AT+CWSTAPROTO
andAT+CWAPPROTO
commands - 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
- Fixed an issue where
AT+CWAUTOCONN
did not take effect for Enterprise APs
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 - Enabled the SSL dynamic buffer to increase available RAM size
- Added support for a backup DNS server in
AT+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 - Fixed an issue where two
CLOSED
messages were output after exiting passthrough mode - Fixed incorrect output when a socket was readable but returned zero bytes
mDNS
- Added mDNS query support to
AT+MDNS
- Added the
instance
,proto
, andtxt
parameters to theAT+MDNS
command
HTTP
- 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 - Added support for configurable HTTP buffer size
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
- Fixed an issue where Wi‑Fi did not auto‑reconnect after obtaining an IP address and disconnecting while the web server was in use
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 BLE not working in silence firmware on esp32c6
- Fixed AT command response issues where the
\r
character was missing - Added BLE light sleep support on esp32c6
- 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
AT+RFPOWER
query not returning BLE power when using nimble protocol - Fixed extra
+BLEDISCONN
message issue 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 - Added more prompt messages during compilation
- Reorganized the main directory of the ESP‑AT repository
- Supported the new log system and improved log readability
- Added support to use an external
module_config
to override the internal one - Added support for AT command overrides
- 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
- Updated the license and code style to satisfy
pre‑commit
checks - 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
- Fixed a compile error if no internet
- Fixed the issue where AT cannot work immediately after restart and prompt ready
- Added debug options to allow different levels of ESP‑AT debug output
- 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
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 document format checks
ESP32-AT
Documentation for Release v4.1.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v4.1.0.0/esp32/index.html. ESP32-AT v4.1.0.0 is a major update for ESP32-AT v3.4.0.0.
The firmwares:
- ESP32-WROOM-32-AT-V4.1.0.0.zip
- ESP32-SOLO-AT-V4.1.0.0.zip
- ESP32-PICO-D4-AT-V4.1.0.0.zip
- ESP32-MINI-1-AT-V4.1.0.0.zip
This is the list of changes since release v3.4.0.0:
Known Issues
AT+FS
may fail after repeated read/write operationsAT+BLUFI
after disabling and re-enabling BLUFI without power cycling, BLE advertising may fail to start. Workaround: Restart the chip or set Wi-Fi mode to STA/NULL.
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
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
- 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
- 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
Ethernet
- Supported to use ethernet interface only mode
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 missing
+BLECONN
issue with system message enabled in BLE passthrough mode - Fixed
AT+BTENCCLEAR
not properly clearing BT pairing information - Fixed
BLE_TT_MODE
printed twice in BLE passthrough mode when using nimble protocol - Fixed missing
+BLESCANDONE
when stopping BLE scan - Fixed missing
+WRITE
when the BLE peer device writes data - Removed redundant print information
- Fixed the memory leak issue during the service discovery process
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 a low throughput issue on esp32
- 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
- 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()
- Moved some wifi iram code to flash on esp32
- 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)
- Reduced iram footprint by enabling
CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH
on esp32 - 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
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 document format checks