Skip to content

Error Codes Reference

This section lists various error code constants defined in ESP-IDF.

For general information about error codes in ESP-IDF, see Error Handling.

ESP_FAIL (-1): Generic esp_err_t code indicating failure

ESP_OK (0): esp_err_t value indicating success (no error)

ESP_ERR_NO_MEM (0x101) : Out of memory

ESP_ERR_INVALID_ARG (0x102) : Invalid argument

ESP_ERR_INVALID_STATE (0x103) : Invalid state

ESP_ERR_INVALID_SIZE (0x104) : Invalid size

ESP_ERR_NOT_FOUND (0x105) : Requested resource not found

ESP_ERR_NOT_SUPPORTED (0x106) : Operation or feature not supported

ESP_ERR_TIMEOUT (0x107) : Operation timed out

ESP_ERR_INVALID_RESPONSE (0x108) : Received response was invalid

ESP_ERR_INVALID_CRC (0x109) : CRC or checksum was invalid

ESP_ERR_INVALID_VERSION (0x10a) : Version was invalid

ESP_ERR_INVALID_MAC (0x10b) : MAC address was invalid

ESP_ERR_NOT_FINISHED (0x10c) : Operation has not fully completed

ESP_ERR_NOT_ALLOWED (0x10d) : Operation is not allowed

ESP_ERR_NVS_BASE (0x1100) : Starting number of error codes

ESP_ERR_NVS_NOT_INITIALIZED (0x1101) : The storage driver is not initialized

ESP_ERR_NVS_NOT_FOUND (0x1102) : A requested entry couldn't be found or namespace doesn’t exist yet and mode is NVS_READONLY

ESP_ERR_NVS_TYPE_MISMATCH (0x1103) : The type of set or get operation doesn't match the type of value stored in NVS

ESP_ERR_NVS_READ_ONLY (0x1104) : Storage handle was opened as read only

ESP_ERR_NVS_NOT_ENOUGH_SPACE (0x1105) : There is not enough space in the underlying storage to save the value

ESP_ERR_NVS_INVALID_NAME (0x1106) : Namespace name doesn’t satisfy constraints

ESP_ERR_NVS_INVALID_HANDLE (0x1107) : Handle has been closed or is NULL

ESP_ERR_NVS_REMOVE_FAILED (0x1108) : The value wasn’t updated because flash write operation has failed. The value was written however, and update will be finished after re-initialization of nvs, provided that flash operation doesn’t fail again.

ESP_ERR_NVS_KEY_TOO_LONG (0x1109) : Key name is too long

ESP_ERR_NVS_PAGE_FULL (0x110a) : Internal error; never returned by nvs API functions

ESP_ERR_NVS_INVALID_STATE (0x110b) : NVS is in an inconsistent state due to a previous error. Call nvs_flash_init and nvs_open again, then retry.

ESP_ERR_NVS_INVALID_LENGTH (0x110c) : String or blob length is not sufficient to store data

ESP_ERR_NVS_NO_FREE_PAGES (0x110d) : NVS partition doesn't contain any empty pages. This may happen if NVS partition was truncated. Erase the whole partition and call nvs_flash_init again.

ESP_ERR_NVS_VALUE_TOO_LONG (0x110e) : Value doesn't fit into the entry or string or blob length is longer than supported by the implementation

ESP_ERR_NVS_PART_NOT_FOUND (0x110f) : Partition with specified name is not found in the partition table

ESP_ERR_NVS_NEW_VERSION_FOUND (0x1110) : NVS partition contains data in new format and cannot be recognized by this version of code

ESP_ERR_NVS_XTS_ENCR_FAILED (0x1111) : XTS encryption failed while writing NVS entry

ESP_ERR_NVS_XTS_DECR_FAILED (0x1112) : XTS decryption failed while reading NVS entry

ESP_ERR_NVS_XTS_CFG_FAILED (0x1113) : XTS configuration setting failed

ESP_ERR_NVS_XTS_CFG_NOT_FOUND (0x1114) : XTS configuration not found

