Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support esp32, esp32-C3, esp32-S3 #252

Merged
merged 21 commits into from
Aug 23, 2022

Conversation

dominsch
Copy link
Contributor

Who is this for?

There are at least 9 people that use ArduinoBLE on esp32 right now and with >600,000 Espressif SoCs sold daily that number might grow into the double digits.

Why do we want this?

Running ArduinoBLE directly on Espressif chips outperforms all other available bluetooth stacks. Here is a table showing resource utilization after compiling the different libraries' respective scan examples:

Stack Storage Space Dynamic Memory
Bluedroid 1029009 bytes (78%) 32572 bytes (9%)
NimBLE 549721 bytes (41%) 29452 bytes (8%)
ArduinoBLE 464501 bytes (35%) 25556 bytes (7%)

Changes since my previous pull request:

  • support for esp32-S3
  • now works with the stable version of arduino-esp
  • fixed crashes when restarting the BLE client as mentioned here: add esp32 support #174 (comment)
  • future chips should work out of the box without being added manually
  • CI integration

@per1234 per1234 added type: enhancement Proposed improvement topic: code Related to content of the project itself labels Aug 20, 2022
@facchinm facchinm merged commit 991f076 into arduino-libraries:master Aug 23, 2022
@facchinm
Copy link
Contributor

Wow, thank you so much for the contribution! I'm pretty sure this will increase the library usage to the double digit 😉

@CP52
Copy link

CP52 commented Dec 16, 2022

I'm trying to add myself to 9 people that use this lib with ESP32 and Arduino IDE 2.0.3 ;-)

But I still have this problem with HCIVirtualTransport:

d:\Users\cpagu\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCIVirtualTransport.h:27:36: fatal error: freertos/stream_buffer.h: No such file or directory
compilation terminated.

exit status 1

Compilation error: exit status 1

I tried to disinstall ArduinoBLE and reinstall ... before I used the Arduino ESP32 BLE, that is still present ... Any suggestion?

@dominsch
Copy link
Contributor Author

You are likely using an older version of arduino core for esp32. Check your board manager and make sure you have at least version 2.0 installed. If it doesn't give you the option to upgrade please verify that you are using this board manager URL: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
I hope that helps

@CP52
Copy link

CP52 commented Dec 17, 2022

OK! Perfect! Disinstalled the ESP board and reinstalled ... now all seems to work ... many thanks from the 10th person using this lib for ESP32 ;-) and also infinite thanks for you job, dominsch!

@Craft058
Copy link

After many trial without any success I came to this page and apply your solution of updating the board manager with the suggested URL https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json and my ESP32 has discovered the services of my Oregon IDTW218H meteo station without any hesitation just using the Scan and PeripheralExplorer examples provided in the Arduino IDE.
Thanks a lot dominsch !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants