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

Karlheinz
Posts: 8
Joined: Sat Sep 07, 2024 1:24 pm

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

Postby Karlheinz » Sun Dec 28, 2025 11:36 am

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

nopnop2002
Posts: 347
Joined: Thu Oct 03, 2019 10:52 pm
Contact:

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

Postby nopnop2002 » Sun Dec 28, 2025 12:04 pm

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

MicroController
Posts: 2661
Joined: Mon Oct 17, 2022 7:38 pm
Location: Europe, Germany

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

Postby MicroController » Sun Dec 28, 2025 4:35 pm

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

Karlheinz
Posts: 8
Joined: Sat Sep 07, 2024 1:24 pm

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

Postby Karlheinz » Mon Dec 29, 2025 9:18 am

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

Who is online

Users browsing this forum: Google [Bot], Qwantbot, Semrush [Bot] and 11 guests