Project
Embedded systems · gesture interface
KinetiKey: a gesture combination lock
- Adafruit
- Arduino
- Accelerometer
- Gesture recognition
The Embedded Challenge brief was to build a lock from a single accelerometer: a combination lock where the combination is motion instead of numbers, on one constrained microcontroller. KinetiKey is our answer, a three-gesture lock you record once and replay to open.
Record a motion key, then replay it to unlock
Held in a closed fist, you perform three gestures; the board saves that key to the microcontroller, and repeating it within tolerance unlocks the resource. It was built by a three-person team with Izma Akbar and Jerry Zhou on an Adafruit Circuit Playground Classic (ATmega32U4) in C++ on Arduino, using only the onboard accelerometer and LEDs.
Can one cheap accelerometer make a lock you can’t fool?
Recording, matching, and hardening the edges
A slide switch toggles Record and Unlock. Record captures the key from the onboard LIS3DH over SPI; Unlock records a fresh attempt and compares it by accumulating per-axis distance against a tolerance, lighting an LED for each correct gesture and signaling a full unlock.
The real work was robustness: handling 12-bit signed accelerometer reads correctly, resetting state cleanly between attempts, and rejecting empty or partial replays so the lock can’t be trivially bypassed. A complete gesture-recognition and authentication loop on a tiny chip. Old lock, new twist.

Recording a gesture
