How to receive data on HID device?

This page summarizes the projects mentioned and recommended in the original post on /r/arduino

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • mbed-ble-hid

    :raising_hand: Implement Human Interface Device over Bluetooth Low Energy on a Mbed stack (Arduino nano 33 BLE).

  • https://github.com/tcoppex/mbed-ble-hid/blob/master/src/services/HIDGamepadService.cpp , the hid_report_map descriptor needs to be modified. The original input report needs to have a report ID, and then a new section needs to be added as a output or feature report, with its own report ID. This is a bit of a mess to research because there's no real standardization. PlayStation controllers have their own format, Xbox has a different one.

  • ViGEmBus

    Discontinued Windows kernel-mode driver emulating well-known USB game controllers.

  • A quick google search turned up this very useful page https://github.com/ViGEm/ViGEmBus/issues/40

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ble

    API to abstract working with Bluetooth Smart Controllers (by ARMmbed)

  • Once you can access that member outputReportChar, it is of the class GattCharacteristic, probably this one https://github.com/ARMmbed/ble/blob/master/ble/GattCharacteristic.h , now you can use member functions, such as getValueAttribute and getValueHandle to read the data. At this point... I have not done this before, I don't know if I am actually correct or if I missed a few steps. You will need to learn how the ARMmbed BLE library works and read their examples.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts