Page 1 of 1

Issue with NimBLE Component in IDF Component Registry (ESP32-C6 / IDF v5.4)

Posted: Sun Dec 28, 2025 11:36 am
by Karlheinz
Hi everyone,

I’m currently porting a BLE project to the ESP32-C6 using ESP-IDF v5.4, but I’ve run into a significant issue with the NimBLE component in the official Component Registry.

Registry Search Issues: When searching the ESP-IDF Component Registry for "nimble" or "espressif/nimble," no results are returned, or the search seems indexed incorrectly.

Component Manager Failure: Adding espressif/nimble: "^1.6.0" to the idf_component.yml fails because the manager cannot resolve the dependency or the versioning. Same wen using espressif/nimble: "*"

Broken Download Links: Attempting to access direct download links for the component versions results in a 404 error, making it impossible to manually integrate the component as a workaround.

Manual Setup Hurdles: I’ve tried cloning the repository manually, but without a properly pre-configured CMakeLists.txt (specifically tailored for the ESP-IDF build system), the build fails on the ESP32-C6 due to missing FreeRTOS header visibility (e.g., FreeRTOS.h not found), even when dependencies are declared.

The led_strip component - I used for test purposes - works perfectly via the Component Manager, so the environment itself seems fine. It appears there is a specific issue with the NimBLE entry in the registry at the moment.

Has anyone else experienced this recently? Is there a reliable mirror or a "standalone" version of the NimBLE port that includes the necessary idf_component_register CMake logic for the C6?

Any help or a fix for the registry links would be greatly appreciated!

Setup:
Chip: ESP32-C6, IDF Version: v5.4, OS: macOS

Regards Karlheinz

Re: Issue with NimBLE Component in IDF Component Registry (ESP32-C6 / IDF v5.4)

Posted: Sun Dec 28, 2025 12:04 pm
by nopnop2002
NimBLE is part of the ESP-IDF standard components.
idf_component.yml is not required.


Code: Select all

$ find . -name nimble_port.h -print
./components/bt/host/nimble/nimble/porting/nimble/include/nimble/nimble_port.h

Re: Issue with NimBLE Component in IDF Component Registry (ESP32-C6 / IDF v5.4)

Posted: Sun Dec 28, 2025 4:35 pm
by MicroController
Also important to note:
To begin with, make sure that the NimBLE stack is enabled from menuconfig choose NimBLE for the Bluetooth host.
https://docs.espressif.com/projects/esp ... g-sequence

Re: Issue with NimBLE Component in IDF Component Registry (ESP32-C6 / IDF v5.4)

Posted: Mon Dec 29, 2025 9:18 am
by Karlheinz
Hi everyone,

I wanted to give a quick update and say thank you for the helpful hints!

The issue is now resolved. The key takeaway for me (and perhaps for others using ESP-IDF v5.4 with the C3/C6) was:

Native Integration: For this specific version, I didn't need to add NimBLE via the idf_component.yml.

CMake Requirements: In main/CMakeLists.txt, adding bt to the REQUIRES list was the correct way to go, as it automatically pulls in the necessary NimBLE references.

Menuconfig: Enabling Bluetooth and selecting NimBLE as the host in menuconfig is essential to activate the system component. I had already done this before.

Headers: Also, for modern IDF versions, including "nimble/nimble_port_freertos.h" is the correct way to handle the port, while older headers like nimble_port_esp32.h are no longer needed.

Looks good that project will soon building and flashing correctly on my ESP32-C6. Thanks again for pointing me in the right direction!

Best regards, Karlheinz