Inspiration
The original idea for band transpired during the search for a secure alternative to the written passwords we use on a day to day basis. We recognize the pain point in memorizing several different passwords for different secure services. In addition, we see that trying to remember, change, and store different passwords can be quite daunting. We quickly realized that band could be so much more. With the technology we have here, we plan to create user unique motion passwords.
What it does
band is a gesture-recognizing wristband which connects to your Bluetooth LE enabled devices. It gives you keyless command over a myriad of common tasks ranging from checking social media, logging into your emails, to playing your favorite Spotify playlists.
How I built it
We used the nRF51 DK as our cpu and ble connection. We interfaced a MPU6050 across I2C to retrieve accelerometer and gyro data. Lastly, we used the DMP (Digital Motion Processor) to create reliable data.
The program begins in a finite state machine. It only progresses further down a branch as long as a chain of gestures is recognized as a computer short cut. If at any time, the user has performed a gesture that is either not similar to one of the recorded gestures or, has not been declared apart of a sequence, the state is reset to the beginning and no action occurs. However, if the user has performed a series of gestures that is programed for a specific short cut, the connected computer will run such program.
To recognize different gestures, we sample one second of gyroscope and accelerometer data. We then perform a dot matrix algorithm to see if this current second of data was similar to one of the recorded gestures that was recorded. As described earlier, the finite state machine will proceed based on gesture recognition.
Challenges I ran into
Getting the development environment to compile code. Initializing the MPU6050 and the DMP. Changing the BLE characteristics based on finite state machine changes.
Accomplishments that I'm proud of
We were able to create a BLE device that could be served as a wireless keyboard. We began to understand the problems of gyroscopic and accelerometer data.
What I learned
We learned the difficulties in dealing with raw accelerometer and gyroscopic data and experienced challenges in using our given data in the best possible manner (that is, finding the best way to "clean up" our data without invariably changing it).
What's next for band
A number of macro scripts were written on the PC end of the system that can be enabled to respond to stored gestures (which is the only component we were unable to actuate).
Log in or sign up for Devpost to join the conversation.