AT Command Set Comparison ========================= :link_to_translation:`zh_CN:[中文]` This document lists the differences between the AT commands supported by the old NONOS-AT version and those by the new ESP-AT version that you should pay attention to before migrating from the old to new. - NONOS-AT: **Not recommended** version for ESP8266 series of chips since its base SDK, ESP8266_NONOS_SDK, is no longer updated. - ESP-AT: **Recommended** version. It supports all series of chips and a richer set of commands compared with NONOS-AT, such as Bluetooth commands, Bluetooth Low Energy commands, Ethernet commands, driver commands, and so on. For more details about ESP-AT, please refer to :doc:`../Get_Started/What_is_ESP-AT` and :doc:`../AT_Binary_Lists/index`. .. note:: The table below covers all the commands supported by the NONOS-AT, but not all by ESP-AT. See Section :doc:`AT Command Set ` for a full list of commands supported by ESP-AT. The links in the first column of the table point to ESP-AT commands. .. list-table:: AT Command Set Comparison :header-rows: 1 :widths: 25 30 15 30 * - Command - Function - NONOS-AT - ESP-AT * - :ref:`AT ` - Test AT startup - ✅ - ✅ * - :ref:`AT+RST ` - Restart a module - ✅ - ✅ * - :ref:`AT+GMR ` - Check version information - ✅ - ✅ * - :ref:`AT+GSLP ` - Enter Deep-sleep mode - ✅ - ✅ * - :ref:`ATE ` - AT commands echoing - ✅ - ✅ * - :ref:`AT+RESTORE ` - Restore factory default settings - ✅ - ✅ * - :ref:`AT+UART_CUR ` - Current UART configuration, not saved in flash - ✅ - ✅ * - :ref:`AT+UART_DEF ` - Default UART configuration, saved in flash - ✅ - ✅ * - :ref:`AT+SLEEP ` - Set the sleep mode - | ✅ | 1: light sleep | 2: modem sleep - | ESP8266 ✅ | ESP32 ✅ | ESP32-S2 ❌ :sup:`1` * - AT+WAKEUPGPIO - Wakeup from light sleep on GPIO interrupt - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+SLEEPWKCFG ` * - :ref:`AT+RFPOWER ` - Set RF TX Power - | ✅ | Range: [0,82] | Unit: 0.25 dBm - ✅ :sup:`2` * - AT+RFVDD - Set RF TX power according to VDD33 - ✅ - ❌ * - :ref:`AT+SYSRAM ` - Query the remaining space of RAM - ✅ - ✅ Added the parameter of minimum heap size * - AT+SYSADC - Read ADC value - ✅ - ❌ * - AT+SYSIOSETCFG - Set IO working mode - ✅ - ❌ * - AT+SYSIOGETCFG - Query IO working mode - ✅ - ❌ * - AT+SYSGPIODIR - Set GPIO direction - ✅ - ❌ * - AT+SYSGPIOWRITE - Set GPIO output level - ✅ - ❌ * - AT+SYSGPIOREAD - Read GPIO input level - ✅ - ❌ * - :ref:`AT+SYSMSG ` - Set system prompt info - ❌ - ✅ * - AT+SYSMSG_CUR - Set system prompt info, not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+SYSMSG ` * - AT+SYSMSG_DEF - Set default system prompt info, saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+SYSMSG ` * - :ref:`AT+CWMODE ` - Set Wi-Fi mode - ❌ - ✅ Added automatic connection after mode switching * - AT+CWMODE_CUR - Set current Wi-Fi mode, not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWMODE ` * - AT+CWMODE_DEF - Set default Wi-Fi mode, saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWMODE ` * - :ref:`AT+CWJAP ` - Connect to an AP - ✅ - ✅ Added more functionality * - AT+CWJAP_CUR - Connect to an AP, not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWJAP ` * - AT+CWJAP_DEF - Connect to an AP, saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWJAP ` * - :ref:`AT+CWLAPOPT ` - Set configuration for :ref:`AT+CWLAP ` - ✅ - ✅ Added more functionality * - :ref:`AT+CWLAP ` - List available APs - ✅ - ✅ Response is different * - :ref:`AT+CWQAP ` - Disconnect from an AP - ✅ - ✅ * - :ref:`AT+CWSAP ` - Set softAP parameters - ❌ - ✅ * - AT+CWSAP_CUR - Set softAP parameters, not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWSAP ` * - AT+CWSAP_DEF - Set softAP parameters, saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWSAP ` * - :ref:`AT+CWLIF ` - Query info of the station that connects to a softAP - ✅ - ✅ * - :ref:`AT+CWDHCP ` - Set DHCP - ❌ - ✅ * - AT+CWDHCP_CUR - Set DHCP, not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWDHCP ` * - AT+CWDHCP_DEF - Set DHCP, saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWDHCP ` * - :ref:`AT+CWDHCPS ` - Set the IP addresses allocated by an ESP softAP DHCP server - ❌ - ✅ * - AT+CWDHCPS_CUR - Same as above, but not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWDHCPS ` * - AT+CWDHCPS_DEF - Same as above, but saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWDHCPS ` * - :ref:`AT+CWAUTOCONN ` - Connect to an AP automatically when powered on - ✅ - ✅ * - :ref:`AT+CIPSTAMAC ` - Set the MAC address of an ESP station - ❌ - ✅ * - AT+CIPSTAMAC_CUR - Same as above, but not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPSTAMAC ` * - AT+CIPSTAMAC_DEF - Same as above, but saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPSTAMAC ` * - :ref:`AT+CIPAPMAC ` - Set the IP address of an ESP softAP - ❌ - ✅ * - AT+CIPAPMAC_CUR - Same as above, but not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPAPMAC ` * - AT+CIPAPMAC_DEF - Same as above, but saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPAPMAC ` * - :ref:`AT+CIPSTA ` - Set the IP address of an ESP station - ❌ - ✅ * - AT+CIPSTA_CUR - Same as above, but not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPSTA ` * - AT+CIPSTA_DEF - Same as above, but saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPSTA ` * - :ref:`AT+CIPAP ` - Set the IP address of an ESP softAP - ❌ - ✅ * - AT+CIPAP_CUR - Same as above, but not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPAP ` * - AT+CIPAP_DEF - Same as above, but saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPAP ` * - :ref:`AT+CWSTARTSMART ` - Start SmartConfig - ✅ - ✅ * - :ref:`AT+CWSTOPSMART ` - Stop SmartConfig - ✅ - ✅ * - AT+CWSTARTDISCOVER - Enable the mode that an ESP device can be found by WeChat - ✅ - ❌ * - AT+CWSTOPDISCOVER - Disable the mode that an ESP device can be found by WeChat - ✅ - ❌ * - :ref:`AT+WPS ` - Enable the WPS function - ✅ - ✅ * - :ref:`AT+MDNS ` - Configure the mDNS function - ✅ - ✅ * - :ref:`AT+CWJEAP ` - Connect to a WPA2 Enterprise AP - ❌ - | ESP8266 ❌ | ESP32 ✅ | ESP32-S2 ❌ * - AT+CWJEAP_CUR - Same as above, but not saved in flash - ✅ - ❌ * - AT+CWJEAP_DEF - Same as above, but saved in flash - ✅ - ❌ * - :ref:`AT+CWHOSTNAME ` - Set the host name of an ESP station - ✅ - ✅ * - :ref:`AT+CWCOUNTRY ` - Set the Wi-Fi Country Code - ❌ - ✅ * - AT+CWCOUNTRY_CUR - Same as above, but not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWCOUNTRY ` * - AT+CWCOUNTRY_DEF - Same as above, but saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CWCOUNTRY ` * - :ref:`AT+CIPSTATUS ` - Obtain the TCP/UDP/SSL connection status and info - ✅ - ✅ * - :ref:`AT+CIPDOMAIN ` - Resolve a domain name - ✅ - ✅ * - :ref:`AT+CIPSTART ` - Establish a TCP/UDP/SSL connection - ✅ - ✅ * - AT+CIPSSLSIZE - Set SSL buffer size - ✅ - ❌ * - :ref:`AT+CIPSSLCCONF ` - Set SSL clients - ✅ - ✅ Parameters are different * - :ref:`AT+CIPSEND ` - Send data - ✅ - ✅ * - :ref:`AT+CIPSENDEX ` - Send data of specified length, or use ``\0`` to trigger data transmission - ✅ - ✅ * - AT+CIPSENDBUF - Write data into the TCP-Send-Buffer - ✅ - ❌ :sup:`3` * - AT+CIPBUFRESET - Reset the segment ID count - ✅ - ❌ :sup:`3` * - AT+CIPBUFSTATUS - Query the status of the TCP-Send-Buffer - ✅ - ❌ :sup:`3` * - AT+CIPCHECKSEQ - Query if a specific segment was successfully sent - ✅ - ❌ :sup:`3` * - AT+CIPCLOSEMODE - Set the close mode of TCP connection - ✅ - ❌ :sup:`3` * - :ref:`AT+CIPCLOSE ` - Close TCP/UDP/SSL connection - ✅ - ✅ * - :ref:`AT+CIFSR ` - Obtain the local IP address - ✅ - ✅ * - :ref:`AT+CIPMUX ` - Set multiple connections - ✅ - ✅ * - :ref:`AT+CIPSERVER ` - Create a TCP/SSL server - ✅ SSL server not supported - ✅ SSL server supported for ESP32 and ESP32-S2, not for ESP8266 * - :ref:`AT+CIPSERVERMAXCONN ` - Set the maximum connections allowed by a server - ✅ - ✅ * - :ref:`AT+CIPMODE ` - Set the transmission mode - ✅ - ✅ * - :ref:`AT+SAVETRANSLINK ` - Set whether to enter Wi-Fi :term:`Passthrough Mode` on power-up - ✅ - ✅ * - :ref:`AT+CIPSTO ` - Set the local TCP server timeout - ✅ - ✅ * - :ref:`AT+PING ` - Ping the remote host - ✅ - ✅ * - :ref:`AT+CIUPDATE ` - Upgrade the firmware through Wi-Fi - ✅ - ✅ More parameters supported * - :ref:`AT+CIPDINFO ` - Show the remote IP and port with +IPD - ✅ - ✅ * - :ref:`AT+CIPRECVMODE ` - Set TCP Receive Mode - ✅ - ✅ * - :ref:`AT+CIPRECVDATA ` - Get TCP data in passive receive mode - ✅ - ✅ Response is different * - :ref:`AT+CIPRECVLEN ` - Get TCP data length in passive receive mode - ✅ - ✅ * - :ref:`AT+CIPSNTPCFG ` - Set the time zone and SNTP server - ✅ - ✅ Added more functionality * - :ref:`AT+CIPSNTPTIME ` - Query SNTP time - ✅ - ✅ * - :ref:`AT+CIPDNS ` - Set DNS server information - ❌ - ✅ * - AT+CIPDNS_CUR - Same as above, but not saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPDNS ` * - AT+CIPDNS_DEF - Same as above, but saved in flash - ✅ - | ❌ :sup:`3` Similar command: :ref:`AT+CIPDNS ` * - :ref:`AT+SYSFLASH ` - Set user partitions in flash - ❌ - ✅ **Note** 1: AT+SLEEP in ESP-AT: * ESP8266 and ESP32 ✅ * 1: modem sleep by DTIM * 2: light sleep * 3: modem sleep by listen interval * ESP32-S2 ❌ **Note** 2: AT+RFPOWER in ESP-AT: * ESP8266 ✅. Range: [40,82]. Unit: 0.25 dBm * ESP32 ✅. Range: [40,78]. Unit: 0.25 dBm. Support Bluetooth LE. * ESP32-S2 ✅. Range: [40,78]. Unit: 0.25 dBm **Note** 3: This command will not be added to the ESP-AT version.