BLE HID Braille display

Hi, I've been trying to modify some of the nRF5 SDK 17.1.0 BLE HID examples to make the nRF appear as a BLE HID Braille Display, that would be recognized in Android's TalkBack.

I wasn't able to achieve that. I have a GitHub repo here, to show what I have so far:
https://github.com/enukic/k_braille_hid

I would appreciate if someone with more expertise in this field could point me to the right direction - how could I achieve this?
1. Is the current GATT and GAP profile OK?

2. Is the report_map_data[] OK?

My understanding is that these two things are crucial for being recognized as a BLE HID Braille Display.

Thanks!
Emir

  • Hi,

    The main pitfall that we see for BLE HID devices is a limit of maximum 255 bytes, and you are well within that limit with your current report. I cannot go into details and examine your report map in detail, but it looks like you have done a decent job with it and everything is well documented so it should be easy to debug if anything is off.

    As to why your device is not detected by TalkBack, debugging this based on a single binary parameter - whether or not TalkBack recognizes the device as a HID Braille Display - is a very difficult task. Here's what I would do to break that down further:

    • See if you are able to scan and connect to the device, look at the services and characteristics, etc., from nRF Connect for Android.
    • Get a sniffer trace, to see what happens over the air. (Both when using nRF connect for Android and otherwise.)
    • See if you can find a similar type of device to what you are creating, and get hold of the HID report map (e.g. through use of a BLE sniffer), to compare what they do which differs from what you do.

    In some instances, smartphone apps may decide whether to connect or not based on the advertisements. That could be the name of the device, or services advertised (advertising full or partial ist of service UUID), or device type. Again, if you have a working device then it should be possible to investigate in what ways that device differs from your project.

    Regards,
    Terje

  • Thanks for the reply  
    Unfortunately, I wasn't able to find a solution for my problem.

    You can close this ticket if it seems reasonable. I think I hit a dead end here.

    Kind regards
    Emir

Related