NimBLE port for ESP32

jaracil
Posts: 11
Joined: Sat Apr 02, 2016 4:24 pm

NimBLE port for ESP32

Postby jaracil » Tue Feb 19, 2019 12:45 pm

Hi.

I'm working on NimBLE por for ESP32.
https://github.com/jaracil/nimble-esp32

NimBLE is a complete BLE (Bluetooth Low Energy) lightweight and cleaner library.
https://github.com/apache/mynewt-nimble
It uses ~170K less program memory than bluedroid.

There is still a lot of work, but for now, the example compiles and works.

Any help is welcome :)

captain_morgan
Posts: 42
Joined: Wed Dec 09, 2015 6:39 pm

Re: NimBLE port for ESP32

Postby captain_morgan » Tue Feb 19, 2019 6:23 pm

Looks awesome! I'm just gearing up for a new project and will give this a spin for the BLE needs.

ESP_Hrishi
Posts: 16
Joined: Fri Sep 28, 2018 3:06 am

Re: NimBLE port for ESP32

Postby ESP_Hrishi » Wed Feb 20, 2019 5:16 am

Hi there,

Great to hear that you are working on NimBLE. As of now, we have an almost ready implementation of NimBLE stack ported onto ESP-IDF, along with a few sample examples. The features that are already tested are: Peripheral role (GATT Database Population, Advertisement, Handling Characteristic and Descriptor read/write, Notifications/Indications), Central role (Scanning, Discovery, Characteristic and Descriptor read/write, Subscription to Indications/Notifications) and BLE SMP. In this effort, we have also tried to make it cleaner and simpler by maintaining all the existing APIs of NimBLE along with a single ESP-NimBLE API for initialization.

Currently it is in the process of QA. It should be out on the Github soon.

Thanks,
Hrishikesh

jaracil
Posts: 11
Joined: Sat Apr 02, 2016 4:24 pm

Re: NimBLE port for ESP32

Postby jaracil » Wed Feb 20, 2019 7:40 am

Cool! I stop my nimble port waiting for your news.

ESP_Hrishi
Posts: 16
Joined: Fri Sep 28, 2018 3:06 am

Re: NimBLE port for ESP32

Postby ESP_Hrishi » Wed Mar 13, 2019 6:14 am

Hello All,

The NimBLE preview release is out on Github: https://github.com/espressif/esp-idf/tr ... le-preview

The sample examples can be found here: https://github.com/espressif/esp-idf/tr ... oth/nimble

captain_morgan
Posts: 42
Joined: Wed Dec 09, 2015 6:39 pm

Re: NimBLE port for ESP32

Postby captain_morgan » Thu Mar 14, 2019 5:43 pm

Super cool! nice work all around. I spend some time yesterday evening digging into this branch and the results are good!

First off, it's quite a bit easier to use than Bluedroid, I reduced my overall code by about half.

I was able to follow the heart rate example easily and within about 30 minutes had setup functional Battery Service.

Image

Nice work, I look forward to this making it into mainline.

ESP_Hrishi
Posts: 16
Joined: Fri Sep 28, 2018 3:06 am

Re: NimBLE port for ESP32

Postby ESP_Hrishi » Fri Mar 15, 2019 5:03 am

Thanks for the report. Feel free to play around with the stack/examples and submit any feedback/issues.

Just FYI, if you didn't use this, NimBLE stack has the support for a few profiles (https://github.com/espressif/esp-nimble ... t/services) and battery service is one of them.

You can directly call the API ble_svc_bas_init() from the example and you are done.

captain_morgan
Posts: 42
Joined: Wed Dec 09, 2015 6:39 pm

Re: NimBLE port for ESP32

Postby captain_morgan » Tue Mar 19, 2019 12:20 am

Yup, did see that and mostly what I used as my basis. Working on adding a couple more services and will report on any issues I have.

locustcox
Posts: 20
Joined: Tue Sep 04, 2018 9:36 pm

Re: NimBLE port for ESP32

Postby locustcox » Sat Mar 23, 2019 2:54 pm

Any idea if/when this will make it into mainline? The code size reductions would be fantastic.

Update: Sorry, didn’t notice that the dates on this topic we’re so recent. It makes me look extremely impatient! I’ve been playing around with some builds of NimBLE and have been impressed. You all did a fantastic job with the integration!

Who is online

Users browsing this forum: RudyWeber and 77 guests