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

Standard BLE on ESP32 can only support 4 notifications on 4 characteristics #1185

Open
dirkenstein opened this issue Feb 28, 2024 · 0 comments

Comments

@dirkenstein
Copy link

I am building a BLE HID keyboard/mouse client. It is trying to talk to a Rii mini keyboard v3.

Ideally this would have 5 notifications for battery + 4 HID report characteristic instances (keyboard, media keys, mouse, and something under report ID 6 which is not in the HID map, but i suspect are the remote contol keys).

It looks like the default ESP32 IDF only supports maximum 4 notifications, so using this keyboard simultaneouly with any other device is not really going to work.

The issue is that addtional notifications appear to fail silently. it is capable of logging an error, based on the BLERemoteCharacteristic.cpp code, though i never saw it in serial debug, but registerForNotify() itself cannot return errors.

Is there any chance of upping CONFIG_BT_ACL_CONNECTIONS from 4 to something like 8 in the esp32 sdkconfig? I can do it manually using the esp builder scripts from expressif but it's quite fiddly and the silent failure isn't really helpful. Also, i have no idea if the memory/cpu usage effects of increasing this are sufficient to make it undesirable.

Tested on Wemos LOLIN32 Lite (ESP32-WROOM).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant