πŸ₯” PowerPotato: 10KB Air-Gesture Shorts Controller-2k prameters

"Trained in 2 minutes inside Termux on a mobile CPU. Fits on a floppy disk. Controls YouTube Shorts with wrist flicks so you can eat greasy pizza in peace." πŸ•πŸ“±βœ¨


⚑ The Potato Specs

  • πŸͺΆ Model Size: Only ~10 Kilobytes!
  • πŸ₯” Hardware Target: Runs 100% locally on any potato phone, browser, or microcontroller CPU at 60+ FPS.
  • πŸ”‹ Battery Drain: Practically 0% (uses lightweight 3-axis accelerometer data).
  • 🎯 Accuracy: 95%+ with confidence filtering and cooldown debouncing.

πŸ•ΉοΈ Supported Gestures & Actions

πŸ“± Movement 🎯 Mapped Action
Flick Down ⬇️ Next Video / Scroll Down
Flick Up ⬆️ Previous Video / Scroll Up
Wrist Twist πŸ”„ Double-Tap Like (Heart ❀️)
Back Knock ✊ Pause / Play ⏸️
Normal Idle πŸšΆβ€β™‚οΈ Ignored (Zero false alarms!)

🧠 Architecture

A custom, microscopic 1D-CNN (Convolutional Neural Network) trained on 30 resampled timesteps of 3-axis accelerometer data (Ax, Ay, Az).

  • Input shape: [1, 3, 30] (Batch, 3 channels, 30 timesteps)
  • Output shape: [1, 5] (Class probabilities)

πŸ’» Quick Web Inference (JavaScript / ONNX Runtime Web)

import * as ort from 'onnxruntime-web';

// 1. Load the tiny model
const session = await ort.InferenceSession.create('gesture_model.onnx');

// 2. Feed rolling 30-sample accelerometer buffer [1, 3, 30]
const inputTensor = new ort.Tensor('float32', flatFloat32Array90, [1, 3, 30]);
const results = await session.run({ accel_input: inputTensor });

console.log("Prediction output:", results.probabilities.data);
Downloads last month
32
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support