Page 1 of 1

Please help learn the NimBLE stack

Posted: Sun Mar 20, 2022 7:22 pm
by listout
I want to learn the NimBLE stack of the ESP-IDF. I've been learning about BLE lately but I want to use the NimBLE. Basically I want to implement a NimBLE GATT client and server scenario where the client and server would exchange date (integer numbers).

I was looking at the examples (central and peripheral), I can't understand a single thing. Please share if you have any code references or documentation from where I can learn, I'm also looking at the official espressif nimble documentation but there isn't much. The bluedroid ble has an excellent example/walkthrough.

Thanks
listout

Re: Please help learn the NimBLE stack

Posted: Mon Apr 11, 2022 11:10 am
by chegewara

Re: Please help learn the NimBLE stack

Posted: Sat Dec 17, 2022 2:17 pm
by Zeni241
I was looking at the examples (central and peripheral), I can't understand a single thing
It was the same for me :lol: :roll:

Then I consulted many resources and finally I got there!
I have uploaded the code with explanations on GitHub for my future reference. ( https://github.com/Zeni241/ESP32-NimbleBLE-For-Dummies ) .
But it would be my pleasure if anybody benefit from it. You can also comment and suggest improvements.

Re: Please help learn the NimBLE stack

Posted: Thu Dec 14, 2023 4:33 pm
by oni_01
Man thanks for your repo, I'm looking on nimBLE for ESP-IDF but is really hard to find specific documentation about right now!

Re: Please help learn the NimBLE stack

Posted: Fri Dec 15, 2023 6:58 am
by irahul
Since ESP-IDF clones the upstream Apache mynewt-nimble codebase, all documentation provided by mynewt-nimble is applicable.

The examples in the IDF ( under examples/bluetooth/nimble/..) path have their READMEs and tutorials for walkthrough. Is there anything else you looking for which is not covered in this documentation ?

Re: Please help learn the NimBLE stack

Posted: Sun Feb 25, 2024 4:23 pm
by devlat
What is really lacking is example how to write BLE HID central or peripheral in NimBLE which is rather popular demand. ESP-IDF has blecent and bleprph examples, but it does not help much if you are new to the concept of characteristics, services etc.
You have to learn a lot. But once you do, you will probably start using another stack, which is better written and more clean.
This is how i came to Bluekitchen Btstack and will never change it to anything else ...

Re: Please help learn the NimBLE stack

Posted: Mon Feb 26, 2024 4:26 am
by irahul
Hi devlat, there is example for hid under examples/bluetooth/esp_hid_device and examples/bluetooth/esp_host. This is targetted for both bluedroid and nimble. Does this not help your cause ?

Re: Please help learn the NimBLE stack

Posted: Wed Feb 28, 2024 11:29 am
by devlat
The bluetooth/esp_hid_host is pure Bluedroid example and is not related to NimBLE (it needs CONFIG_BT_BLUEDROID_ENABLED=y).
Do i miss something?
Oh, i see CONFIG_BT_NIMBLE_ENABLED was added to the sample not long ago! I guess you mean this. Thanks for informaton!

Re: Please help learn the NimBLE stack

Posted: Wed Feb 28, 2024 2:38 pm
by irahul
Yes .. the example was recently updated to support both stacks .

Re: Please help learn the NimBLE stack

Posted: Wed Feb 28, 2024 2:55 pm
by devlat
Good job! Thank you!