Bluetooth input device using an orientation sensor

Bluetooth input device using an orientation sensor. This is built using an nrf52840 Feather Sense. The way it works is it reads accelerometer, gyroscope and magnetometer data, puts it through a sensor fusion algorithm to get orientation and then uses the yaw and pitch values to position the mouse cursor on the screen. It uses absolute cursor positioning instead of the most common relative mode, hence the custom HID report descriptor.

Cursor re-centering is done by pressing the “user switch” button on the board.

Authors: jfedor2