BLE HID Gamepad on nRF52805: Not Recognized on iOS

I am working on a Bluetooth Low Energy (BLE) project using the nRF52840 Development Kit (DK), which has been reconfigured to simulate an nRF52805 chip. The firmware is based on Nordic Semiconductor's ble_app_hids_keyboard example, with modifications to implement a BLE HID Gamepad. I am using the S113 SoftDevice and have successfully tested the functionality with Android devices. The gamepad is recognized as a HID device, and it works as expected on Android, verified using the hardwareTester website.

However, when I connect the gamepad to an iPhone via BLE, the same hardwareTester website does not respond as it does on Android, indicating that the iPhone does not recognize the device as a gamepad. The BLE connection is established successfully, but it seems iOS does not interpret the HID report descriptor or the BLE HID service correctly. I suspect there might be compatibility issues with the HID descriptor or the GATT attributes for iOS-specific BLE HID requirements.

I would like to have some help.

The BLE connection is established successfully, but it seems iOS does not interpret the HID report descriptor or the BLE HID service correctly.

Our primary mechanism for supporting new game controllers is the MFi Program. You can learn more about the MFi program here.

The system also has some support for specific 3rd party controllers, as described here.

If your controller is already shipping or can not be MFi licensed for some reason and you think the system should include support for your controller, please file a bug.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

BLE HID Gamepad on nRF52805: Not Recognized on iOS
 
 
Q