ESP_ERR_NVS_ENCR_NOT_SUPPORTED (0x1115) : NVS encryption is not supported in this version

ESP_ERR_NVS_KEYS_NOT_INITIALIZED (0x1116) : NVS key partition is uninitialized

ESP_ERR_NVS_CORRUPT_KEY_PART (0x1117) : NVS key partition is corrupt

ESP_ERR_NVS_CONTENT_DIFFERS (0x1118) : Internal error; never returned by nvs API functions. NVS key is different in comparison

ESP_ERR_NVS_WRONG_ENCRYPTION (0x1119) : NVS partition is marked as encrypted with generic flash encryption. This is forbidden since the NVS encryption works differently.

ESP_ERR_ULP_BASE (0x1200) : Offset for ULP-related error codes

ESP_ERR_ULP_SIZE_TOO_BIG (0x1201) : Program doesn't fit into RTC memory reserved for the ULP

ESP_ERR_ULP_INVALID_LOAD_ADDR (0x1202) : Load address is outside of RTC memory reserved for the ULP

ESP_ERR_ULP_DUPLICATE_LABEL (0x1203) : More than one label with the same number was defined

ESP_ERR_ULP_UNDEFINED_LABEL (0x1204) : Branch instructions references an undefined label

ESP_ERR_ULP_BRANCH_OUT_OF_RANGE (0x1205) : Branch target is out of range of B instruction (try replacing with BX)

ESP_ERR_OTA_BASE (0x1500) : Base error code for ota_ops api

ESP_ERR_OTA_PARTITION_CONFLICT (0x1501) : Error if request was to write or erase the current running partition

ESP_ERR_OTA_SELECT_INFO_INVALID (0x1502) : Error if OTA data partition contains invalid content

ESP_ERR_OTA_VALIDATE_FAILED (0x1503) : Error if OTA app image is invalid

ESP_ERR_OTA_SMALL_SEC_VER (0x1504) : Error if the firmware has a secure version less than the running firmware.

ESP_ERR_OTA_ROLLBACK_FAILED (0x1505) : Error if flash does not have valid firmware in passive partition and hence rollback is not possible

ESP_ERR_OTA_ROLLBACK_INVALID_STATE (0x1506) : Error if current active firmware is still marked in pending validation state (ESP_OTA_IMG_PENDING_VERIFY), essentially first boot of firmware image post upgrade and hence firmware upgrade is not possible

ESP_ERR_EFUSE (0x1600) : Base error code for efuse api.

ESP_OK_EFUSE_CNT (0x1601) : OK the required number of bits is set.

ESP_ERR_EFUSE_CNT_IS_FULL (0x1602) : Error field is full.

ESP_ERR_EFUSE_REPEATED_PROG (0x1603) : Error repeated programming of programmed bits is strictly forbidden.

ESP_ERR_CODING (0x1604) : Error while a encoding operation.

ESP_ERR_NOT_ENOUGH_UNUSED_KEY_BLOCKS (0x1605) : Error not enough unused key blocks available

ESP_ERR_DAMAGED_READING (0x1606) : Error. Burn or reset was done during a reading operation leads to damage read data. This error is internal to the efuse component and not returned by any public API.

ESP_ERR_IMAGE_BASE (0x2000)

ESP_ERR_IMAGE_FLASH_FAIL (0x2001)

ESP_ERR_IMAGE_INVALID (0x2002)

ESP_ERR_WIFI_BASE (0x3000) : Starting number of WiFi error codes

ESP_ERR_WIFI_NOT_INIT (0x3001) : WiFi driver was not installed by esp_wifi_init

ESP_ERR_WIFI_NOT_STARTED (0x3002) : WiFi driver was not started by esp_wifi_start

ESP_ERR_WIFI_NOT_STOPPED (0x3003) : WiFi driver was not stopped by esp_wifi_stop

ESP_ERR_WIFI_IF (0x3004) : WiFi interface error

ESP_ERR_WIFI_MODE (0x3005) : WiFi mode error

ESP_ERR_WIFI_STATE (0x3006) : WiFi internal state error

ESP_ERR_WIFI_CONN (0x3007) : WiFi internal control block of station or soft-AP error

ESP_ERR_WIFI_NVS (0x3008) : WiFi internal NVS module error

ESP_ERR_WIFI_MAC (0x3009) : MAC address is invalid

ESP_ERR_WIFI_SSID (0x300a) : SSID is invalid

ESP_ERR_WIFI_PASSWORD (0x300b) : Password is invalid

ESP_ERR_WIFI_TIMEOUT (0x300c) : Timeout error

ESP_ERR_WIFI_WAKE_FAIL (0x300d) : WiFi is in sleep state(RF closed) and wakeup fail

ESP_ERR_WIFI_WOULD_BLOCK (0x300e) : The caller would block

ESP_ERR_WIFI_NOT_CONNECT (0x300f) : Station still in disconnect status

ESP_ERR_WIFI_POST (0x3012) : Failed to post the event to WiFi task

ESP_ERR_WIFI_INIT_STATE (0x3013) : Invalid WiFi state when init/deinit is called

ESP_ERR_WIFI_STOP_STATE (0x3014) : Returned when WiFi is stopping

ESP_ERR_WIFI_NOT_ASSOC (0x3015) : The WiFi connection is not associated

ESP_ERR_WIFI_TX_DISALLOW (0x3016) : The WiFi TX is disallowed

ESP_ERR_WIFI_TWT_FULL (0x3017) : no available flow id

ESP_ERR_WIFI_TWT_SETUP_TIMEOUT (0x3018) : Timeout of receiving twt setup response frame, timeout times can be set during twt setup

ESP_ERR_WIFI_TWT_SETUP_TXFAIL (0x3019) : TWT setup frame tx failed

ESP_ERR_WIFI_TWT_SETUP_REJECT (0x301a) : The twt setup request was rejected by the AP

ESP_ERR_WIFI_DISCARD (0x301b) : Discard frame

ESP_ERR_WIFI_ROC_IN_PROGRESS (0x301c) : ROC op is in progress

ESP_ERR_WIFI_REGISTRAR (0x3033) : WPS registrar is not supported

ESP_ERR_WIFI_WPS_TYPE (0x3034) : WPS type error

ESP_ERR_WIFI_WPS_SM (0x3035) : WPS state machine is not initialized

ESP_ERR_ESPNOW_BASE (0x3064) : ESPNOW error number base.

ESP_ERR_ESPNOW_NOT_INIT (0x3065) : ESPNOW is not initialized.

ESP_ERR_ESPNOW_ARG (0x3066) : Invalid argument

ESP_ERR_ESPNOW_NO_MEM (0x3067) : Out of memory

ESP_ERR_ESPNOW_FULL (0x3068) : ESPNOW peer list is full

ESP_ERR_ESPNOW_NOT_FOUND (0x3069) : ESPNOW peer is not found

ESP_ERR_ESPNOW_INTERNAL (0x306a) : Internal error

ESP_ERR_ESPNOW_EXIST (0x306b) : ESPNOW peer has existed

ESP_ERR_ESPNOW_IF (0x306c) : Interface error

ESP_ERR_ESPNOW_CHAN (0x306d) : Channel error

ESP_ERR_DPP_FAILURE (0x3097) : Generic failure during DPP Operation

ESP_ERR_DPP_TX_FAILURE (0x3098) : DPP Frame Tx failed OR not Acked

ESP_ERR_DPP_INVALID_ATTR (0x3099) : Encountered invalid DPP Attribute

ESP_ERR_DPP_AUTH_TIMEOUT (0x309a) : DPP Auth response was not recieved in time

ESP_ERR_MESH_BASE (0x4000) : Starting number of MESH error codes

ESP_ERR_MESH_WIFI_NOT_START (0x4001)

ESP_ERR_MESH_NOT_INIT (0x4002)

ESP_ERR_MESH_NOT_CONFIG (0x4003)

ESP_ERR_MESH_NOT_START (0x4004)

