Cannot find NimBLE header files in ESP-IDF project

I’m trying to use nimble in an ESP-IDF project but the header files are not found.

Here’s what I did:

  • Created a new project using platform = espressif32 and framework = espidf. The espressif32 platform is version 6.5.0. PlatformIO is also up to date.

  • Ran menuconfig and selected Bluetooth with NimBLE as the host. Here’s the relevant portion of sdkconfig showing it is enabled (there’s also a section for NimBLE options not included here):

#
# Bluetooth
#
CONFIG_BT_ENABLED=y
# CONFIG_BT_BLUEDROID_ENABLED is not set
CONFIG_BT_NIMBLE_ENABLED=y
# CONFIG_BT_CONTROLLER_ONLY is not set
CONFIG_BT_CONTROLLER_ENABLED=y
# CONFIG_BT_CONTROLLER_DISABLED is not set
  • Tried to include nimble-related header files (e.g. nimble/nimble_port.h) in main.c but they are not found. I’ve looked in the bt component directory structure and it appears that they are there but just not on the include path. Nimble files appear to be compiling during a build.

I’m new to using ESP-IDF with PlatformIO so it may be something simple I’ve overlooked. Am I doing something wrong or missing a configuration step?