BMI Air Mouse¶
-
BMI Air Mouse for GPIO
Flipper Air Mouse using BMI160 module
-
Information about application
- Author: @ginkage
- Version: 1.3
- Updated at: 2024-06-17
- Downloads: 0
Description¶
Flipper Air Mouse¶
What?¶
The app allows you to turn your Flipper into a USB or Bluetooth air mouse (you do need an extra module, see the Hardware section below)...
Using it is really simple: * Connect the Flipper via a USB cable and pick USB, or pick Bluetooth and pair it with your PC; * Hold the Flipper in your hand with the buttons pointing towards the screen; * Wave your Flipper like you don't care to move the cursor; * Up button for Left mouse click; * Down button for Right mouse click; * Center button for Middle mouse click; * Left and Right buttons for scrolling; * Use calibration menu option if you notice significant drift (place your Flipper onto a level surface, make sure it doesn't move, run this option, wait 2 seconds, done).
Hardware¶
The custom module is using Bosch BMI160 accelerometer/gyroscope chip connected via I2C.
Take a look into the schematic folder for Gerber, BOM and CPL files, so you can order directly from JLCPCB.
Software¶
The code is based on the original Bosch driver and an orientation tracking implementation from the Google Cardboard project
License¶
TL;DR: Use the code however you want, give credit where it's due, no warranty of any kind is provided.
Changelog¶
Changelog¶
v1.3 (2024-08-15)¶
Fix new firmwares compatibility
v1.2 (2024-06-05)¶
Support multiple IMU models
- Apart from BMI160, you can now use LSM6DS3 or LSM6DSO
v1.1 (2024-03-14)¶
BLE updates/fixes
v1.0 (2024-03-09)¶
Update for SDK 0.99
v0.0.6 (2023-08-09)¶
Fix firmware 0.88 issues
v0.0.5 (2023-06-18)¶
Closed issues:
- Error on firmware 0.77.1
- Flipper Z with airmouse like LG pilot on Android TV
- PINOUT
- Noob Question
- BMI160 alternative?
v0.0.4 (2023-01-22)¶
Closed issues:
- Request: change directional buttons
Merged pull requests:
- Manifest build sources
v0.0.3 (2022-12-30)¶
Closed issues:
- Firmware requirement?
Merged pull requests:
- adjust button function \(add scrolling\)