I’m working on a project, to create an air mouse for people with repetitive strain injury (since I have it as well). I’m flexible with the hardware required. The plan is to use data from an IMU for movement. I’m currently learning how to work with the sensor.

I have also been researching how to eventually convert the sensor data to mouse movements. I understand that you can do this over Bluetooth (Bluetooth HID, or HID over GATT). However, this is where I reach my limits.

I was hoping to find a library, which can do this for me (similar to the mouse.h library) as it feels like it would take me months learning about the Bluetooth standards to try to implement it myself.

The options I found in my research:

Since many of you are much more experienced than me, I would be grateful for any guidance on how to proceed. Would you show a preference for any of the options above? Or should I be attempting to do things differently, e.g. without a mouse library (but where would I start)?

PS. In case it’s useful, I have basic familiarity with C++ (e.g. I understand classes, pointers, etc.), but I don’t have a programming background. I have done a few simple arduino projects and most of the examples on the official website.

  • 100% ESP32. Yes, it's fully supported by the Arduino IDE (and us).
    – Majenko
    Mar 10, 2021 at 20:09
  • Hi Majenko, thanks for responding. I saw from a previous reply you'd made a on a different topic that you have significant experience in USB protocols. In the other topic that you responded to, you advise the person not to try to build their own library because it's very difficult. Is the same true for Bluetooth? Mar 10, 2021 at 20:16
  • I don't know much about bluetooth. I do know that the ESP32 has good libraries and support / documentation through the ESP-IDF though. What you'd have to do to write your own library depends 100% on the hardware. I'd say ESP32 would be the easiest to write for since all the work is done for you in the ESP-IDF and there will be plenty of Arduino-library-like abstraction layers around.
    – Majenko
    Mar 10, 2021 at 20:18
  • Thank you for the comment, I appreciate the information. Mar 10, 2021 at 20:56
  • just bumping this in hope for some additional insights from the community. Mar 11, 2021 at 9:06


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.