Skip to main content

Kconfig Options

Configure via idf.py menuconfig → WiFi Config, or set in sdkconfig.defaults.

Core Options

OptionDefaultDescription
CONFIG_WIFI_CFG_MAX_NETWORKS5Maximum number of saved networks
CONFIG_WIFI_CFG_MAX_VARS10Maximum number of custom variables
CONFIG_WIFI_CFG_DEFAULT_RETRY3Retries per network before moving to next
CONFIG_WIFI_CFG_RETRY_INTERVAL_MS5000Base retry interval in milliseconds

CLI

OptionDefaultDescription
CONFIG_WIFI_CFG_ENABLE_CLInEnable serial console CLI commands

Web UI

OptionDefaultDescription
CONFIG_WIFI_CFG_ENABLE_WEBUInEnable the embedded Web UI
CONFIG_WIFI_CFG_WEBUI_CUSTOM_PATH""Path to custom frontend files (LittleFS/SPIFFS)

BLE

OptionDefaultDescription
CONFIG_WIFI_CFG_ENABLE_CUSTOM_BLEnEnable custom BLE GATT interface (UUID 0xFFE0)

Improv WiFi

OptionDefaultDescription
CONFIG_WIFI_CFG_ENABLE_IMPROV_BLEnEnable Improv BLE transport (requires BT enabled)
CONFIG_WIFI_CFG_ENABLE_IMPROV_SERIALnEnable Improv Serial transport
CONFIG_WIFI_CFG_IMPROV_SERIAL_UART_NUM0UART port for Improv Serial
CONFIG_WIFI_CFG_IMPROV_SERIAL_BAUD115200Baud rate for Improv Serial

Common sdkconfig.defaults Combinations

Basic WiFi (no extra features)

# No extra config needed — defaults work

WiFi + Web UI

CONFIG_WIFI_CFG_ENABLE_WEBUI=y

WiFi + BLE (Bluedroid)

CONFIG_BT_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=y
CONFIG_WIFI_CFG_ENABLE_CUSTOM_BLE=y
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y

WiFi + BLE (NimBLE, lighter)

CONFIG_BT_ENABLED=y
CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=6144
CONFIG_WIFI_CFG_ENABLE_CUSTOM_BLE=y
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y

WiFi + Improv BLE Only

CONFIG_BT_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=y
CONFIG_WIFI_CFG_ENABLE_IMPROV_BLE=y
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y

WiFi + Improv + Custom BLE

CONFIG_BT_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=y
CONFIG_WIFI_CFG_ENABLE_CUSTOM_BLE=y
CONFIG_WIFI_CFG_ENABLE_IMPROV_BLE=y
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y

Kitchen Sink (all features)

CONFIG_BT_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=y
CONFIG_WIFI_CFG_ENABLE_CLI=y
CONFIG_WIFI_CFG_ENABLE_WEBUI=y
CONFIG_WIFI_CFG_ENABLE_CUSTOM_BLE=y
CONFIG_WIFI_CFG_ENABLE_IMPROV_BLE=y
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y