Willy-JL e8bed4c26c Airmouse: Change name and save location vor 2 Jahren
..
schematic a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
tracking e8bed4c26c Airmouse: Change name and save location vor 2 Jahren
views a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
.gitremote 90c9ac2466 Add configs for airmouse vor 2 Jahren
CHANGELOG.md a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
DESCRIPTION.md a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
LICENSE a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
README.md a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
air_mouse.c e8bed4c26c Airmouse: Change name and save location vor 2 Jahren
air_mouse.h a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
application.fam e8bed4c26c Airmouse: Change name and save location vor 2 Jahren
icon.png a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
screenshot1.png a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
screenshot2.png a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren
screenshot3.png a496bb3789 Add 'airmouse/' from commit 'abac5b58a6bd8a449805137b5bb9cabc0aeabda8' vor 2 Jahren

README.md

Flipper Air Mouse

FlipC.org

Brief

"You can turn anything into an air mouse if you're brave enough"

— Piper, a.k.a. Pez

Naturally, the quote above applies to Flipper as well.

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).

See early prototype in action.

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.

Original idea:

What I thought it would look like

Expectation:

What EDA though it would look like

Reality:

What it looks like

Software

The code is based on the original Bosch driver and an orientation tracking implementation from the Google Cardboard project

If you're familiar with Flipper applications, start in the firmware checkout folder and do the following:

cd applications/plugins
git clone https://github.com/ginkage/FlippAirMouse
cd ../..
./fbt fap_air_mouse

If you're not familiar with those, just grab a fap file from Releases.

License

TL;DR: Use the code however you want, give credit where it's due, no warranty of any kind is provided.