ESP_ERR_MESH_NOT_SUPPORT (0x4005)

ESP_ERR_MESH_NOT_ALLOWED (0x4006)

ESP_ERR_MESH_NO_MEMORY (0x4007)

ESP_ERR_MESH_ARGUMENT (0x4008)

ESP_ERR_MESH_EXCEED_MTU (0x4009)

ESP_ERR_MESH_TIMEOUT (0x400a)

ESP_ERR_MESH_DISCONNECTED (0x400b)

ESP_ERR_MESH_QUEUE_FAIL (0x400c)

ESP_ERR_MESH_QUEUE_FULL (0x400d)

ESP_ERR_MESH_NO_PARENT_FOUND (0x400e)

ESP_ERR_MESH_NO_ROUTE_FOUND (0x400f)

ESP_ERR_MESH_OPTION_NULL (0x4010)

ESP_ERR_MESH_OPTION_UNKNOWN (0x4011)

ESP_ERR_MESH_XON_NO_WINDOW (0x4012)

ESP_ERR_MESH_INTERFACE (0x4013)

ESP_ERR_MESH_DISCARD_DUPLICATE (0x4014)

ESP_ERR_MESH_DISCARD (0x4015)

ESP_ERR_MESH_VOTING (0x4016)

ESP_ERR_MESH_XMIT (0x4017)

ESP_ERR_MESH_QUEUE_READ (0x4018)

ESP_ERR_MESH_PS (0x4019)

ESP_ERR_MESH_RECV_RELEASE (0x401a)

ESP_ERR_ESP_NETIF_BASE (0x5000)

ESP_ERR_ESP_NETIF_INVALID_PARAMS (0x5001)

ESP_ERR_ESP_NETIF_IF_NOT_READY (0x5002)

ESP_ERR_ESP_NETIF_DHCPC_START_FAILED (0x5003)

ESP_ERR_ESP_NETIF_DHCP_ALREADY_STARTED (0x5004)

ESP_ERR_ESP_NETIF_DHCP_ALREADY_STOPPED (0x5005)

ESP_ERR_ESP_NETIF_NO_MEM (0x5006)

ESP_ERR_ESP_NETIF_DHCP_NOT_STOPPED (0x5007)

ESP_ERR_ESP_NETIF_DRIVER_ATTACH_FAILED (0x5008)

ESP_ERR_ESP_NETIF_INIT_FAILED (0x5009)

ESP_ERR_ESP_NETIF_DNS_NOT_CONFIGURED (0x500a)

ESP_ERR_ESP_NETIF_MLD6_FAILED (0x500b)

ESP_ERR_ESP_NETIF_IP6_ADDR_FAILED (0x500c)

ESP_ERR_ESP_NETIF_DHCPS_START_FAILED (0x500d)

ESP_ERR_FLASH_BASE (0x6000) : Starting number of flash error codes

ESP_ERR_FLASH_OP_FAIL (0x6001)

ESP_ERR_FLASH_OP_TIMEOUT (0x6002)

ESP_ERR_FLASH_NOT_INITIALISED (0x6003)

ESP_ERR_FLASH_UNSUPPORTED_HOST (0x6004)

ESP_ERR_FLASH_UNSUPPORTED_CHIP (0x6005)

ESP_ERR_FLASH_PROTECTED (0x6006)

ESP_ERR_HTTP_BASE (0x7000) : Starting number of HTTP error codes

ESP_ERR_HTTP_MAX_REDIRECT (0x7001) : The error exceeds the number of HTTP redirects

ESP_ERR_HTTP_CONNECT (0x7002) : Error open the HTTP connection

ESP_ERR_HTTP_WRITE_DATA (0x7003) : Error write HTTP data

ESP_ERR_HTTP_FETCH_HEADER (0x7004) : Error read HTTP header from server

ESP_ERR_HTTP_INVALID_TRANSPORT (0x7005) : There are no transport support for the input scheme

ESP_ERR_HTTP_CONNECTING (0x7006) : HTTP connection hasn't been established yet

