mcbluetooth-esp32/firmware/sdkconfig.defaults
Ryan Malloy 6398a5223a ESP32 Bluetooth test harness MCP server
UART-controlled ESP32 peripheral for automated E2E Bluetooth testing.
Dual-mode (Classic BT + BLE) via Bluedroid on original ESP32.

Firmware (ESP-IDF v5.x, 2511 lines C):
- NDJSON protocol over UART1 (115200 baud)
- System commands: ping, reset, get_info, get_status
- Classic BT: GAP, SPP, all 4 SSP pairing modes
- BLE: GATTS, advertising, GATT service/characteristic management
- 6 device personas: headset, speaker, keyboard, sensor, phone, bare
- Event reporter: thread-safe async event queue to host

Python MCP server (FastMCP, 1626 lines):
- Async serial client with command/response correlation
- Event queue with wait_for pattern matching
- Tools: connection, configure, classic, ble, persona, events
- MCP resources: esp32://status, esp32://events, esp32://personas

Tests: 74 unit tests passing, 5 integration test stubs (skip without hardware)
2026-02-02 15:12:28 -07:00

36 lines
740 B
Plaintext

# Bluetooth (dual-mode: Classic + BLE via Bluedroid)
CONFIG_BT_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=y
CONFIG_BT_CLASSIC_ENABLED=y
CONFIG_BT_BLE_ENABLED=y
CONFIG_BT_A2DP_ENABLE=n
CONFIG_BT_SPP_ENABLED=y
CONFIG_BT_SSP_ENABLED=y
# GAP & GATTS
CONFIG_BT_GATTS_ENABLE=y
CONFIG_BT_GATTC_ENABLE=n
# Bluetooth controller
CONFIG_BTDM_CTRL_MODE_BTDM=y
# UART
CONFIG_ESP_CONSOLE_UART_NUM=0
# Stack sizes (Bluetooth needs generous stacks)
CONFIG_BT_BTU_TASK_STACK_SIZE=8192
CONFIG_BTDM_CTRL_HCI_MODE_VHCI=y
# NVS (for bonding storage)
CONFIG_NVS_ENABLED=y
# Logging — keep it reasonable
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
# Partition table
CONFIG_PARTITION_TABLE_SINGLE_APP=y
# FreeRTOS
CONFIG_FREERTOS_HZ=1000