Sem descrição

alex-vg c5eecfdce7 moved checked in drivers to submodules há 1 ano atrás
lib c5eecfdce7 moved checked in drivers to submodules há 1 ano atrás
schematic 98b5f70bbf Fix components in BOM há 3 anos atrás
tracking c5eecfdce7 moved checked in drivers to submodules há 1 ano atrás
views 5b2a7b3047 BLE updates/fixes há 1 ano atrás
.gitmodules c5eecfdce7 moved checked in drivers to submodules há 1 ano atrás
CHANGELOG.md 5b2a7b3047 BLE updates/fixes há 1 ano atrás
DESCRIPTION.md a497f2fab4 Update DESCRIPTION.md há 2 anos atrás
LICENSE 3930cc1d2f Initial commit há 3 anos atrás
README.md c5eecfdce7 moved checked in drivers to submodules há 1 ano atrás
air_mouse.c 5b2a7b3047 BLE updates/fixes há 1 ano atrás
air_mouse.h 0553ae1a32 Initial commit há 3 anos atrás
application.fam c5eecfdce7 moved checked in drivers to submodules há 1 ano atrás
build.sh 946e42468a added lsm6dso version há 1 ano atrás
icon.png de2050d189 Fix icon há 2 anos atrás
screenshot1.png e001a1f0f2 Add screenshots há 2 anos atrás
screenshot2.png e001a1f0f2 Add screenshots há 2 anos atrás
screenshot3.png e001a1f0f2 Add screenshots há 2 anos atrás

README.md

paypal

BMI Air Mouse

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.

How?

  • Clone this repository with git clone --recurse-submodules to include the driver implementations.
  • Build the project using ufbt

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

License

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