ESP_ERR_HTTP_EAGAIN (0x7007) : Mapping of errno EAGAIN to esp_err_t

ESP_ERR_HTTP_CONNECTION_CLOSED (0x7008) : Read FIN from peer and the connection closed

ESP_ERR_ESP_TLS_BASE (0x8000) : Starting number of ESP-TLS error codes

ESP_ERR_ESP_TLS_CANNOT_RESOLVE_HOSTNAME (0x8001) : Error if hostname couldn't be resolved upon tls connection

ESP_ERR_ESP_TLS_CANNOT_CREATE_SOCKET (0x8002) : Failed to create socket

ESP_ERR_ESP_TLS_UNSUPPORTED_PROTOCOL_FAMILY (0x8003) : Unsupported protocol family

ESP_ERR_ESP_TLS_FAILED_CONNECT_TO_HOST (0x8004) : Failed to connect to host

ESP_ERR_ESP_TLS_SOCKET_SETOPT_FAILED (0x8005) : failed to set/get socket option

ESP_ERR_ESP_TLS_CONNECTION_TIMEOUT (0x8006) : new connection in esp_tls_low_level_conn connection timeouted

ESP_ERR_ESP_TLS_SE_FAILED (0x8007)

ESP_ERR_ESP_TLS_TCP_CLOSED_FIN (0x8008)

ESP_ERR_MBEDTLS_CERT_PARTLY_OK (0x8010) : mbedtls parse certificates was partly successful

ESP_ERR_MBEDTLS_CTR_DRBG_SEED_FAILED (0x8011) : mbedtls api returned error

ESP_ERR_MBEDTLS_SSL_SET_HOSTNAME_FAILED (0x8012) : mbedtls api returned error

ESP_ERR_MBEDTLS_SSL_CONFIG_DEFAULTS_FAILED (0x8013) : mbedtls api returned error

ESP_ERR_MBEDTLS_SSL_CONF_ALPN_PROTOCOLS_FAILED (0x8014) : mbedtls api returned error

ESP_ERR_MBEDTLS_X509_CRT_PARSE_FAILED (0x8015) : mbedtls api returned error

ESP_ERR_MBEDTLS_SSL_CONF_OWN_CERT_FAILED (0x8016) : mbedtls api returned error

ESP_ERR_MBEDTLS_SSL_SETUP_FAILED (0x8017) : mbedtls api returned error

ESP_ERR_MBEDTLS_SSL_WRITE_FAILED (0x8018) : mbedtls api returned error

ESP_ERR_MBEDTLS_PK_PARSE_KEY_FAILED (0x8019) : mbedtls api returned failed

ESP_ERR_MBEDTLS_SSL_HANDSHAKE_FAILED (0x801a) : mbedtls api returned failed

ESP_ERR_MBEDTLS_SSL_CONF_PSK_FAILED (0x801b) : mbedtls api returned failed

ESP_ERR_MBEDTLS_SSL_TICKET_SETUP_FAILED (0x801c) : mbedtls api returned failed

ESP_ERR_WOLFSSL_SSL_SET_HOSTNAME_FAILED (0x8031) : wolfSSL api returned error

ESP_ERR_WOLFSSL_SSL_CONF_ALPN_PROTOCOLS_FAILED (0x8032) : wolfSSL api returned error

ESP_ERR_WOLFSSL_CERT_VERIFY_SETUP_FAILED (0x8033) : wolfSSL api returned error

ESP_ERR_WOLFSSL_KEY_VERIFY_SETUP_FAILED (0x8034) : wolfSSL api returned error

ESP_ERR_WOLFSSL_SSL_HANDSHAKE_FAILED (0x8035) : wolfSSL api returned failed

ESP_ERR_WOLFSSL_CTX_SETUP_FAILED (0x8036) : wolfSSL api returned failed

ESP_ERR_WOLFSSL_SSL_SETUP_FAILED (0x8037) : wolfSSL api returned failed

ESP_ERR_WOLFSSL_SSL_WRITE_FAILED (0x8038) : wolfSSL api returned failed

ESP_ERR_HTTPS_OTA_BASE (0x9000)

ESP_ERR_HTTPS_OTA_IN_PROGRESS (0x9001)

ESP_ERR_PING_BASE (0xa000)

ESP_ERR_PING_INVALID_PARAMS (0xa001)

ESP_ERR_PING_NO_MEM (0xa002)

ESP_ERR_HTTPD_BASE (0xb000) : Starting number of HTTPD error codes

ESP_ERR_HTTPD_HANDLERS_FULL (0xb001) : All slots for registering URI handlers have been consumed

ESP_ERR_HTTPD_HANDLER_EXISTS (0xb002) : URI handler with same method and target URI already registered

ESP_ERR_HTTPD_INVALID_REQ (0xb003) : Invalid request pointer

ESP_ERR_HTTPD_RESULT_TRUNC (0xb004) : Result string truncated

ESP_ERR_HTTPD_RESP_HDR (0xb005) : Response header field larger than supported

ESP_ERR_HTTPD_RESP_SEND (0xb006) : Error occured while sending response packet

ESP_ERR_HTTPD_ALLOC_MEM (0xb007) : Failed to dynamically allocate memory for resource

ESP_ERR_HTTPD_TASK (0xb008) : Failed to launch server task/thread

ESP_ERR_HW_CRYPTO_BASE (0xc000) : Starting number of HW cryptography module error codes

ESP_ERR_HW_CRYPTO_DS_HMAC_FAIL (0xc001) : HMAC peripheral problem

ESP_ERR_HW_CRYPTO_DS_INVALID_KEY (0xc002)

ESP_ERR_HW_CRYPTO_DS_INVALID_DIGEST (0xc004)

ESP_ERR_HW_CRYPTO_DS_INVALID_PADDING (0xc005)

ESP_ERR_MEMPROT_BASE (0xd000) : Starting number of Memory Protection API error codes

ESP_ERR_MEMPROT_MEMORY_TYPE_INVALID (0xd001)

ESP_ERR_MEMPROT_SPLIT_ADDR_INVALID (0xd002)

ESP_ERR_MEMPROT_SPLIT_ADDR_OUT_OF_RANGE (0xd003)

ESP_ERR_MEMPROT_SPLIT_ADDR_UNALIGNED (0xd004)

ESP_ERR_MEMPROT_UNIMGMT_BLOCK_INVALID (0xd005)

ESP_ERR_MEMPROT_WORLD_INVALID (0xd006)

ESP_ERR_MEMPROT_AREA_INVALID (0xd007)

ESP_ERR_MEMPROT_CPUID_INVALID (0xd008)

ESP_ERR_TCP_TRANSPORT_BASE (0xe000) : Starting number of TCP Transport error codes

ESP_ERR_TCP_TRANSPORT_CONNECTION_TIMEOUT (0xe001) : Connection has timed out

ESP_ERR_TCP_TRANSPORT_CONNECTION_CLOSED_BY_FIN (0xe002) : Read FIN from peer and the connection has closed (in a clean way)

ESP_ERR_TCP_TRANSPORT_CONNECTION_FAILED (0xe003) : Failed to connect to the peer

ESP_ERR_TCP_TRANSPORT_NO_MEM (0xe004) : Memory allocation failed

ESP_ERR_NVS_SEC_BASE (0xf000) : Starting number of error codes

ESP_ERR_NVS_SEC_HMAC_KEY_NOT_FOUND (0xf001) : HMAC Key required to generate the NVS encryption keys not found

ESP_ERR_NVS_SEC_HMAC_KEY_BLK_ALREADY_USED (0xf002) : Provided eFuse block for HMAC key generation is already in use

ESP_ERR_NVS_SEC_HMAC_KEY_GENERATION_FAILED (0xf003) : Failed to generate/write the HMAC key to eFuse

ESP_ERR_NVS_SEC_HMAC_XTS_KEYS_DERIV_FAILED (0xf004) : Failed to derive the NVS encryption keys based on the HMAC-based scheme